Entra ID로 SAML 구성

Mattermost v11.11번역일: 2026-09-02원본 보기

이 페이지는 Mattermost에서 Microsoft Entra ID로 SAML을 구성하는 방법을 안내합니다.

팁
  • SAML이 아니라 OpenID Connect 인증으로 Entra ID를 구성해야 하나요? 자세한 내용은 Entra ID 싱글 사인온 문서를 참조하세요.
  • Mattermost가 SAML에서 지원하는 암호화 방식은 암호화 옵션 문서를 참조하세요.

시작하기 전에

시작하기 전에 SAML 연결을 암호화하는 데 사용할 암호화 인증서를 생성해야 합니다.

  1. GitHub의 mattermost/docs 저장소에 있는 Bash 스크립트를 사용하거나 다른 적절한 방법을 사용할 수 있습니다. 여러 URL/IP에 사용할 수 있는 자체 서명 x509v3 인증서 생성 방법은 자체 서명 인증서 생성 문서를 참조하세요.
  2. 생성된 두 파일을 저장합니다. 각각 개인 키와 공개 키입니다. 시스템 콘솔에서는 각각 Service Provider Private Key(서비스 공급자 개인 키)와 Service Provider Public Certificate(서비스 공급자 공개 인증서)라고 부릅니다.

사전 요구 사항

  • 해당 사용자 데이터가 들어 있는 Microsoft Entra 테넌트.
  • 테넌트에 대해 확인된 사용자 지정 도메인. 자세한 내용은 Microsoft의 Add your custom domain name to your tenant 문서를 참조하세요.
  • Microsoft Entra ID P1 또는 P2 라이선스.
  • Entra 테넌트에서 최소 Application Administrator 역할을 가진 계정.

