GitLab 싱글 사인온

Mattermost v11.11번역일: 2026-09-02원본 보기

GitLab을 싱글 사인온(SSO) 서비스로 설정하기

다음 절차에 따라 Mattermost가 GitLab을 팀 생성, 계정 생성, 사용자 로그인을 위한 싱글 사인온(SSO) 서비스로 사용하도록 설정합니다.

중요
  • 기본 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 애플리케이션 추가

  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://로 시작해야 합니다.

    3. 스코프를 선택합니다.
      • Mattermost Team Edition에서는 read_user를 선택합니다.
      • Mattermost Enterprise에서는 read_user, openid, profile, email을 선택합니다.
  3. Save application을 선택합니다.

  4. GitLab 창은 열어 둡니다. Mattermost를 설정할 때 Application Id와 Application Secret Key가 필요합니다.

2단계: GitLab SSO를 위한 Mattermost 설정

  1. Mattermost에 로그인한 뒤 System Console > Authentication > OpenID Connect(시스템 콘솔 > 인증 > OpenID Connect)로 이동합니다.
  2. 서비스 공급자로 GitLab을 선택합니다.
  3. 사용 중인 GitLab 인스턴스의 GitLab Site URL을 입력합니다. GitLab 인스턴스가 SSL을 사용하도록 설정되어 있지 않다면 URL을 https:// 대신 http://로 시작하세요. GitLab 자체를 공급자로 사용한다면 gitlab.com을 사용합니다.
  4. GitLab을 사용하는 OpenID Connect의 Discovery Endpoint는 https://gitlab.com/.well-known/openid-configuration으로 미리 채워져 있습니다.
  5. GitLab의 Application ID를 Mattermost의 Client ID에 붙여 넣습니다.
  6. GitLab의 Application Secret Key를 Mattermost의 Client Secret에 붙여 넣습니다.
  7. config.json 파일을 열어 GitLabSettings 속성 아래에 GitLab에서 선택한 스코프를 지정합니다. 최소한 Mattermost Enterprise와 Professional에서는 openid가, Mattermost Team Edition에서는 read_user가 필수 스코프입니다. Mattermost Team Edition은 read_user 외의 스코프에서는 동작하지 않습니다. 이 설정을 변경하면 적용을 위해 서버를 재시작해야 합니다.
  8. Save를 선택합니다.
참고
  • Mattermost가 사용자 인증에 OpenID Connect 또는 OAuth 2.0을 사용하도록 설정된 경우, 이름, 성, 사용자 이름은 Mattermost API로 변경할 수 없습니다. 이 속성들은 OpenID Connect 또는 OAuth 2.0이 권위 있는 소스여야 합니다.
  • 로드 밸런서 뒤에서 Mattermost를 운영하면서 SSL을 구성한 경우, 로드 밸런서에서 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을 대신 사용할 수 있습니다.