GitLab 단일 로그인#

plans-img Enterprise 및 Professional 플랜 에서 사용 가능

deployment-img Cloudself-hosted 배포 지원

GitLab을 단일 로그인(SSO) 서비스로 구성하기#

팀 생성, 계정 생성 및 사용자 로그인을 위해 Mattermost에서 GitLab을 단일 로그인(SSO) 서비스로 사용하도록 구성하는 단계를 따르세요.

중요

  • 기본 GitLab SSO만 공식적으로 지원됩니다.

  • GitLab SSO가 다른 SSO 솔루션과 연결되는 “Double SSO”는 지원되지 않습니다. 일부 경우에 GitLab SSO를 AD, LDAP, SAML 또는 MFA 애드온과 연결할 수 있지만, 특별한 로직이 필요하기 때문에 공식적으로 지원되지 않으며 일부 경우에 작동하지 않는 것으로 알려져 있습니다.

  • Mattermost Free (self-hosted only) 는 OAuth 2.0 표준을 지원합니다.

  • Mattermost ProfessionalMattermost Enterprise 는 OpenID Connect 표준을 지원합니다.

1단계: GitLab 계정에 Mattermost 애플리케이션 추가하기#

  1. GitLab 계정에 로그인한 후 https://{gitlab-site-name}/profile/applications 로 이동하세요. {gitlab-site-name} 에는 GitLab 인스턴스의 이름을 사용하세요. GitLab 자체를 서비스 제공자로 사용하는 경우 gitlab.com 을 사용하세요.

  2. 새 애플리케이션 추가:

  1. Name 필드에 Mattermost 를 입력하세요.

  2. Redirect URI 필드에 {mattermost-site-name} 에 대한 자체 값을 사용하여 다음 두 줄을 추가하세요.

https://{mattermost-site-name}/login/gitlab/complete
https://{mattermost-site-name}/signup/gitlab/complete

GitLab 인스턴스가 SSL을 사용하도록 설정되지 않은 경우 URI는 https:// 대신 http:// 로 시작해야 합니다.

  1. 범위를 선택하세요.

    • Mattermost Team Edition의 경우 read_user 를 선택하세요.

    • Mattermost Enterprise의 경우 openid, profile, email 을 선택하세요.

  1. Save application 을 선택하세요.

  2. GitLab 창을 열어두세요. Mattermost를 구성할 때 Application Id*와 *Application Secret Key 가 필요합니다.

2단계: GitLab SSO용 Mattermost 구성#

  1. Mattermost에 로그인한 후 시스템 콘솔 > 인증 > OpenID Connect 로 이동하세요.

  2. 서비스 제공자로 GitLab 을 선택하세요.

  3. GitLab 인스턴스의 GitLab Site URL 을 입력하세요. GitLab 인스턴스가 SSL을 사용하도록 설정되지 않은 경우 URL을 https:// 대신 http:// 로 시작하세요. GitLab 자체를 제공자로 사용하는 경우 gitlab.com 을 사용하세요.

  4. GitLab과 함께 사용하는 OpenID Connect의 Discovery Endpointhttps://gitlab.com/.well-known/openid-configuration 으로 미리 채워져 있습니다.

  5. GitLab의 Application ID 를 Mattermost의 Client ID 로 붙여넣으세요.

  6. GitLab의 Application Secret Key 를 Mattermost의 Client Secret 으로 붙여넣으세요.

  7. config.json 파일을 업데이트하고 GitLab에서 선택한 범위를 GitLabSettings 속성 아래에 지정하세요. 최소한 openid 는 Mattermost Enterprise와 Professional에 필요한 범위이며, read_user 는 Mattermost Team Edition에 필요한 범위입니다. Mattermost Team Edition은 read_user 외의 범위에서는 작동하지 않습니다. 이 설정을 변경하려면 서버를 재시작해야 적용됩니다.

  8. 저장 을 선택하세요.

참고

  • Mattermost가 사용자 인증을 위해 OpenID Connect 또는 OAuth 2.0을 사용하도록 구성된 경우, 다음 사용자 속성 변경은 Mattermost API를 통해 수행할 수 없습니다: 이름, 성 또는 사용자 이름. OpenID Connect 또는 OAuth 2.0이 이러한 사용자 속성의 권한 있는 소스여야 합니다.

  • 로드 밸런서 뒤에서 Mattermost를 사용하고 SSL이 구성된 경우, 로드 밸런서에서 X-Forwarded-Proto 헤더를 https로 설정해야 할 수 있습니다.

(선택 사항) 3단계: 사용자가 SSO로만 가입하도록 강제하기#

모든 사용자가 SSO로만 가입하도록 강제하려면 시스템 콘솔 > 인증 > 이메일 > 이메일로 로그인 활성화false 로 설정하세요. 사용자는 GitLab으로 Mattermost에 로그인하기 전에 로그인 방법을 변경해야 합니다.

자주 묻는 질문#

OpenID와 함께 LDAP 속성 또는 그룹을 어떻게 사용할 수 있나요?#

현재 LDAP 데이터는 OpenID와 호환되지 않습니다. 현재 LDAP를 사용하여 사용자의 팀, 채널, 그룹 또는 속성을 관리하는 경우, OpenID로 로그인한 사용자에게는 이를 자동으로 수행할 수 없습니다. 각 사용자에게 LDAP 동기화가 필요한 경우, 로그인 제공자로 SAML 또는 LDAP를 사용하는 것을 권장합니다. Keycloak과 같은 일부 OpenID 제공자는 대신 SAML을 사용할 수 있습니다.