Entra ID에서 Mattermost SSO용 엔터프라이즈 앱 설정

  1. 최소 Application Administrator 역할을 가진 계정으로 Microsoft Entra 관리 센터에 로그인합니다.

  2. 왼쪽 탐색 메뉴에서 Entra ID > Enterprise applications(Entra ID > 엔터프라이즈 애플리케이션)를 선택합니다.

  3. + New application을 선택합니다.

  4. + Create your own application을 선택합니다.

  5. What's the name of your app? 필드에 Mattermost를 입력합니다.

  6. What are you looking to do with your application? 아래에서 Integrate any other application you don't find in the gallery (Non-gallery)를 선택합니다.

  7. Create를 선택합니다. Entra가 애플리케이션을 프로비저닝하며, 몇 초가 걸릴 수 있습니다.

  8. Mattermost 엔터프라이즈 애플리케이션 설정에서 Manage > Users and groups(관리 > 사용자 및 그룹)를 선택한 뒤, Mattermost에 접근할 수 있도록 승인된 사용자 또는 그룹을 할당합니다.

    주의

    또는 Manage > Properties를 선택해 Assignment required?를 No로 설정한 뒤 Save를 선택할 수도 있습니다. 이 경우 Entra 테넌트의 모든 사용자에게 Mattermost 접근 권한이 부여되므로, 진행하기 전에 조직의 접근 제어 요구 사항에 부합하는지 검토하세요.

  9. Mattermost 엔터프라이즈 애플리케이션 설정에서 Manage > Single sign-on을 선택한 뒤 Select a single sign-on method에서 SAML을 선택합니다.

  10. Basic SAML Configuration 섹션에서 Edit를 선택한 뒤 아래 필드를 설정하고 Save를 선택합니다.

    • Identifier (Entity ID): https://<your-mattermost-url>
    • Reply URL (Assertion Consumer Service URL): https://<your-mattermost-url>/login/sso/saml
    • Sign on URL: https://<your-mattermost-url>/login
  11. Attributes & Claims 섹션에서 Edit를 선택한 뒤 아래 설명에 따라 필수 클레임과 추가 클레임을 구성합니다.

    Entra 클레임이 Mattermost에 매핑되는 방식

    Entra가 Mattermost에 보내는 SAML 어설션에는 사용자를 설명하는 이름/값 쌍인 클레임 집합이 담깁니다. Mattermost는 System Console > Authentication > SAML 2.0 > Attributes(시스템 콘솔 > 인증 > SAML 2.0 > 속성)에서 구성한 속성 이름을 기준으로 이 클레임을 읽습니다(예: Email Attribute, Username Attribute, First Name Attribute).

    Entra에서 설정한 Claim name은 대응하는 Mattermost 속성 필드에 입력한 값과 한 글자도 다르지 않게 일치해야 합니다. Value(Source attribute라고도 함)는 Entra가 어떤 사용자 속성을 보낼지 지정합니다. 예를 들어 user.mail은 사용자의 이메일 주소를 보냅니다.

    1. 필수 클레임 — Unique User Identifier (Name ID)

      환경에 맞게 Name identifier format과 Source attribute 값을 설정합니다. Name ID는 SAML 어설션의 일부이지만, Mattermost 계정 바인딩은 Id Attribute (SAML) 설정을 구성한 경우 그 설정에 의해, 그렇지 않으면 이메일에 의해 결정됩니다. Mattermost에서 변경되지 않는 사용자 바인딩을 원한다면 Additional claims 아래에 별도의 Id 클레임을 추가하고 그 Value(소스 속성)를 user.objectid처럼 변경되지 않는 Entra 속성으로 설정하세요. 사람이 읽을 수 있는 식별자를 선호하는 경우 user.userprincipalname도 Name ID로 흔히 선택되지만, 이를 ID 매칭에 사용하면 Entra에서 이름이 변경될 때 대응하는 Mattermost 계정이 고아 계정이 될 수 있다는 단점이 있습니다.

    2. 추가 클레임

      기본적으로 Entra는 이 섹션을 http://schemas.xmlsoap.org/ws/2005/05/identity/claims/... 네임스페이스를 사용하는 네 개의 클레임으로 채웁니다. 이 상태로도 동작하지만, Mattermost의 속성 필드와 일치하는 짧고 읽기 쉬운 이름으로 교체하는 것을 권장합니다. 클레임을 편집하려면 해당 클레임을 선택해 Name 필드를 수정하고(Namespace 필드는 비웁니다) 저장합니다.

      중요

      Mattermost는 각 속성을 SAML 어설션에 나타난 그대로의 전체 클레임 이름(네임스페이스 포함)으로 정확히 매칭합니다. 기본적으로 Entra는 내장 클레임을 http://schemas.xmlsoap.org/ws/2005/05/identity/claims/ 네임스페이스 아래로 내보내므로, Claim name 열에 emailaddress로 보이는 클레임이 실제 어설션에서는 http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress로 전송됩니다.

      Mattermost 속성 필드에 짧은 이름만(예: email이나 name) 입력하면 매칭되지 않으며, SAML login was unsuccessful because one of the attributes is incorrect... <attribute> attribute is missing 같은 오류와 함께 로그인이 실패합니다.

      선택할 수 있는 방법은 두 가지입니다.

      • Entra ID에서 각 클레임의 네임스페이스를 비웁니다(아래 표에 나온 방식). 그러면 클레임 이름이 짧은 값(예: email)이 되며, Mattermost에도 같은 짧은 값을 입력합니다. 또는
      • Entra ID의 기본 네임스페이스를 그대로 두고 Mattermost에 정규화된 전체 클레임 이름을 입력합니다(예: http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress).

      로그인이 실패하는 경우, 실제로 전송되는 클레임 이름을 확인하는 가장 확실한 방법은 브라우저에서 SAML 응답을 캡처해 디코딩하고(예: SAML-tracer 브라우저 확장 프로그램 사용) 각 <Attribute> 요소의 Name 속성을 읽는 것입니다.

      다음 클레임 구성은 일반적인 Mattermost 설정을 다룹니다(네임스페이스를 비우는 방식 기준).

      Mattermost 속성 필드Entra 클레임 이름Entra 소스 속성
      Email Attributeemailuser.mail
      Username Attributeusernameuser.mailnickname
      First Name Attributefirstnameuser.givenname
      Last Name Attributelastnameuser.surname
      Position Attributepositionuser.jobtitle
      참고

      username 클레임의 소스로는 user.userprincipalname이 아니라 user.mailnickname을 사용하세요. user principal name은 일반적으로 이메일 주소 형식(user@domain.com)이지만 Mattermost 사용자 이름에는 @ 문자를 사용할 수 없으므로, user.userprincipalname을 사용하면 SAML 로그인이 실패합니다. mail nickname은 이메일 주소의 로컬 부분(@ 앞부분)이므로 유효한 Mattermost 사용자 이름으로 깔끔하게 매핑됩니다.

      조직에서 mailnickname을 일관되게 채우지 않는다면, 사용자 지정 Entra 속성을 사용하거나 UPN에서 도메인을 제거하는 변환을 적용하는 것도 방법입니다.

      편집을 마치면 Attributes & Claims 페이지가 아래 스크린샷과 비슷하게 보여야 합니다.

      간결한 클레임 이름이 표시된 Entra Attributes & Claims 페이지

      Guest, Admin, Nickname, Preferred Language 속성도 Entra에서 값을 공급하려면 Mattermost에서 구성할 수 있습니다. 동일한 방식으로 Entra에서 짧은 클레임 이름을 정하고 소스 속성을 설정한 뒤, 대응하는 Mattermost 속성 필드에 같은 클레임 이름을 입력하면 됩니다.

  12. SAML Certificates 섹션에서 Edit를 선택합니다. Signing Option으로 Sign SAML response and assertion을, Signing Algorithm으로 SHA-256을 선택한 뒤 Save를 선택합니다.

  13. SAML Certificates 섹션에서 Certificate (Base64) 다운로드 링크를 선택합니다. 이 파일이 Mattermost에 업로드할 Identity Provider Public Certificate입니다.

  14. Mattermost 엔터프라이즈 애플리케이션 설정에서 Security > Token encryption(보안 > 토큰 암호화)을 선택합니다. Import Certificate를 선택해 Service Provider 인증서를 가져옵니다. 시작하기 전에 섹션에서 언급한 Bash 스크립트를 사용했다면 이 파일은 mattermost-x509.crt입니다. 가져오기 대화 상자에는 확장자가 .cer인 인증서를 업로드하라고 표시되지만 .crt 파일도 허용됩니다. 파일을 업로드한 뒤 Add를 선택합니다.

  15. 가져온 인증서 정보 오른쪽의 ...을 선택하고 Activate token encryption certificate를 선택한 뒤 Yes를 선택해 활성화합니다.

  16. Mattermost SAML 2.0 URL 설정에서 사용할 Tenant ID를 복사합니다.

    참고

    이 설정 과정에서 Entra는 서로 다른 세 개의 GUID를 노출하므로 혼동하기 쉽습니다. Tenant ID는 Entra 디렉터리 전체를 식별하고, Application ID와 Object ID(엔터프라이즈 애플리케이션의 Properties 페이지에서 확인 가능)는 그 디렉터리 안의 Mattermost SAML 애플리케이션을 식별합니다. Mattermost는 Tenant ID와 Application ID를 사용하며 Object ID는 사용하지 않습니다.

    Tenant ID를 찾으려면 관리 센터 홈에서 Entra ID를 선택한 뒤 Overview 페이지의 Basic information 패널에서 Tenant ID 값을 확인합니다.

    Tenant ID를 확인할 수 있는 위치

  17. Mattermost SAML 2.0 설정의 Identity Provider Metadata URL에서 사용할 Application ID를 복사합니다.

    Application ID를 찾으려면 왼쪽 탐색 메뉴에서 Entra ID > Enterprise applications를 선택하고 Mattermost 애플리케이션을 선택한 뒤 Properties 페이지에서 Application ID를 복사합니다(사용하지 않는 Object ID와 함께 표시됩니다).

