GitLab과 Kerberos 통합
GitLab과 Kerberos 통합에 대해 설명합니다.
GitLab은 인증 메커니즘으로 Kerberos 와 통합할 수 있습니다. GitLab을 구성하여 사용자가 Kerberos 자격 증명으로 로그인할 수 있도록 합니다. Kerberos를 사용하여 전송된 비밀번호가 가로채이거나 엿보이는 것을 방지 할 수 있습니다. Kerberos는 GitLab Enterprise Edition(EE)을 사용하는 인스턴스에서만 사용 가능합니다. GitLab Community Edition(CE)을 실행 중인 경우 GitLab CE에서 GitLab EE로 전환 할 수 있습니다. Warning GitLab CI/CD는 통합이 전용 포트를 사용하도록 설정 되지 않는 한 Kerberos가 활성화된 GitLab 인스턴스에서 작동하지 않습니다. 구성 # GitLab이 Kerberos 토큰 기반 인증을 제공하려면 다음 사전 요구사항을 수행하세요. 여전히 영역 지정 등 Kerberos 사용을 위한 시스템을 구성해야 합니다. GitLab은 시스템의 Kerberos 설정을 사용합니다. GitLab 키탭 # GitLab 서버의 HTTP 서비스에 대한 Kerberos 서비스 프린시팔을 생성합니다. GitLab 서버가 gitlab.example.com 이고 Kerberos 영역이 EXAMPLE.COM 인 경우, Kerberos 데이터베이스에 서비스 프린시팔 HTTP/gitlab.example.com@EXAMPLE.COM 을 생성합니다. 서비스 프린시팔에 대해 GitLab 서버에 키탭을 생성합니다. 예를 들어 /etc/http.keytab . 키탭은 민감한 파일이므로 GitLab 사용자가 읽을 수 있어야 합니다. 소유권을 설정하고 파일을 적절히 보호합니다: sudo chown git /etc/http.keytab sudo chmod 0600 /etc/http.keytab GitLab 구성 # 소스 컴파일 설치 # Note 소스 컴파일 설치의 경우 kerberos gem 그룹이 설치되어 있는지 확인합니다. Kerberos 티켓 기반 인증을 활성화하기 위해 gitlab.yml 의 kerberos 섹션을 편집합니다. 대부분의 경우 Kerberos를 활성화하고 키탭 위치를 지정하기만 하면 됩니다: omniauth: enabled: true allow_single_sign_on: [ 'kerberos' ] kerberos: # Git 클라이언트에 대한 HTTP Negotiate 인증 방법 허용 enabled: true # Kerberos 5 키탭 파일. 키탭 파일은 GitLab 사용자가 읽을 수 있어야 하며, # 시스템의 다른 키탭과 달라야 합니다. # (기본값: Krb5 구성의 기본 키탭 사용) keytab: /etc/http.keytab 변경 사항을 적용하기 위해 GitLab을 재시작 합니다. Linux 패키지 설치 # /etc/gitlab/gitlab.rb 를 편집합니다: gitlab_rails[ 'omniauth_allow_single_sign_on' ] = [ 'kerberos' ] gitlab_rails[ 'kerberos_enabl
