InfoGrab Docs

OneLogin으로 SAML 구성

요약

다음 절차에서는 Mattermost에 OneLogin으로 SAML 2.0을 구성하는 단계를 제공합니다. Mattermost가 SAML을 위해 지원하는 암호화 방법 에 대한 자세한 내용은 암호화 옵션 문서를 참조하세요.

다음 절차에서는 Mattermost에 OneLogin으로 SAML 2.0을 구성하는 단계를 제공합니다.

Mattermost가 SAML을 위해 지원하는 암호화 방법 에 대한 자세한 내용은 암호화 옵션 문서를 참조하세요.

시작하기 전에#

시작하기 전에 SAML 연결 암호화를 위한 암호화 인증서를 생성해야 합니다.

  1. GitHub의 mattermost/docs 저장소에 있는 Bash 스크립트 를 사용하거나 다른 적절한 방법을 사용할 수 있습니다. 여러 URL/IP에서 사용하기 위한 자체 서명 x509v3 인증서 생성에 대한 자세한 내용은 자체 서명 인증서 생성 문서를 참조하세요.
  2. 생성된 두 파일을 저장하세요. 각각 개인 키와 공개 키입니다. System Console에서는 각각 Service Provider Private KeyService Provider Public Certificate 로 불립니다.

Mattermost SSO를 위한 OneLogin 연결 앱 만들기#

  1. SAML 테스트 커넥터 앱을 추가합니다.
  2. a. 관리자로 OneLogin에 로그인합니다.

    b. Apps > Add Apps 로 이동합니다. c. "SAML Test Connector"를 검색한 다음 SAML Test Connector (Advanced) 를 선택합니다. In OneLogin, go to Apps > Add Apps, search for SAML Test Connector, then select the matching result in the list d. Display Name 필드에 애플리케이션 이름을 입력하고 선택적으로 앱 아이콘을 업로드합니다. 브랜딩 가이드라인 페이지에서 다운로드할 수 있는 Mattermost 로고를 아이콘으로 사용할 수 있습니다. Enter a display name for the application in the Display Name field. You can optionally upload an app icon. Ensure the Visible in portal option is enabled, and save your OneLogin changes. e. Visible in portal 옵션이 활성화되어 있는지 확인합니다. f. Save 를 선택합니다.
  3. 앱을 구성합니다.
  4. a. Configuration 탭을 선택하고 다음 값을 입력합니다:

    • RelayState: 빈칸으로 남깁니다
    • Audience: 빈칸으로 남깁니다
    • Recipient: https://<your-mattermost-url>/login/sso/saml 여기서 https://<your-mattermost-url> 은 일반적으로 Mattermost 사이트 URL 과 일치해야 합니다.
    • ACS (Consumer) URL Validator: https:\/\/<your-mattermost-url>\/login\/sso\/saml
    • ACS (Consumer) URL: https://<your-mattermost-url>/login/sso/saml
    In OneLogin, select the Configuration tab to configure the SSO integration with required values. b. System Console에서 암호화를 활성화 하고 Save 를 선택합니다. Info 탭으로 리디렉션됩니다. 거기서 Configuration 탭을 선택하여 SAML Encryption 필드에 접근합니다. c. 이전에 생성한 공개 키를 페이지 하단의 SAML Encryption 필드에 붙여넣습니다. 이 필드는 Mattermost에서 암호화가 활성화된 경우에만 OneLogin에 표시됩니다. In the Mattermost System Console, enable encryption and save your changes. When you return to OneLogin, return to the Configuration tab, access the SAML Encryption field, and paste the generated Public Key into the SAML Encryption field. This field isn't visible in OneLogin until encryption is enabled in Mattermost. Save your OneLogin changes. d. Save 를 선택합니다.
  5. 속성 매개변수를 입력합니다. 다음 속성을 권장합니다:
