티스토리 뷰

기록남기기

GitLab sso (with google workspace)

양들의침묵1 2022. 5. 24. 14:18

GitLab 을 설치한 시스템에 사용자를 구글 워크스페이스 계정과 동일 하게 추가한 후 , 
구글 워크스페이스로 로그인 할 수 있도록 함

 

1. GitLab 옵션 추가

# vim /etc/gitlab/gitlab.rb

## Google Workspace

gitlab_rails['omniauth_enabled'] = true
gitlab_rails['omniauth_allow_single_sign_on'] = ['saml']
gitlab_rails['omniauth_block_auto_created_users'] = false
gitlab_rails['omniauth_auto_link_saml_user'] = true


gitlab_rails['omniauth_providers'] = [
  {
    name: 'saml',
    label: 'Google Workspace', # optional label for SAML log in button, defaults to "Saml"
    args: {
             assertion_consumer_service_url: 'https://git.example.com/users/auth/saml/callback',
             idp_cert_fingerprint: 'B5:53:01:3D:59:04:61:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX',
             idp_sso_target_url: 'https://accounts.google.com/o/saml2/idp?idpid=xxxx',
             issuer: 'https://git.example.com',
             name_identifier_format: 'urn:oasis:names:tc:SAML:2.0:nameid-format:emailAddress',
             attribute_statements: { email: ['emailAddress'] }
           }
  }
]

# gitlab-ctl reconfigure
## /etc/gitlab/gitlab.rb 이 파일을 수정후에는  반드시 gitlab-ctl reconfigure 를 해줘야 적용이 된다.

 

2. Google Workspace 에서 작업

구글 admin 접속  --> 앱 -->  웹및 모바일앱 -> 앱 추가 --> 맞춤 SAML 앱 추가

 

 

 

메타데이터 다운로드를 해보면 

옵션 1: IdP 메타데이터 다운로드하기 와 옵션 2: SSO URL, 엔티티 ID, 인증서 복사하기 를 볼 수 있다

인증서의 아래 내용을 모두 복사한 후 
----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----

https://www.samltool.com/fingerprint.php 이 사이트에서
X.509 cert 에 내용을 복사 , Algorithm 은 sha1 으로 하고 CALCULATE FINGERPRINT 를 클릭하면 
FingerPrint 값을 볼 수 있다.

이 값 기반으로 gitLab.rb 파일에 내용을 넣어주면 된다.

마지막으로 연결되는지 확인해보기 위해서 위의 'SAML 로그인 테스트' 를 클릭해서 확인한다.
클릭하면 구글워크스페이스 계정이 보이고, 해당 계정이 포함된 프로젝트라 메인으로 보여질 것이다.

 

 

 

참고 ) 

Google workspace saml · Integration · Help · GitLab (rai777.net)

 

Google workspace saml · Integration · Help

GitLab Community Edition

rai777.net

 

https://rai777.net/gitlab/help/administration/restart_gitlab.md#omnibus-gitlab-reconfigure

 

'기록남기기' 카테고리의 다른 글

GitLab with Let's Encrypt 설치  (0) 2022.05.24
redmine sso (with google workspace)  (0) 2022.05.18
redmine4 설치  (0) 2022.05.18
YAML 문법 검사 사이트  (0) 2021.11.09
Oracle 19.3 on Rocky linux  (0) 2021.09.04