GitLab Single Sign-On
Enterprise, Professional 플랜에서 사용 가능
self-hosted 배포판
GitLab을 단일 사인온(SSO) 서비스로 구성하는 방법
팀 생성, 계정 생성 및 사용자 로그인을 위해 Mattermost를 GitLab의 단일 사인온(SSO) 서비스로 구성하는 단계는 다음과 같습니다.
Important
공식적으로 지원되는 것은 기본 GitLab SSO 뿐입니다.
GitLab SSO를 다른 SSO 솔루션에 연결하는 “더블 SSO”는 지원되지 않습니다. 이 경우 GitLab SSO를 AD, LDAP, SAML 또는 MFA 애드온과 연결하는 것이 가능할 수는 있지만 특별한 로직이 필요하기 때문에 공식적으로 지원되지 않으며, 일부 경우에는 작동하지 않는 것으로 알려져 있습니다.
Mattermost Free (셀프 호스팅만 해당) 은 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
을 사용합니다.새 애플리케이션을 추가합니다:
이름 필드에
Mattermost
를 입력합니다.리디렉션 URI 필드에서, *{mattermost-site-name}*에 대한 사용자 지정 값을 사용하여 다음 두 줄을 추가합니다.
https://{mattermost-site-name}/login/gitlab/complete https://{mattermost-site-name}/signup/gitlab/completeGitLab 인스턴스가 SSL을 사용하지 않도록 설정된 경우 URI는
https://
대신http://
으로 시작해야 합니다.
스코프를 선택합니다.
Mattermost 팀 에디션의 경우,
read_user
를 선택합니다.Mattermost 엔터프라이즈의 경우,
openid
,profile
, 및
단계 2: GitLab SSO를 위해 Mattermost 구성
Mattermost에 로그인한 후, 시스템 콘솔 > 확인 > OpenID Connect 로 이동합니다.
GitLab 을 서비스 제공자로 선택합니다.
GitLab 인스턴스의 GitLab 사이트 URL 을 입력합니다. GitLab 인스턴스가 SSL을 사용하지 않도록 설정된 경우, URL은
https://
대신http://
로 시작해야 합니다. GitLab 자체를 제공자로 사용하는 경우gitlab.com
을 사용합니다.GitLab과의 OpenID Connect용 디스커버리 엔드포인트 는
https://gitlab.com/.well-known/openid-configuration
로 미리 채워져 있습니다.GitLab에서의 Application ID 를 Mattermost의 클라이언트 ID 로 붙여 넣습니다.
GitLab에서의 Application Secret Key 를 Mattermost의 클라이언트 시크릿 으로 붙여 넣습니다.
config.json
파일을 열고 GitLab에서 선택한 스코프를GitLabSettings
속성 아래에 지정합니다. 적어도,openid
는 Mattermost Professional 및 Enterprise에 대해 필수적인 스코프이고, Mattermost Team Edition에 대해선read_user
가 필수적인 스코프입니다. 이 설정을 변경한 경우, 적용되기 전에 서버를 재시작해야 합니다.저장 을 선택합니다.
Note
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를 사용하는 것을 권장합니다. 일부 OpenID 제공자는 Keycloak과 같이 SAML을 대신 사용할 수 있습니다.