NameValue
IDUUID
EmailEmail
FirstNameFirst Name
LastNameLast Name
Name ID valueEmail
UsernameUsername
속성 매개변수는 OneLogin과 Mattermost 간의 속성을 매핑합니다. 구성 가능한 속성에 대한 자세한 내용은 SAML 구성 설정 문서 를 참조하세요. Email 속성은 필수입니다. a. Parameters 탭을 선택합니다. b. Add Parameter 를 선택합니다. In OneLogin, select the Parameters tab, then select Add parameter. Map attribute parameters between OneLogin and Mattermost. Email attributes are required. c. Field name 필드에 Email 과 같은 속성 매개변수를 입력합니다. d. Include in SAML assertion 확인란을 선택합니다. e. Save 를 선택합니다. For each field you map in OneLogin, ensure the Include in SAML assertion flag is enabled. f. Edit 를 선택합니다. g. Value 필드에서 속성 매개변수에 해당하는 OneLogin 값을 선택합니다. For each field you map in OneLogin, select the OneLogin value that corresponds to the attribute parameter. h. 위 단계를 반복하여 필요한 다른 속성을 추가합니다. 사용하려는 모든 속성을 추가하면 매개변수 목록이 다음 이미지와 유사하게 표시됩니다: Example of attribute parameters mapped between OneLogin and Mattermost.
  1. SSO 정보를 복사합니다.
  2. a. SSO 탭을 선택합니다.

    b. Issuer URLSAML 2.0 Endpoint (HTTP) 필드의 값을 복사하고 나중에 사용할 수 있도록 저장합니다. In OneLogin, select the SSO tab, copy the Issuer URL and SAML 2.0 Endpoint (HTTP) values to a convenient location. c. X.509 인증서를 보려면 View Details 를 선택합니다. d. 드롭다운에서 X.509 PEM 옵션이 선택되어 있는지 확인합니다. On the SSO tab in OneLogin, select View Details to access the X.509 certificate. Ensure that the X.509 PEM option is selected. Select Download and save the file in a convenient location. e. DOWNLOAD 를 선택하고 나중에 사용할 수 있도록 파일을 저장합니다.
  3. 모든 변경 사항을 저장합니다.

Mattermost에 대한 SAML 로그온 구성#

  1. Mattermost 서버를 시작하고 시스템 관리자로 Mattermost에 로그인합니다. System Console > Authentication > SAML 로 이동합니다.
  2. a. OneLogin Issuer URLIdentity Provider Metadata URL 필드에 입력합니다.

    b. Get SAML Metadata from IdP 를 선택하여 메타데이터를 다운로드합니다.
  3. 서명을 검증하도록 Mattermost를 구성합니다.
  4. a. Verify Signature 필드에서 True 를 선택합니다.

    b. Service Provider Login URLhttps//<your-mattermost-url>/login/sso/saml 을 입력합니다. On the System Console SAML page, enable the Verify Signature option by setting it to true, then enter your specific Service Provider Login URL based on your Mattermost URL
  5. 서비스 제공자 개인 키를 사용하여 SAML 요청에 서명하도록 Mattermost를 구성합니다.
  6. 암호화를 활성화합니다.
  7. a. Enable Encryption 필드에서 True 를 선택합니다.

    b. Service Provider Private Key 필드에서 이전에 생성한 개인 키를 업로드합니다. c. Service Provider Public Certificate 필드에서 이전에 생성한 공개 키를 업로드합니다. On the System Console SAML page, enable encryption, then upload both the private and public generated keys.
  8. Mattermost에서 사용자 정보를 업데이트하는 데 사용되는 SAML 어설션의 속성을 설정합니다.
  9. Email Attribute 필드와 Username Attribute 필드는 필수이며, OneLogin에서 SAML 테스트 커넥터를 구성할 때 입력한 값과 일치해야 합니다.

    On the System Console SAML page, set attributes for the SAML Assertions used to update user information in Mattermost. Both Email Attribute and Username Attribute are required, and should match the values entered when configuring the SAML Test Connector in OneLogin.
  10. (선택 사항) 로그인 버튼 텍스트를 커스터마이징합니다.
  11. Save 를 선택합니다.
  12. (선택 사항) First Name Attribute 및 Last Name Attribute를 구성한 경우 System Console > Site Configuration > Users and Teams 로 이동한 다음 Teammate Name DisplayShow first and last name 으로 설정합니다. 더 나은 사용자 경험을 위해 권장됩니다.

완료되면 SAML SSO가 성공적으로 활성화되었는지 확인하기 위해 Profile > Security > Sign-in Method > Switch to SAML SSO 를 통해 프로필 사진에서 시스템 관리자 계정을 이메일에서 SAML 기반 인증으로 전환한 다음 SAML 자격 증명으로 로그인하여 전환을 완료합니다.