Mattermost에서 SAML 사인온 구성

  1. Mattermost System Console(시스템 콘솔)에서 Authentication > SAML 2.0을 선택합니다.
  2. Enable Login With SAML 2.0을 True로 설정합니다.
  3. Identity Provider Metadata URL을 다음과 같이 설정합니다. https://login.microsoftonline.com/<your-tenant-id>/federationmetadata/2007-06/federationmetadata.xml?appid=<your-app-id>
  4. Get SAML Metadata From IdP를 선택해 SAML 메타데이터를 정상적으로 가져올 수 있는지 확인합니다.
  5. SAML SSO URL을 다음과 같이 설정합니다. https://login.microsoftonline.com/<your-tenant-id>/saml2
  6. Identity Provider Issuer URL을 다음과 같이 설정합니다(마지막 슬래시는 필수입니다). https://sts.windows.net/<your-tenant-id>/
  7. Entra ID에서 Mattermost SSO용 엔터프라이즈 앱 설정의 13단계에서 받은 Identity Provider Public Certificate 파일을 선택해 업로드합니다.
  8. Verify Signature를 True로 설정합니다.
  9. Service Provider Login URL을 다음과 같이 설정합니다. https://<your-mattermost-url>/login/sso/saml
  10. Service Provider Identifier를 다음과 같이 설정합니다. https://<your-mattermost-url>
  11. Enable Encryption을 True로 설정합니다.
  12. Service Provider Private Key 파일을 선택해 업로드합니다. 시작하기 전에 섹션에서 언급한 Bash 스크립트를 사용했다면 이 파일은 mattermost-x509.key입니다.
  13. Service Provider Public Certificate를 선택해 업로드합니다. 시작하기 전에 섹션에서 언급한 Bash 스크립트를 사용했다면 이 파일은 mattermost-x509.crt입니다.
  14. Mattermost가 Entra ID로 보내는 아웃바운드 AuthnRequest에 서명하도록 하려면 Sign Request를 True로 설정합니다. 이는 Entra가 자신의 SAML 응답과 어설션에 서명하는 것(Entra 설정의 12단계에서 구성)과는 다른 항목입니다. 이 옵션을 활성화하면 Signature Algorithm을 RSAwithSHA256으로 설정하고(Entra ID는 서명된 요청에 RSA-SHA256을 요구합니다), 요청 검증을 위해 Mattermost의 공개 인증서를 Entra ID에 업로드해야 합니다. 엔터프라이즈 애플리케이션에서 SAML Certificates를 선택한 뒤 Verification certificates 아래에 mattermost-x509.crt 파일을 업로드합니다.
