Google Workspace로 GitLab SAML (새 탭에서 열림)

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 접근 권한도 즉시 차단되므로, 보안 사고 방지를 위한 강력한 오프보딩 프로세스를 구축할 수 있습니다.