또한 마이그레이션 방식을 설명하는 사용자 공지를 게시하는 것을 권장합니다.

config.json 파일을 편집하여 SAML 구성 설정 을 기반으로 SAML을 활성화하여 OneLogin용 SAML을 구성할 수도 있습니다. 변경 사항이 적용되려면 Mattermost 서버를 재시작해야 합니다.

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/LDAPtrue 로 설정합니다.
  2. System Console > Authentication > AD/LDAP 로 이동하여 AD/LDAP 마법사를 열고 Connection Settings 섹션으로 이동한 다음 Enable Synchronization with AD/LDAPtrue 로 설정합니다.
  3. 동기화 시 게스트 사용자를 무시하려면 System Console > Authentication > SAML 2.0 으로 이동한 다음 Ignore Guest Users when Synchronizing with AD/LDAPtrue 로 설정합니다.
  4. 구성 설정 문서 에 따라 나머지 AD/LDAP 설정을 지정하여 Mattermost를 AD/LDAP 서버와 연결합니다.
  5. AD/LDAP 로그인을 활성화하지 않으려면 System Console > Authentication > AD/LDAP 마법사로 이동하고 Connection Settings 섹션으로 이동한 다음 Enable sign-in with AD/LDAPfalse 로 설정합니다.

  6. Mattermost가 SAML 사용자 계정을 AD/LDAP와 얼마나 자주 동기화하는지 지정하려면 System Console > Authentication > AD/LDAP 마법사로 이동하고 Sync Performance 섹션으로 이동한 다음 Synchronization Interval 을 분 단위로 설정합니다. 기본 설정은 60분입니다. 계정 비활성화 후 즉시 동기화하려면 Sync History 섹션으로 이동하고 AD/LDAP Synchronize Now 를 선택합니다.
  7. Mattermost가 AD/LDAP 서버에 성공적으로 연결할 수 있는지 확인하려면 System Console > Authentication > AD/LDAP 마법사로 이동하고 Connection Settings 섹션으로 이동한 다음 Test Connection 을 선택합니다.
  8. AD/LDAP와의 동기화가 활성화되면 사용자 속성이 이메일 주소를 기반으로 AD/LDAP와 동기화됩니다. 주어진 이메일 주소를 가진 사용자가 AD/LDAP 계정을 가지지 않으면 다음 AD/LDAP 동기화 시 Mattermost에서 비활성화됩니다.

    계정을 다시 활성화하려면:

  9. AD/LDAP 서버에 사용자를 추가합니다.
  10. System Console > Environment > Web Server 로 이동하여 Purge All Caches 를 선택하여 Mattermost의 모든 캐시를 지웁니다.
  11. System Console > Authentication > AD/LDAP 마법사로 이동하여 Sync History 섹션으로 이동한 다음 AD/LDAP Synchronize Now 를 선택하여 AD/LDAP 동기화를 실행합니다.
  12. System Console > Environment > Web Server 로 이동하여 Purge All Caches 를 다시 선택하여 Mattermost의 모든 캐시를 다시 지웁니다. 이렇게 하면 Mattermost에서 계정이 다시 활성화됩니다.
    • 사용자가 AD/LDAP에서 비활성화되면 다음 동기화 시 Mattermost에서 비활성화됩니다. System Console 사용자 목록에 "Deactivated"로 표시되고, 모든 세션이 만료되며 Mattermost에 다시 로그인할 수 없게 됩니다.
    • 사용자가 SAML에서 비활성화되면 AD/LDAP에서 비활성화될 때까지 세션이 만료되지 않습니다. 그러나 Mattermost에 다시 로그인할 수 없습니다.
    • AD/LDAP와의 SAML 동기화는 인증을 제어하는 것이 아니라 이름, 성 등의 사용자 속성을 AD/LDAP에서 가져오도록 설계되었습니다. 특히 사용자 필터는 Mattermost에 로그인할 수 있는 사람을 제어하는 데 사용할 수 없으며, 이는 SAML 서비스 공급자의 그룹 권한으로 제어해야 합니다.

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

AD/LDAP 데이터로 SAML 데이터 재정의#

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

이 프로세스는 구성된 경우 SAML 이메일 주소를 AD/LDAP 이메일 주소 데이터로 재정의하거나 SAML Id 속성을 AD/LDAP Id 속성으로 재정의합니다. 사용자의 이메일 주소가 변경될 때 새 사용자가 생성되지 않도록 SAML ID 속성과 함께 이 구성을 사용하는 것을 권장합니다.