참고

Microsoft Entra ID의 Test single sign-on with Mattermost SAML 도구는 Mattermost에서 Sign Request가 True로 설정되어 있어도 요청에 서명하지 않습니다. 보안 설정과 키 길이에 따라, Entra ID 테스트 도구로는 로그인이 성공하더라도 실제 Mattermost 로그인 페이지에서 보낸 로그인 요청은 AADSTS90015: Requested query string is too long. 오류가 발생할 수 있습니다. Entra ID가 최초 요청을 HTTP POST가 아닌 HTTP GET 리디렉션으로 처리하기 때문입니다.

  1. Entra ID에서 Mattermost SSO용 엔터프라이즈 앱 설정 섹션의 11단계에서 구성한 속성과 일치하도록 속성 설정을 지정합니다. 각 값은 어설션으로 전송되는 전체 클레임 이름(네임스페이스 포함)과 정확히 일치해야 합니다. 자세한 내용과 흔한 실패 사례는 11단계의 중요 안내를 참조하세요.
  2. Login Button Text를 환경에 맞게 설정합니다.
  3. Save 버튼을 선택합니다.

AD/LDAP와 SAML 동기화 구성

SAML 로그인 구성에 더해, SAML 계정을 AD/LDAP와 동기화하도록 선택적으로 구성할 수 있습니다. 구성하면 다음과 같이 동작합니다.

  • Mattermost가 AD/LDAP에 관련 계정 정보를 질의하고, 속성(이름, 성, 닉네임) 변경에 따라 SAML 계정을 업데이트합니다.
  • AD/LDAP에서 비활성화된 계정은 Mattermost에서도 비활성화되며, Mattermost가 속성을 동기화하는 시점에 해당 계정의 활성 세션이 취소됩니다.

