How to set up GitLab SAML SSO with Google Workspace (새 탭에서 열림)
Google Workspace와 GitLab.com(SaaS)을 SAML SSO로 연동하면 중앙 집중식 사용자 인증과 자동 계정 생성이 가능해져 보안성과 관리 효율성을 크게 높일 수 있습니다. 특히 구글 워크스페이스의 그룹 정보를 GitLab 역할과 동기화함으로써, 복잡한 권한 관리를 자동화하고 구성원의 변경 사항을 실시간으로 접근 제어에 반영할 수 있는 보안 환경을 구축하게 됩니다. ### SSO 연동의 아키텍처와 기대 효과 * **인증 흐름:** 사용자가 GitLab SSO URL로 접속하면 구글 워크스페이스로 리다이렉트되어 인증을 거치며, 성공 시 SAML 응답을 통해 GitLab에 최종 로그인됩니다. * **자동 프로비저닝:** 구글에 계정이 있는 사용자가 처음 로그인할 때 GitLab 계정이 자동으로 생성되어 수동 관리의 번거로움이 사라집니다. * **동적 권한 관리:** 로그인할 때마다 구글 그룹 멤버십 정보를 확인하여 GitLab 내 그룹 권한을 최신 상태로 업데이트합니다. * **중앙 집중식 보안:** 구글 워크스페이스의 보안 정책(2단계 인증 등)을 GitLab 접근에도 동일하게 적용하여 보안 수준을 강화할 수 있습니다. ### GitLab 설정 정보 수집 및 준비 사항 * **설정 위치:** SAML SSO 설정은 반드시 GitLab의 최상위 그룹(Top-level group)에서 수행해야 하며, Premium 또는 Ultimate 티어 구독이 필요합니다. * **필수 URL 정보:** GitLab 설정 페이지(Settings > SAML SSO)에서 ACS URL(Assertion Consumer Service), Identifier(Entity ID), GitLab SSO URL을 미리 복사하여 보관합니다. * **권한 요구사항:** 구글 워크스페이스의 슈퍼 관리자 권한과 GitLab 그룹의 Owner 권한이 필요합니다. ### Google Workspace 커스텀 SAML 앱 구성 * **앱 생성:** 구글 관리 콘솔의 '웹 및 모바일 앱' 메뉴에서 커스텀 SAML 앱을 추가하고 GitLab 로고와 이름을 설정합니다. * **IDP 정보 확보:** 구글 측의 SSO URL을 복사하고 IDP 인증서(.pem)를 다운로드합니다. GitLab 등록을 위해 이 인증서는 향후 SHA-1 지문(Fingerprint) 형식으로 변환해야 합니다. * **서비스 제공업체(SP) 세부 정보:** 앞서 GitLab에서 복사한 ACS URL과 Entity ID를 구글 설정 화면에 정확히 입력합니다. * **앱 활성화:** 설정을 마친 후 '사용자 액세스' 설정에서 전체 조직 또는 특정 조직 단위(OU)에 대해 앱 사용을 활성화해야 합니다. ### 속성 매핑 및 그룹 동기화 핵심 설정 * **사용자 속성 연결:** 사용자의 이메일, 성, 이름을 GitLab 속성(email, first_name, last_name)에 각각 매핑하여 정보가 정확히 전달되도록 합니다. * **그룹 동기화 설정:** 구글 그룹 정보를 GitLab으로 전달하기 위해 앱 속성 이름을 반드시 소문자 `groups`로 지정해야 합니다. 이는 GitLab이 권한 동기화를 위해 인식하는 예약어입니다. * **그룹 선택:** 동기화할 구글 워크스페이스 그룹을 최대 75개까지 선택할 수 있으며, 이를 통해 엔지니어링, 보안팀 등 조직 구조에 맞는 권한 할당이 가능해집니다. 효율적인 사용자 관리를 위해 SSO 연동 후에는 반드시 그룹 동기화 기능을 활성화하여 관리 부하를 줄이는 것을 권장합니다. 특히 퇴사자 발생 시 구글 워크스페이스 계정만 정지하면 GitLab 접근 권한도 즉시 차단되므로, 보안 사고 방지를 위한 강력한 오프보딩 프로세스를 구축할 수 있습니다.