이 프로세스에서 기존 사용자 계정이 비활성화되지 않도록 하려면 두 시스템에서 데이터를 내보내고 ID 데이터를 비교하여 SAML ID가 LDAP ID와 일치하는지 확인하세요. Mattermost 내에서 AD/LDAP와 SAML 모두에 대한 ID 속성을 동일한 데이터를 보유하는 필드에 매핑하면 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 informationtrue 로 설정합니다.
  3. System Console > Authentication > SAML 2.0 > Enable Synchronizing SAML Accounts With AD/LDAPtrue 로 설정합니다.
  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 속성(구성된 경우)을 사용하거나 SAML에서 받은 이메일을 통해 SAML 서비스 사용자에 바인딩됩니다.
  • 사용자가 로그인을 시도하고 SAML 서버가 유효한 인증으로 응답하면 서버는 SAML 인증의 "Id" 필드를 사용하여 사용자를 검색합니다.
  • 해당 ID에 바인딩된 사용자가 이미 존재하면 해당 사용자로 로그인됩니다.
  • 해당 ID에 바인딩된 사용자가 존재하지 않으면 이메일을 기반으로 검색합니다.
  • 이메일에 바인딩된 사용자가 존재하면 이메일로 로그인하고 인증 데이터를 이메일 대신 ID로 업데이트합니다.
  • ID 또는 이메일에 바인딩된 사용자가 존재하지 않으면 ID로 SAML 계정에 바인딩된 새 Mattermost 계정을 생성하고 사용자가 로그인할 수 있도록 합니다.
기존 계정은 서버에 로그인할 때까지 업데이트되지 않습니다.

Microsoft ADFS를 통한 SAML을 통합 Windows 인증(IWA)으로 구성할 수 있나요?#

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

그러나 IWA는 Electron의 제한으로 인해 Mattermost 데스크톱 앱에서는 지원되지 않습니다. 해결 방법으로 데스크톱 앱처럼 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 에서 자세히 알아보세요.

OneLogin으로 SAML 구성

원문 보기
요약

다음 절차에서는 Mattermost에 OneLogin으로 SAML 2.0을 구성하는 단계를 제공합니다. Mattermost가 SAML을 위해 지원하는 암호화 방법 에 대한 자세한 내용은 암호화 옵션 문서를 참조하세요.

다음 절차에서는 Mattermost에 OneLogin으로 SAML 2.0을 구성하는 단계를 제공합니다.

Mattermost가 SAML을 위해 지원하는 암호화 방법 에 대한 자세한 내용은 암호화 옵션 문서를 참조하세요.

시작하기 전에#

시작하기 전에 SAML 연결 암호화를 위한 암호화 인증서를 생성해야 합니다.

  1. GitHub의 mattermost/docs 저장소에 있는 Bash 스크립트 를 사용하거나 다른 적절한 방법을 사용할 수 있습니다. 여러 URL/IP에서 사용하기 위한 자체 서명 x509v3 인증서 생성에 대한 자세한 내용은 자체 서명 인증서 생성 문서를 참조하세요.
  2. 생성된 두 파일을 저장하세요. 각각 개인 키와 공개 키입니다. System Console에서는 각각 Service Provider Private KeyService Provider Public Certificate 로 불립니다.