AD/LDAP와 SAML 동기화를 구성하려면 다음을 수행합니다.

  1. System Console > Authentication > SAML 2.0으로 이동한 뒤 Enable Synchronizing SAML Accounts With AD/LDAP를 true로 설정합니다.
  2. System Console > Authentication > AD/LDAP로 이동해 AD/LDAP 마법사를 연 다음 Connection Settings 섹션으로 이동해 Enable Synchronization with AD/LDAP를 true로 설정합니다.
  3. 동기화 시 게스트 사용자를 제외하려면 System Console > Authentication > SAML 2.0으로 이동해 Ignore Guest Users when Synchronizing with AD/LDAP를 true로 설정합니다.
  4. Mattermost를 AD/LDAP 서버에 연결하려면 구성 설정 문서에 따라 나머지 AD/LDAP 설정을 지정합니다.

    AD/LDAP 로그인을 활성화하지 않으려면 System Console > Authentication > AD/LDAP 마법사로 이동해 Connection Settings 섹션에서 Enable sign-in with AD/LDAP를 false로 설정합니다.

  5. Mattermost가 SAML 사용자 계정을 AD/LDAP와 동기화하는 주기를 지정하려면 System Console > Authentication > AD/LDAP 마법사로 이동해 Sync Performance 섹션에서 Synchronization Interval을 분 단위로 설정합니다. 기본값은 60분입니다. 계정을 비활성화한 직후 즉시 동기화하려면 Sync History 섹션으로 이동해 AD/LDAP Synchronize Now를 선택합니다.
  6. Mattermost가 AD/LDAP 서버에 정상적으로 연결되는지 확인하려면 System Console > Authentication > AD/LDAP 마법사로 이동해 Connection Settings 섹션에서 Test Connection을 선택합니다.

AD/LDAP 동기화를 활성화하면 사용자 속성이 이메일 주소를 기준으로 AD/LDAP와 동기화됩니다. 특정 이메일 주소를 가진 사용자에게 AD/LDAP 계정이 없으면, 다음 AD/LDAP 동기화 시 해당 사용자는 Mattermost에서 비활성화됩니다.

계정을 다시 활성화하려면 다음을 수행합니다.

  1. AD/LDAP 서버에 해당 사용자를 추가합니다.
  2. System Console > Environment > Web Server(시스템 콘솔 > 환경 > 웹 서버)로 이동해 Purge All Caches를 선택하여 Mattermost의 모든 캐시를 비웁니다.
  3. System Console > Authentication > AD/LDAP 마법사로 이동해 Sync History 섹션에서 AD/LDAP Synchronize Now를 선택하여 AD/LDAP 동기화를 실행합니다.
  4. System Console > Environment > Web Server에서 Purge All Caches를 다시 선택해 캐시를 한 번 더 비웁니다. 그러면 Mattermost에서 해당 계정이 다시 활성화됩니다.
참고
  • AD/LDAP에서 사용자가 비활성화되면 다음 동기화 시 Mattermost에서도 비활성화됩니다. 시스템 콘솔 사용자 목록에 "Deactivated"로 표시되고, 모든 세션이 만료되며, Mattermost에 다시 로그인할 수 없습니다.
  • SAML에서 사용자가 비활성화된 경우, AD/LDAP에서 비활성화되기 전까지 세션은 만료되지 않습니다. 다만 Mattermost에 다시 로그인할 수는 없습니다.
  • AD/LDAP와의 SAML 동기화는 인증을 제어하기 위한 것이 아니라 AD/LDAP에서 이름·성 같은 사용자 속성을 가져오기 위한 기능입니다. 특히 사용자 필터로 Mattermost 로그인 가능 여부를 제어할 수 없으며, 이는 SAML 서비스 공급자의 그룹 권한으로 제어해야 합니다.

자세한 내용은 AD/LDAP와의 SAML 동기화에 대한 기술 설명을 참조하세요.

