Keycloak으로 SAML 구성

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

다음 절차는 Mattermost에서 Keycloak으로 SAML을 구성하는 단계를 설명합니다.

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

Mattermost SSO용 Keycloak 설정

참고

이 절차는 Keycloak v26.4.0에서 테스트되었습니다. Mattermost를 기본 Realm에 클라이언트로 추가하는 것을 권장합니다.

  1. 관리자 계정으로 Keycloak에 로그인합니다.

  2. Clients(클라이언트)를 선택한 뒤 Create client를 선택합니다. 여기서 지정한 클라이언트 ID는 이후 단계에서 사용합니다.

    • Client type: SAML
    • Client ID: mattermost
  3. Next를 클릭한 뒤 다음 값을 입력합니다.

    • Root URL: http://your-mattermost-url.com
    • Home URL: /login/sso/saml
    • Valid redirect URIs: /login/sso/saml
  4. 클라이언트를 Save합니다.

  5. Settings 탭에서 다음 값을 설정합니다.

    • Enabled: On
    • Name ID format: email
    • Force Name ID format: On

    Keycloak에서 Mattermost 클라이언트를 만들고 Client ID와 Client Protocol을 지정한 뒤 변경 사항을 저장합니다.

    Keycloak에서 Mattermost 클라이언트를 만들고 Client ID와 Client Protocol을 지정한 뒤 변경 사항을 저장합니다.

  6. Signature and Encryption 섹션에서 다음 값을 설정합니다.

    • Sign Documents: Off
    • Sign Assertions: On
    • Signature Algorithm: RSA_SHA256
    • SAML signature key name: NONE
    • Canonicalization Method: EXCLUSIVE
    • Encryption Algorithm: AES_256_GCM
    • Key Transport Algorithm: RSA_OAEP_MGF1P
    • Digest method for RSA-OAEP: SHA1

    Keycloak에서 Mattermost 클라이언트의 Signature and Encryption 설정을 구성합니다.

    참고

    이전 버전의 이 문서에서는 RSA_SHA1을 권장했습니다. 대신 RSA_SHA256을 사용하세요. NIST SP 800-131A는 2013년 12월 31일을 기점으로 디지털 서명 생성에 SHA-1 사용을 금지했습니다. 2019년 3월에 발행된 해당 문서의 개정 2판은 NIST의 프로토콜별 지침이 명시적으로 허용하는 경우에만 SHA-1 서명 생성을 허용합니다. FIPS 모드로 실행되는 Keycloak 서버는 RSA_SHA1로 어설션에 서명하려고 할 때 500 오류를 반환합니다. Mattermost는 RSA_SHA256으로 서명된 어설션을 검증하며, Keycloak은 여기서 선택한 서명 알고리즘에서 서명 다이제스트 방식을 도출합니다.

  7. Keys 탭으로 이동합니다.

    • Client signature required: Off
    • Encrypt Assertions: On
      1. Generate를 클릭합니다
      2. private.key 파일을 내려받습니다.
      3. Confirm을 클릭합니다

      Keycloak의 Keys 탭에서 암호화용 키를 새로 생성합니다.

      주의

      위와 같이 Client signature required는 꺼 둔 상태로 유지하세요. 아래 Mattermost 섹션의 4단계에서 Sign Request를 활성화하면 Mattermost가 인증 요청에 서명하지만, Keycloak은 이 탭에 Mattermost 서비스 공급자 인증서를 서명 키로 가져온 경우에만 그 서명을 검증합니다. 해당 인증서를 가져오지 않은 상태에서 Client signature required를 켜면 Keycloak이 Mattermost의 인증 요청을 거부합니다.

      참고

      Keycloak 서버를 FIPS 모드로 실행하는 경우 PKCS12와 JKS를 사용할 수 없기 때문에 Archive Format 목록에 BCFKS만 표시됩니다. BCFKS 키스토어를 내보낸 뒤 계속하기 전에 PKCS12로 변환하세요.

      keytool -importkeystore -srckeystore keystore.bcfks -srcstoretype BCFKS -providerclass org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider -providerpath /path/to/bc-fips-<version>.jar -destkeystore keystore.p12 -deststoretype PKCS12

      -providerpath는 Bouncy Castle FIPS JAR을 가리키도록 지정합니다. keytool은 원본 및 대상 스토어 비밀번호를 묻습니다. 변환된 keystore.p12는 아래 Mattermost에서 SAML 구성의 4단계에 있는 추출 명령에서 사용할 수 있습니다.

      keytool에는 개인 키만 따로 내보내는 명령이 없으므로, 키만 내보내는 방법을 찾기보다 위와 같이 키스토어 전체를 변환하세요.

      대안으로, 키 쌍을 로컬에서 생성하고 인증서만 Keycloak에 가져오면 키스토어 변환을 아예 하지 않아도 되며 FIPS 서버와 비FIPS 서버 모두에서 동작합니다.

      openssl req -x509 -newkey rsa:2048 -nodes -days 1095 -subj "/CN=mattermost" -keyout mattermost.key -out mattermost.crt

      Mattermost는 암호로 보호된 개인 키를 읽을 수 없으므로 -nodes는 유지하세요. -days는 기본값이 30이므로 명시적으로 지정하세요. -keyout과 -out이 없으면 인증서가 표준 출력으로 나가고 개인 키는 설정에 따라 달라지는 기본 파일 이름으로 저장되므로 두 옵션도 유지하세요.

      이 탭의 암호화 키 섹션에는 mattermost.crt만 가져오고, 아래 4단계에서 두 파일을 모두 업로드한 뒤 openssl pkcs12 추출 명령은 건너뜁니다. 해당 명령이 만들어 낼 파일을 이미 갖고 있기 때문입니다.

      다음으로 Export를 클릭해 다음 값을 설정하고 keystore.p12 파일을 내려받습니다.

      • Archive Format: PKCS12
      • Key Alias: mattermost
      • Key Password: mattermost
      • Store Password: mattermost

      Keycloak의 Keys 탭에서 키를 생성하고 문서에 나온 값으로 내보낸 뒤 Download를 선택합니다.

  8. Client scopes 탭으로 이동합니다.

    먼저 email, first name, last name에 대한 사전 정의 매퍼를 추가합니다.

    1. mattermost-dedicated를 선택합니다
    2. Add predefined mapper를 클릭합니다
    3. X500 email, X500 givenName, X500 surname 속성을 선택합니다.
    4. Add를 클릭합니다.

    다음으로 username과 id에 대한 매퍼를 추가합니다.

    1. Add Mapper → By Configuration → User Property를 선택합니다.
    2. Name을 Username으로 설정합니다.
    3. Property를 username으로 설정합니다(대소문자를 구분하며 반드시 소문자여야 합니다).
    4. SAML Attribute Name을 username으로 설정합니다.
    5. Save를 선택합니다.

    Keycloak의 Mappers 탭에서 프로토콜 매퍼를 만든 뒤 변경 사항을 저장합니다.

    1. 위 단계를 반복하되 사용자 지정 property로 id를 사용해 ID Attribute를 만듭니다.

    Keycloak의 Mappers 탭에서 ID 속성용 프로토콜 매퍼를 만든 뒤 변경 사항을 저장합니다.