Mattermost SSO를 위한 OneLogin 연결 앱 만들기#

  1. SAML 테스트 커넥터 앱을 추가합니다.
  2. a. 관리자로 OneLogin에 로그인합니다.

    b. Apps > Add Apps 로 이동합니다. c. "SAML Test Connector"를 검색한 다음 SAML Test Connector (Advanced) 를 선택합니다. In OneLogin, go to Apps > Add Apps, search for SAML Test Connector, then select the matching result in the list d. Display Name 필드에 애플리케이션 이름을 입력하고 선택적으로 앱 아이콘을 업로드합니다. 브랜딩 가이드라인 페이지에서 다운로드할 수 있는 Mattermost 로고를 아이콘으로 사용할 수 있습니다. Enter a display name for the application in the Display Name field. You can optionally upload an app icon. Ensure the Visible in portal option is enabled, and save your OneLogin changes. e. Visible in portal 옵션이 활성화되어 있는지 확인합니다. f. Save 를 선택합니다.
  3. 앱을 구성합니다.
  4. a. Configuration 탭을 선택하고 다음 값을 입력합니다:

    • RelayState: 빈칸으로 남깁니다
    • Audience: 빈칸으로 남깁니다
    • Recipient: https://<your-mattermost-url>/login/sso/saml 여기서 https://<your-mattermost-url> 은 일반적으로 Mattermost 사이트 URL 과 일치해야 합니다.
    • ACS (Consumer) URL Validator: https:\/\/<your-mattermost-url>\/login\/sso\/saml
    • ACS (Consumer) URL: https://<your-mattermost-url>/login/sso/saml
    In OneLogin, select the Configuration tab to configure the SSO integration with required values. b. System Console에서 암호화를 활성화 하고 Save 를 선택합니다. Info 탭으로 리디렉션됩니다. 거기서 Configuration 탭을 선택하여 SAML Encryption 필드에 접근합니다. c. 이전에 생성한 공개 키를 페이지 하단의 SAML Encryption 필드에 붙여넣습니다. 이 필드는 Mattermost에서 암호화가 활성화된 경우에만 OneLogin에 표시됩니다. In the Mattermost System Console, enable encryption and save your changes. When you return to OneLogin, return to the Configuration tab, access the SAML Encryption field, and paste the generated Public Key into the SAML Encryption field. This field isn't visible in OneLogin until encryption is enabled in Mattermost. Save your OneLogin changes. d. Save 를 선택합니다.
  5. 속성 매개변수를 입력합니다. 다음 속성을 권장합니다:
NameValue
IDUUID
EmailEmail
FirstNameFirst Name
LastNameLast Name
Name ID valueEmail
UsernameUsername
속성 매개변수는 OneLogin과 Mattermost 간의 속성을 매핑합니다. 구성 가능한 속성에 대한 자세한 내용은 SAML 구성 설정 문서 를 참조하세요. Email 속성은 필수입니다. a. Parameters 탭을 선택합니다. b. Add Parameter 를 선택합니다. In OneLogin, select the Parameters tab, then select Add parameter. Map attribute parameters between OneLogin and Mattermost. Email attributes are required. c. Field name 필드에 Email 과 같은 속성 매개변수를 입력합니다. d. Include in SAML assertion 확인란을 선택합니다. e. Save 를 선택합니다. For each field you map in OneLogin, ensure the Include in SAML assertion flag is enabled. f. Edit 를 선택합니다. g. Value 필드에서 속성 매개변수에 해당하는 OneLogin 값을 선택합니다. For each field you map in OneLogin, select the OneLogin value that corresponds to the attribute parameter. h. 위 단계를 반복하여 필요한 다른 속성을 추가합니다. 사용하려는 모든 속성을 추가하면 매개변수 목록이 다음 이미지와 유사하게 표시됩니다: Example of attribute parameters mapped between OneLogin and Mattermost.
  1. SSO 정보를 복사합니다.
  2. a. SSO 탭을 선택합니다.

    b. Issuer URLSAML 2.0 Endpoint (HTTP) 필드의 값을 복사하고 나중에 사용할 수 있도록 저장합니다. In OneLogin, select the SSO tab, copy the Issuer URL and SAML 2.0 Endpoint (HTTP) values to a convenient location. c. X.509 인증서를 보려면 View Details 를 선택합니다. d. 드롭다운에서 X.509 PEM 옵션이 선택되어 있는지 확인합니다. On the SSO tab in OneLogin, select View Details to access the X.509 certificate. Ensure that the X.509 PEM option is selected. Select Download and save the file in a convenient location. e. DOWNLOAD 를 선택하고 나중에 사용할 수 있도록 파일을 저장합니다.
  3. 모든 변경 사항을 저장합니다.