SAML 데이터를 AD/LDAP 데이터로 덮어쓰기

또는 SAML 바인드 데이터를 AD/LDAP 정보로 덮어쓰도록 선택할 수 있습니다. SAML ID 속성으로 사용자를 바인딩하는 방법에 대한 자세한 내용은 이 문서를 참조하세요.

이 처리는 SAML 이메일 주소를 AD/LDAP 이메일 주소 데이터로 덮어쓰며, 구성되어 있는 경우 SAML Id Attribute를 AD/LDAP Id Attribute로 덮어씁니다. 사용자의 이메일 주소가 변경될 때 새 사용자가 생성되지 않도록 하려면 SAML ID Attribute와 함께 이 구성을 사용하는 것을 권장합니다.

이 과정에서 기존 사용자 계정이 비활성화되지 않도록 하려면, 양쪽 시스템에서 데이터를 내보내 ID 데이터를 비교함으로써 SAML ID와 LDAP ID가 일치하는지 확인하세요. Mattermost 내에서 AD/LDAP와 SAML의 ID Attribute를 동일한 데이터를 담은 필드로 매핑하면 ID가 일치하게 됩니다.

  1. System Console > Authentication > SAML 2.0 > Id Attribute로 이동해 SAML Id Attribute를 설정합니다.
  2. System Console > Authentication > SAML 2.0 > Override SAML bind data with AD/LDAP information을 true로 설정합니다.
  3. System Console > Authentication > SAML 2.0 > Enable Synchronizing SAML Accounts With AD/LDAP를 true로 설정합니다.
  4. System Console > Authentication > AD/LDAP 마법사로 이동해 Sync History 섹션에서 AD/LDAP Synchronize Now를 선택하여 AD/LDAP 동기화를 실행합니다.

자주 묻는 질문

SAML에서 지원하는 암호화 옵션은 무엇인가요?

Mattermost가 SAML에서 지원하는 암호화 방식은 암호화 옵션 문서를 참조하세요.

이메일 대신 Id 속성으로 인증을 바인딩하는 방법

이메일 대신 Id 속성을 사용해 사용자를 바인딩할 수 있습니다. 고유하면서 시간이 지나도 변경되지 않는 ID를 선택하는 것을 권장합니다.

Id 속성으로 구성하면 이전 사용자의 정보를 노출하지 않고도 새 사용자에게 동일한 이메일 주소를 재사용할 수 있습니다. 예를 들어 joe.smith@mattermost.com이라는 이메일 주소를 쓰던 직원이 퇴사한 뒤, Joe Smith라는 이름의 새 직원이 같은 이메일을 사용할 수 있습니다. 이 구성은 사용자의 이름이 바뀌어 이메일을 변경해야 하는 경우에도 유용합니다.

이 처리는 이메일 바인딩과의 하위 호환성을 고려해 설계되었습니다. 신규 계정 생성 시, 그리고 구성 이후 로그인하는 계정에 적용되는 과정은 다음과 같습니다.

  • SAML로 인증된 사용자는 Id Attribute가 구성되어 있으면 해당 속성으로, 그렇지 않으면 SAML에서 전달받은 이메일로 SAML 서비스 사용자에 바인딩됩니다.
  • 사용자가 로그인을 시도하고 SAML 서버가 유효한 인증 응답을 반환하면, 서버는 SAML 인증의 "Id" 필드로 사용자를 검색합니다.
  • 해당 ID에 바인딩된 사용자가 이미 존재하면 그 사용자로 로그인합니다.
  • 해당 ID에 바인딩된 사용자가 없으면 이메일을 기준으로 검색합니다.
  • 해당 이메일에 바인딩된 사용자가 존재하면 이메일로 로그인한 뒤 인증 데이터를 이메일 대신 ID로 업데이트합니다.
  • ID나 이메일에 바인딩된 사용자가 존재하지 않으면 SAML 계정에 ID로 바인딩된 새 Mattermost 계정을 생성하고 로그인을 허용합니다.
참고

