GitLab 싱글 사인온
Mattermost v12.0요약
Mattermost에서 팀 생성, 계정 생성 및 사용자 로그인을 위한 SSO(Single Sign-on) 서비스로 GitLab을 사용하도록 구성하려면 다음 단계를 따르세요. - 기본 GitLab SSO만 공식적으로 지원됩니다.
사용 가능 플랜: Entry, Professional, Enterprise, Enterprise Advanced
GitLab을 Single Sign-On(SSO) 서비스로 구성하기#
Mattermost에서 팀 생성, 계정 생성 및 사용자 로그인을 위한 SSO(Single Sign-on) 서비스로 GitLab을 사용하도록 구성하려면 다음 단계를 따르세요.
- 기본 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을 사용하세요. - 새 애플리케이션을 추가합니다:
이름(Name) 필드에
Mattermost를 입력합니다.리다이렉트 URI(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의 경우
read_user,openid,profile,
- 애플리케이션 저장(Save application)을 선택합니다.
- GitLab 창을 열어 두세요. Mattermost를 구성할 때 Application Id와 Application Secret Key가 필요합니다.
2단계: GitLab SSO를 위한 Mattermost 구성#
- Mattermost에 로그인한 후 System Console > Authentication > 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파일을 업데이트하고GitLabSettings속성에서 GitLab에서 선택한 범위를 지정합니다. 최소한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이 이러한 사용자 속성의 권한 있는 소스여야 합니다.
- SSL이 구성된 로드 밸런서 뒤에서 Mattermost를 사용하는 경우 로드 밸런서에서
X-Forwarded-Proto헤더를 https로 설정해야 할 수 있습니다.
(선택 사항) 3단계: 사용자가 SSO로만 가입하도록 강제#
모든 사용자가 SSO로만 가입하도록 강제하려면 System Console > Authentication > Email > Enable sign-in with email을 false로 설정합니다. 사용자는 GitLab으로 Mattermost에 로그인하기 전에 로그인 방법을 변경해야 합니다.
자주 묻는 질문#
OpenID에서 LDAP 속성이나 그룹을 사용하는 방법은?#
현재 LDAP 데이터는 OpenID와 호환되지 않습니다. 현재 LDAP를 사용하여 사용자의 팀, 채널, 그룹 또는 속성을 관리하는 경우 OpenID로 로그인한 사용자에게는 자동으로 이를 적용할 수 없습니다. 각 사용자에게 LDAP를 동기화해야 하는 경우 로그인 제공자로 SAML 또는 LDAP를 사용하는 것을 권장합니다. Keycloak과 같은 일부 OpenID 제공자는 대신 SAML을 사용할 수 있습니다.