Mattermost에 대한 SAML 로그온 구성#

  1. Mattermost 서버를 시작하고 시스템 관리자로 Mattermost에 로그인합니다. System Console > Authentication > SAML 로 이동합니다.
  2. a. OneLogin Issuer URLIdentity Provider Metadata URL 필드에 입력합니다.

    b. Get SAML Metadata from IdP 를 선택하여 메타데이터를 다운로드합니다.
  3. 서명을 검증하도록 Mattermost를 구성합니다.
  4. a. Verify Signature 필드에서 True 를 선택합니다.

    b. Service Provider Login URLhttps//<your-mattermost-url>/login/sso/saml 을 입력합니다. On the System Console SAML page, enable the Verify Signature option by setting it to true, then enter your specific Service Provider Login URL based on your Mattermost URL
  5. 서비스 제공자 개인 키를 사용하여 SAML 요청에 서명하도록 Mattermost를 구성합니다.
  6. 암호화를 활성화합니다.
  7. a. Enable Encryption 필드에서 True 를 선택합니다.

    b. Service Provider Private Key 필드에서 이전에 생성한 개인 키를 업로드합니다. c. Service Provider Public Certificate 필드에서 이전에 생성한 공개 키를 업로드합니다. On the System Console SAML page, enable encryption, then upload both the private and public generated keys.
  8. Mattermost에서 사용자 정보를 업데이트하는 데 사용되는 SAML 어설션의 속성을 설정합니다.
  9. Email Attribute 필드와 Username Attribute 필드는 필수이며, OneLogin에서 SAML 테스트 커넥터를 구성할 때 입력한 값과 일치해야 합니다.

    On the System Console SAML page, set attributes for the SAML Assertions used to update user information in Mattermost. Both Email Attribute and Username Attribute are required, and should match the values entered when configuring the SAML Test Connector in OneLogin.
  10. (선택 사항) 로그인 버튼 텍스트를 커스터마이징합니다.
  11. Save 를 선택합니다.
  12. (선택 사항) First Name Attribute 및 Last Name Attribute를 구성한 경우 System Console > Site Configuration > Users and Teams 로 이동한 다음 Teammate Name DisplayShow first and last name 으로 설정합니다. 더 나은 사용자 경험을 위해 권장됩니다.

완료되면 SAML SSO가 성공적으로 활성화되었는지 확인하기 위해 Profile > Security > Sign-in Method > Switch to SAML SSO 를 통해 프로필 사진에서 시스템 관리자 계정을 이메일에서 SAML 기반 인증으로 전환한 다음 SAML 자격 증명으로 로그인하여 전환을 완료합니다.

또한 마이그레이션 방식을 설명하는 사용자 공지를 게시하는 것을 권장합니다.

config.json 파일을 편집하여 SAML 구성 설정 을 기반으로 SAML을 활성화하여 OneLogin용 SAML을 구성할 수도 있습니다. 변경 사항이 적용되려면 Mattermost 서버를 재시작해야 합니다.

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/LDAPtrue 로 설정합니다.
  2. System Console > Authentication > AD/LDAP 로 이동하여 AD/LDAP 마법사를 열고 Connection Settings 섹션으로 이동한 다음 Enable Synchronization with AD/LDAPtrue 로 설정합니다.
  3. 동기화 시 게스트 사용자를 무시하려면 System Console > Authentication > SAML 2.0 으로 이동한 다음 Ignore Guest Users when Synchronizing with AD/LDAPtrue 로 설정합니다.
  4. 구성 설정 문서 에 따라 나머지 AD/LDAP 설정을 지정하여 Mattermost를 AD/LDAP 서버와 연결합니다.
  5. AD/LDAP 로그인을 활성화하지 않으려면 System Console > Authentication > AD/LDAP 마법사로 이동하고 Connection Settings 섹션으로 이동한 다음 Enable sign-in with AD/LDAPfalse 로 설정합니다.

  6. Mattermost가 SAML 사용자 계정을 AD/LDAP와 얼마나 자주 동기화하는지 지정하려면 System Console > Authentication > AD/LDAP 마법사로 이동하고 Sync Performance 섹션으로 이동한 다음 Synchronization Interval 을 분 단위로 설정합니다. 기본 설정은 60분입니다. 계정 비활성화 후 즉시 동기화하려면 Sync History 섹션으로 이동하고 AD/LDAP Synchronize Now 를 선택합니다.
  7. Mattermost가 AD/LDAP 서버에 성공적으로 연결할 수 있는지 확인하려면 System Console > Authentication > AD/LDAP 마법사로 이동하고 Connection Settings 섹션으로 이동한 다음 Test Connection 을 선택합니다.
  8. AD/LDAP와의 동기화가 활성화되면 사용자 속성이 이메일 주소를 기반으로 AD/LDAP와 동기화됩니다. 주어진 이메일 주소를 가진 사용자가 AD/LDAP 계정을 가지지 않으면 다음 AD/LDAP 동기화 시 Mattermost에서 비활성화됩니다.

    계정을 다시 활성화하려면:

  9. AD/LDAP 서버에 사용자를 추가합니다.
  10. System Console > Environment > Web Server 로 이동하여 Purge All Caches 를 선택하여 Mattermost의 모든 캐시를 지웁니다.
  11. System Console > Authentication > AD/LDAP 마법사로 이동하여 Sync History 섹션으로 이동한 다음 AD/LDAP Synchronize Now 를 선택하여 AD/LDAP 동기화를 실행합니다.
  12. System Console > Environment > Web Server 로 이동하여 Purge All Caches 를 다시 선택하여 Mattermost의 모든 캐시를 다시 지웁니다. 이렇게 하면 Mattermost에서 계정이 다시 활성화됩니다.
    • 사용자가 AD/LDAP에서 비활성화되면 다음 동기화 시 Mattermost에서 비활성화됩니다. System Console 사용자 목록에 "Deactivated"로 표시되고, 모든 세션이 만료되며 Mattermost에 다시 로그인할 수 없게 됩니다.
    • 사용자가 SAML에서 비활성화되면 AD/LDAP에서 비활성화될 때까지 세션이 만료되지 않습니다. 그러나 Mattermost에 다시 로그인할 수 없습니다.
    • AD/LDAP와의 SAML 동기화는 인증을 제어하는 것이 아니라 이름, 성 등의 사용자 속성을 AD/LDAP에서 가져오도록 설계되었습니다. 특히 사용자 필터는 Mattermost에 로그인할 수 있는 사람을 제어하는 데 사용할 수 없으며, 이는 SAML 서비스 공급자의 그룹 권한으로 제어해야 합니다.

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