기존 계정은 서버에 로그인하기 전까지 업데이트되지 않습니다.

로그인이 "one of the attributes is incorrect" / "<attribute> attribute is missing" 오류로 실패하는 이유는 무엇인가요?

로그인이 SAML login was unsuccessful because one of the attributes is incorrect. Please contact your System Administrator. 오류로 실패하고, 서버 로그에 email attribute is missing이나 name attribute is missing 같은 상세 정보가 함께 기록된다면, ID 공급자(IdP)가 보낸 어설션에 Mattermost SAML 속성 설정에 구성한 이름과 정확히 일치하는 속성이 없다는 뜻입니다.

Mattermost는 각 속성을 어설션에 나타난 전체 Name(또는 FriendlyName) 기준으로 한 글자도 다르지 않게 매칭합니다. 오류 메시지에 표시된 속성 이름은 Mattermost에 입력했으나 찾지 못한 값입니다.

이 문제는 IdP가 속성을 네임스페이스 아래로 보내기 때문에 발생하는 경우가 가장 많습니다. 예를 들어 Microsoft Entra ID는 기본적으로 내장 클레임을 http://schemas.xmlsoap.org/ws/2005/05/identity/claims/ 아래로 내보내므로, Entra ID 관리 UI에서 email로 보이는 속성이 실제 어설션에서는 http://schemas.xmlsoap.org/ws/2005/05/identity/claims/email로 전송됩니다. Mattermost에 email만 입력하면 매칭되지 않습니다.

해결 방법은 다음과 같습니다.

  • SAML 응답을 캡처해 디코딩하고(예: SAML-tracer 브라우저 확장 프로그램 사용), <AttributeStatement> 안에 있는 각 <Attribute> 요소의 Name 속성을 확인합니다.
  • 각 Mattermost 속성 필드를 어설션에 나타난 정확한 Name 값(네임스페이스 접두사 포함)으로 설정하거나, Mattermost에서 사용하려는 짧은 이름으로 클레임을 내보내도록 IdP를 다시 구성합니다.

Microsoft ADFS를 통한 SAML을 IWA(Integrated Windows Authentication)와 함께 구성할 수 있나요?

가능합니다. IWA는 브라우저에서 지원되며, iOS와 Android 모바일 앱에는 2019년 2분기(모바일 앱 v1.18 이상)에 지원이 추가되었습니다.

다만 Electron의 제약으로 인해 Mattermost 데스크톱 앱에서는 IWA가 지원되지 않습니다. 우회 방법으로 데스크톱 앱처럼 빠르게 접근할 수 있도록 Mattermost용 브라우저 바탕 화면 바로 가기를 만들 수 있습니다.

SAML로 로그인하는 사용자를 프로비저닝·디프로비저닝할 수 있나요?

가능하지만 AD/LDAP에 의존합니다. 현재 SCIM은 지원하지 않습니다. 자세한 내용은 "사용자를 어떻게 비활성화하나요?"를 참조하세요.

사용자를 다른 인증 방식(예: 이메일)에서 SAML로 마이그레이션하려면 어떻게 하나요?

자세한 내용은 mmctl user migrate-auth 명령 문서를 참조하세요.

SAML은 OAuth 2.0 및 OpenID Connect와 어떻게 다른가요?

OAuth 2.0은 주로 위임된 인가를 목적으로 만들어졌습니다. 애플리케이션이 Google 연락처 목록 같은 리소스에 접근할 수 있도록 인가하는 방식이며, 인증을 다루지는 않습니다.

OpenID Connect는 OAuth 2.0 위에 구축되었으며 인증을 지원하므로 직접적인 SSO가 가능합니다.

SAML은 OpenID Connect와 비슷하지만 일반적으로 엔터프라이즈 환경에서 사용됩니다. OpenID Connect는 소비자 웹사이트와 웹·모바일 앱에서 더 흔히 쓰입니다.

자세한 내용은 https://hackernoon.com/demystifying-oauth-2-0-and-openid-connect-and-saml-12aa4cf9fdba 에서 확인하세요.