Google 안전한 LDAP
Google Cloud Identity은 GitLab과 구성할 수 있는 인증 및 그룹 동기화용 안전한 LDAP 서비스를 제공합니다.
안전한 LDAP는 표준 LDAP 서버와 약간 다른 구성이 필요합니다. 아래 단계에서 다룹니다:
- Google 관리자 콘솔에서 안전한 LDAP 클라이언트 구성
- 필요한 GitLab 구성
안전한 LDAP는 특정 Google Workspace 에디션에서만 사용할 수 있습니다. 자세한 정보는 Google 안전한 LDAP 서비스 문서를 참조하세요.
Google LDAP 클라이언트 구성
-
https://admin.google.com/Dashboard에 이동하여 Google Workspace 도메인 관리자로서 로그인합니다.
-
앱 > LDAP > 클라이언트 추가로 이동합니다.
-
LDAP 클라이언트 이름과 선택 사항인 설명을 제공합니다. 모든 설명 값이 허용됩니다. 예를 들어, 이름은
GitLab
이고 설명은GitLab LDAP 클라이언트
가 될 수 있습니다. 계속을 선택합니다. -
액세스 권한을 필요에 따라 설정합니다. 사용자 자격 증명 확인 및 사용자 정보 읽기에 대해 도메인 전체 (GitLab) 또는 선택한 조직 단위 중 하나를 선택해야 합니다. LDAP 클라이언트 추가를 선택합니다.
GitLab LDAP 그룹 동기화를 사용할 계획이라면그룹 정보 읽기
를 활성화합니다. -
생성된 인증서를 다운로드합니다. 이는 GitLab이 Google 안전한 LDAP 서비스와 통신하는 데 필요합니다. 다운로드한 인증서를 나중에 사용하도록 저장합니다. 다운로드한 후에 클라이언트 세부 정보 보기를 선택합니다.
-
서비스 상태 섹션을 확장하고 모든 사람을 위해 LDAP 클라이언트를 켭니다. 저장을 선택한 후 다시 세팅으로 돌아가기 위해 서비스 상태 막대를 다시 선택합니다.
-
인증 섹션을 확장하고 새 자격 증명 생성을 선택합니다. 이러한 자격 증명을 나중에 사용할 수 있도록 복사/메모합니다. 닫기를 선택한 후 다시 세팅으로 돌아가기 위해 인증 막대를 다시 선택합니다.
이제 Google 안전한 LDAP 클라이언트 구성이 완료되었습니다. 아래 스크린샷은 최종 설정 예시를 보여줍니다. 이어서 GitLab을 구성하세요.
GitLab 구성
이전에 얻은 액세스 자격 증명 및 인증서를 삽입하여 GitLab 구성을 편집합니다.
이전에 LDAP 클라이언트 구성 중에 얻은 값을 사용하여 수정해야 하는 구성 키는 다음과 같습니다:
-
bind_dn
: 액세스 자격 증명 사용자 이름 -
password
: 액세스 자격 증명 암호 -
cert
: 다운로드한 인증서 번들의.crt
파일 텍스트 -
key
: 다운로드한 인증서 번들의.key
파일 텍스트
Linux 패키지 설치의 경우:
-
/etc/gitlab/gitlab.rb
를 편집합니다:gitlab_rails['ldap_enabled'] = true gitlab_rails['ldap_servers'] = YAML.load <<-EOS # 아래에서 'EOS'로 이 블록을 닫는 것을 기억하세요. main: # 'main'은 이 LDAP 서버의 GitLab '제공자 ID'입니다 label: 'Google 안전한 LDAP' host: 'ldap.google.com' port: 636 uid: 'uid' bind_dn: 'DizzyHorse' password: 'd6V5H8nhMUW9AuDP25abXeLd' encryption: 'simple_tls' verify_certificates: true retry_empty_result_with_codes: [80] base: "DC=example,DC=com" tls_options: cert: | -----BEGIN CERTIFICATE----- ... [생략] ... -----END CERTIFICATE----- key: | -----BEGIN PRIVATE KEY----- ... [생략] ... -----END PRIVATE KEY----- EOS
-
파일을 저장하고 변경 사항이 적용되도록 GitLab을 재구성하세요.
자체 컴파일된 설치의 경우:
-
config/gitlab.yml
을 편집합니다:ldap: enabled: true servers: main: # 'main'는 이 LDAP 서버의 GitLab '제공자 ID'입니다 label: 'Google 안전한 LDAP' base: "DC=example,DC=com" host: 'ldap.google.com' port: 636 uid: 'uid' bind_dn: 'DizzyHorse' password: 'd6V5H8nhMUW9AuDP25abXeLd' encryption: 'simple_tls' verify_certificates: true retry_empty_result_with_codes: [80] tls_options: cert: | -----BEGIN CERTIFICATE----- ... [생략] ... -----END CERTIFICATE----- key: | -----BEGIN PRIVATE KEY----- ... [생략] ... -----END PRIVATE KEY-----
-
파일을 저장하고 변경 사항이 적용되도록 GitLab을 재시작하세요.
암호화된 자격 증명 사용
bind_dn
및 password
를 별도의 암호화된 구성 파일에 저장할 수 있습니다. 일반 LDAP 통합과 동일한 단계로
암호화된 자격 증명 사용할 수 있습니다.