참고

Mattermost 내에서 SAML 사용자를 LDAP와 동기화할 계획이라면, 여기서 사용한 ID 값이 Mattermost LDAP ID Attribute와 일치해야 합니다.

작업을 마치면 매퍼가 다음과 같이 보여야 합니다.

프로토콜 매퍼 구성 예시.

  1. Keycloak에서 메타데이터 URL을 가져옵니다.

    1. 사용 중인 Realm에서 Realm Settings를 선택합니다.
    2. General 탭 하단에 SAML 2.0 Identity Provider Metadata 엔드포인트가 보입니다. 마우스 오른쪽 버튼으로 클릭해 이 URL을 복사한 뒤 다음 단계에서 사용할 수 있도록 보관합니다.

    사용 중인 Realm에서 Realm Settings를 선택합니다. General 탭 하단에 SAML 2.0 Identity Provider Metadata 엔드포인트가 표시됩니다. 다음 단계에서 사용할 수 있도록 이 URL을 복사합니다.

Mattermost에서 SAML 구성

  1. Mattermost System Console(시스템 콘솔)에서 Authentication > SAML(인증 > SAML)로 이동합니다.

  2. Identity Provider Metadata URL을 위 단계에서 복사한 값으로 설정한 뒤 Get SAML Metadata from IdP를 선택합니다. 메타데이터를 가져오면 Keycloak 구성과 관련된 필드가 채워집니다.

    가져오기 과정에 문제가 있으면 mattermost.log 파일에서 자세한 정보를 확인할 수 있습니다. 디버그 로깅을 활성화한 뒤 다시 시도하세요.

    Mattermost에서 시스템 콘솔의 Authentication > SAML로 이동해 SAML을 구성합니다. Identity Provider Metadata URL을 이전 단계에서 복사한 값으로 설정합니다. Get SAML Metadata from IdP를 선택하면 Keycloak 구성과 관련된 필드가 채워집니다.

