InfoGrab Docs

GitLab Single Sign-On

요약

Mattermost에서 팀 생성, 계정 생성 및 사용자 로그인을 위한 SSO(Single Sign-on) 서비스로 GitLab을 사용하도록 구성하려면 다음 단계를 따르세요. 기본 GitLab SSO만 공식적으로 지원됩니다.

GitLab을 Single Sign-On(SSO) 서비스로 구성하기#

Mattermost에서 팀 생성, 계정 생성 및 사용자 로그인을 위한 SSO(Single Sign-on) 서비스로 GitLab을 사용하도록 구성하려면 다음 단계를 따르세요.

Important

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

  • GitLab SSO를 다른 SSO 솔루션에 연결하는 "이중 SSO"는 지원되지 않습니다. 경우에 따라 GitLab SSO를 AD, LDAP, SAML 또는 MFA 추가 기능과 연결할 수 있지만 특별한 로직이 필요하므로 공식적으로 지원되지 않으며 일부 경우에 작동하지 않는 것으로 알려져 있습니다.
  • Mattermost Free (자체 호스팅 전용) 는 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. 새 애플리케이션을 추가합니다:
    3. a. Name 필드에 Mattermost 를 입력합니다.

      b. Redirect URI 필드에 {mattermost-site-name} 에 대한 고유 값을 사용하여 다음 두 줄을 추가합니다.
      https://{mattermost-site-name}/login/gitlab/complete
          https://{mattermost-site-name}/signup/gitlab/complete
      
       GitLab 인스턴스가 SSL을 사용하도록 설정되어 있지 않은 경우 URI는 ``https://`` 대신 ``http://`` 로 시작해야 합니다.
      
      c. 범위를 선택합니다.
      
         - Mattermost Team Edition의 경우 ``read_user`` 를 선택합니다.
         - Mattermost Enterprise의 경우 ``read_user``, ``openid``, ``profile``, ``email`` 을 선택합니다.
    4. Save application 을 선택합니다.
    5. GitLab 창을 열어 두세요. Mattermost를 구성할 때 Application IdApplication Secret Key 가 필요합니다.

    2단계: GitLab SSO를 위한 Mattermost 구성#

    1. Mattermost에 로그인한 후 System Console > Authentication > 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 파일을 업데이트하고 GitLabSettings 속성에서 GitLab에서 선택한 범위를 지정합니다. 최소한 openid 는 Mattermost Enterprise 및 Professional에서 필수 범위이며 read_user 는 Mattermost Team Edition에서 필수 범위입니다. Mattermost Team Edition은 read_user 이외의 범위와 함께 작동하지 않습니다. 이 설정을 변경하려면 적용 전 서버 재시작이 필요합니다.
    8. Save 를 선택합니다.
    Note
      • 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 emailfalse 로 설정합니다.

    사용자는 GitLab으로 Mattermost에 로그인하기 전에 로그인 방법을 변경해야 합니다.

    자주 묻는 질문#

    OpenID에서 LDAP 속성이나 그룹을 사용하는 방법은?#

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

    GitLab Single Sign-On

    원문 보기
    요약

    Mattermost에서 팀 생성, 계정 생성 및 사용자 로그인을 위한 SSO(Single Sign-on) 서비스로 GitLab을 사용하도록 구성하려면 다음 단계를 따르세요. 기본 GitLab SSO만 공식적으로 지원됩니다.

    GitLab을 Single Sign-On(SSO) 서비스로 구성하기#

    Mattermost에서 팀 생성, 계정 생성 및 사용자 로그인을 위한 SSO(Single Sign-on) 서비스로 GitLab을 사용하도록 구성하려면 다음 단계를 따르세요.

    Important

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

  • GitLab SSO를 다른 SSO 솔루션에 연결하는 "이중 SSO"는 지원되지 않습니다. 경우에 따라 GitLab SSO를 AD, LDAP, SAML 또는 MFA 추가 기능과 연결할 수 있지만 특별한 로직이 필요하므로 공식적으로 지원되지 않으며 일부 경우에 작동하지 않는 것으로 알려져 있습니다.
  • Mattermost Free (자체 호스팅 전용) 는 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. 새 애플리케이션을 추가합니다:
    3. a. Name 필드에 Mattermost 를 입력합니다.

      b. Redirect URI 필드에 {mattermost-site-name} 에 대한 고유 값을 사용하여 다음 두 줄을 추가합니다.
      https://{mattermost-site-name}/login/gitlab/complete
          https://{mattermost-site-name}/signup/gitlab/complete
      
       GitLab 인스턴스가 SSL을 사용하도록 설정되어 있지 않은 경우 URI는 ``https://`` 대신 ``http://`` 로 시작해야 합니다.
      
      c. 범위를 선택합니다.
      
         - Mattermost Team Edition의 경우 ``read_user`` 를 선택합니다.
         - Mattermost Enterprise의 경우 ``read_user``, ``openid``, ``profile``, ``email`` 을 선택합니다.
    4. Save application 을 선택합니다.
    5. GitLab 창을 열어 두세요. Mattermost를 구성할 때 Application IdApplication Secret Key 가 필요합니다.

    2단계: GitLab SSO를 위한 Mattermost 구성#

    1. Mattermost에 로그인한 후 System Console > Authentication > 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 파일을 업데이트하고 GitLabSettings 속성에서 GitLab에서 선택한 범위를 지정합니다. 최소한 openid 는 Mattermost Enterprise 및 Professional에서 필수 범위이며 read_user 는 Mattermost Team Edition에서 필수 범위입니다. Mattermost Team Edition은 read_user 이외의 범위와 함께 작동하지 않습니다. 이 설정을 변경하려면 적용 전 서버 재시작이 필요합니다.
    8. Save 를 선택합니다.
    Note
      • 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 emailfalse 로 설정합니다.

    사용자는 GitLab으로 Mattermost에 로그인하기 전에 로그인 방법을 변경해야 합니다.

    자주 묻는 질문#

    OpenID에서 LDAP 속성이나 그룹을 사용하는 방법은?#

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