GitLab 단일 로그인#
Enterprise 및 Professional 플랜 에서 사용 가능
Cloud 및 self-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 Professional 및 Mattermost Enterprise 는 OpenID Connect 표준을 지원합니다.
1단계: GitLab 계정에 Mattermost 애플리케이션 추가하기#
GitLab 계정에 로그인한 후
https://{gitlab-site-name}/profile/applications로 이동하세요. {gitlab-site-name} 에는 GitLab 인스턴스의 이름을 사용하세요. GitLab 자체를 서비스 제공자로 사용하는 경우gitlab.com을 사용하세요.새 애플리케이션 추가:
Name 필드에
Mattermost를 입력하세요.Redirect URI 필드에 {mattermost-site-name} 에 대한 자체 값을 사용하여 다음 두 줄을 추가하세요.
https://{mattermost-site-name}/login/gitlab/complete https://{mattermost-site-name}/signup/gitlab/completeGitLab 인스턴스가 SSL을 사용하도록 설정되지 않은 경우 URI는
https://대신http://로 시작해야 합니다.
범위를 선택하세요.
Mattermost Team Edition의 경우
read_user를 선택하세요.Mattermost Enterprise의 경우
openid,profile,
Save application 을 선택하세요.
GitLab 창을 열어두세요. Mattermost를 구성할 때 Application Id*와 *Application Secret Key 가 필요합니다.
2단계: GitLab SSO용 Mattermost 구성#
Mattermost에 로그인한 후 시스템 콘솔 > 인증 > OpenID Connect 로 이동하세요.
서비스 제공자로 GitLab 을 선택하세요.
GitLab 인스턴스의 GitLab Site URL 을 입력하세요. GitLab 인스턴스가 SSL을 사용하도록 설정되지 않은 경우 URL을
https://대신http://로 시작하세요. GitLab 자체를 제공자로 사용하는 경우gitlab.com을 사용하세요.GitLab과 함께 사용하는 OpenID Connect의 Discovery Endpoint 는
https://gitlab.com/.well-known/openid-configuration으로 미리 채워져 있습니다.GitLab의 Application ID 를 Mattermost의 Client ID 로 붙여넣으세요.
GitLab의 Application Secret Key 를 Mattermost의 Client Secret 으로 붙여넣으세요.
config.json파일을 업데이트하고 GitLab에서 선택한 범위를GitLabSettings속성 아래에 지정하세요. 최소한openid는 Mattermost Enterprise와 Professional에 필요한 범위이며,read_user는 Mattermost Team Edition에 필요한 범위입니다. Mattermost Team Edition은read_user외의 범위에서는 작동하지 않습니다. 이 설정을 변경하려면 서버를 재시작해야 적용됩니다.저장 을 선택하세요.
참고
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을 사용할 수 있습니다.