참고
  • Mattermost가 Identity Provider Public Certificate를 제대로 가져오지 못하면, 브라우저에서 메타데이터 URL을 열어 인증서 값을 복사한 뒤 OneLogin의 X.509 포매터 같은 도구로 인증서 형식을 정리해 수동으로 추가할 수 있습니다. 그런 다음 올바르게 포맷된 인증서를 파일로 저장해 Mattermost 시스템 콘솔의 Identity Provider Public Certificate 필드에 업로드하세요.
  • Mattermost가 메타데이터를 가져오지 못하고 연결 오류가 발생하면, 디버그 로깅을 활성화한 뒤 시스템 콘솔의 Environment > Developer(환경 > 개발자)에서 Allowed Untrusted Internal Connections 목록에 Keycloak URL을 추가해야 하는지 확인하고 서버를 재시작하세요. 자세한 내용은 Allowed Untrusted Internal Connections 문서를 참조하세요.
  1. 아래 필드를 설정합니다.

    • Verify Signature: false
    • Service Provider Login URL: http://your-mattermost-url.com/login/sso/saml
    • Service Provider Identifier: mattermost

    Service Provider Identifier는 Keycloak 두 번째 단계에서 구성한 Client ID와 일치합니다.

    시스템 콘솔에서 문서에 나온 대로 SAML을 구성합니다. Service Provider Identifier는 Keycloak에 구성한 Client ID와 일치합니다.

  2. Keycloak 구성의 6단계에서 내려받은 키를 사용해 암호화를 구성합니다.

    1. .p12 파일에서 .crt 파일을 생성합니다.

      openssl pkcs12 -password pass:mattermost -in keystore.p12 -out mattermost.crt -nodes -legacy
    2. .p12 파일에서 .key 파일을 생성합니다.

      openssl pkcs12 -password pass:mattermost -in keystore.p12 -out mattermost.key -nodes -nocerts -legacy
    3. 이 두 파일을 Mattermost 시스템 콘솔에서 업로드합니다. 반드시 Upload를 선택하세요.

      • Service Provider Private Key(서비스 공급자 개인 키): mattermost.key
      • Service Provider Private Certificate(서비스 공급자 개인 인증서): mattermost.crt
      • Sign Request: true
      • Signature Algorithm: RSAwithSHA256
      • Canonicalization Algorithm: Exclusive XML Canonicalization 1.0 (omits comments)

      시스템 콘솔에서 Service Provider Private Key와 Service Provider Private Certificate를 모두 업로드합니다.

  3. Mattermost의 사용자 정보를 업데이트하는 데 사용할 SAML 어설션 속성을 설정합니다.

    아래 속성은 위 7·8단계에서 설정한 값입니다. 이 값들은 Keycloak의 SAML Attribute Name이어야 합니다. 자세한 내용은 SAML 구성 설정 문서를 참조하세요.

    • Email Attribute: email
    • Username Attribute: username
    • Id Attribute: id

    Mattermost의 사용자 정보를 업데이트하는 SAML 어설션 속성을 설정합니다.

  4. Save를 선택합니다.

SAML이 정상 동작하는지 확인하려면 Mattermost에서 로그아웃하거나 새 시크릿 브라우저 창에서 Mattermost를 연 뒤, 로그인 페이지에서 Sign in with SAML을 선택하고 기존 Keycloak 계정으로 로그인합니다.

SAML 로그인으로 마이그레이션할 기존 사용자가 Mattermost에 있다면 사용자 마이그레이션 계획을 세우고 그에 맞게 사용자 정보를 업데이트하세요.

config.json을 편집해 Keycloak용 SAML을 구성할 수도 있습니다. Mattermost 서버를 시작하기 전에 SAML 구성 설정에 따라 SAML을 활성화하도록 config.json을 편집하세요. 변경 사항을 적용하려면 Mattermost 서버를 재시작해야 합니다.

Keycloak에서 SAML 사용자를 게스트로 구성

  1. Mattermost에서 System Console > Authentication > SAML로 이동합니다.

  2. 어떤 SAML 사용자를 게스트로 지정할지 결정하는 Guest Attribute를 설정합니다.

    Mattermost에서 SAML 게스트 속성을 구성하는 화면

  3. Keycloak 관리 인터페이스에서 게스트용 사용자 속성 매퍼를 추가합니다.

    1. 왼쪽 메뉴에서 Clients를 선택합니다.
    2. 목록에서 mattermost를 선택합니다.
      • Client Scopes 탭을 선택합니다
      • 스코프 목록에서 mattermost dedicated를 선택합니다
      • Add mapper 드롭다운을 클릭하고 By configuration을 선택합니다
      • 열린 모달에서 User Attribute를 선택합니다
      • 그림과 같이 Name, User Attribute, SAML Attribute Name 값을 추가합니다

      속성 매퍼 추가

  4. Keycloak에서 User details 아래에 속성을 추가해 어떤 사용자가 게스트인지 지정합니다.

    1. 왼쪽 메뉴에서 Users를 선택합니다.
    2. 원하는 사용자의 사용자 이름을 선택합니다.
    3. Attribute 탭을 선택한 뒤 + add an attribute를 선택합니다.
    4. 키와 값을 추가합니다.

    사용자에게 속성을 추가하는 예시.

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 에서 확인하세요.