AD/LDAP 데이터로 SAML 데이터 재정의#

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

이 프로세스는 구성된 경우 SAML 이메일 주소를 AD/LDAP 이메일 주소 데이터로 재정의하거나 SAML Id 속성을 AD/LDAP Id 속성으로 재정의합니다. 사용자의 이메일 주소가 변경될 때 새 사용자가 생성되지 않도록 SAML ID 속성과 함께 이 구성을 사용하는 것을 권장합니다.

이 프로세스에서 기존 사용자 계정이 비활성화되지 않도록 하려면 두 시스템에서 데이터를 내보내고 ID 데이터를 비교하여 SAML ID가 LDAP ID와 일치하는지 확인하세요. Mattermost 내에서 AD/LDAP와 SAML 모두에 대한 ID 속성을 동일한 데이터를 보유하는 필드에 매핑하면 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 informationtrue 로 설정합니다.
  3. System Console > Authentication > SAML 2.0 > Enable Synchronizing SAML Accounts With AD/LDAPtrue 로 설정합니다.
  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 속성(구성된 경우)을 사용하거나 SAML에서 받은 이메일을 통해 SAML 서비스 사용자에 바인딩됩니다.
  • 사용자가 로그인을 시도하고 SAML 서버가 유효한 인증으로 응답하면 서버는 SAML 인증의 "Id" 필드를 사용하여 사용자를 검색합니다.
  • 해당 ID에 바인딩된 사용자가 이미 존재하면 해당 사용자로 로그인됩니다.
  • 해당 ID에 바인딩된 사용자가 존재하지 않으면 이메일을 기반으로 검색합니다.
  • 이메일에 바인딩된 사용자가 존재하면 이메일로 로그인하고 인증 데이터를 이메일 대신 ID로 업데이트합니다.
  • ID 또는 이메일에 바인딩된 사용자가 존재하지 않으면 ID로 SAML 계정에 바인딩된 새 Mattermost 계정을 생성하고 사용자가 로그인할 수 있도록 합니다.
기존 계정은 서버에 로그인할 때까지 업데이트되지 않습니다.

Microsoft ADFS를 통한 SAML을 통합 Windows 인증(IWA)으로 구성할 수 있나요?#

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

그러나 IWA는 Electron의 제한으로 인해 Mattermost 데스크톱 앱에서는 지원되지 않습니다. 해결 방법으로 데스크톱 앱처럼 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 에서 자세히 알아보세요.