그룹의 SSH 인증서 관리
조직의 최상위 그룹에서 공개 인증 기관(CA
) 파일을 공유하여 프로젝트에 대한 Git 액세스를 관리합니다.
GitLab SaaS에서 Git 액세스 제어 옵션(SSH, HTTPS)은 사용자 프로필에 설정된 자격 증명(예: 액세스 토큰 및 SSH 키)에 의존하며 조직의 제어를 벗어납니다.
프로젝트에 대한 Git 액세스를 일시적으로 부여하려면 SSH 인증서를 사용할 수 있습니다.
최상위 그룹에 CA 인증서 추가
- GitLab 16.4에서 도입됨
ssh_certificates_rest_endpoints
라는 플래그와 함께. 기본적으로 비활성화되어 있습니다.- GitLab.com에서 활성화됨 GitLab 16.9에서.
GitLab.com에서 이 기능을 사용할 수 있습니다. GitLab Dedicated에서는 이 기능을 사용할 수 없습니다.
사전 요구 사항:
- 그룹의 소유자 역할을 가져야 합니다.
- 그룹은 하위 그룹이 아닌 최상위 그룹이어야 합니다.
그룹에 CA 인증서를 추가하려면:
-
인증 기관 파일로 사용할 SSH 키 쌍을 생성합니다:
ssh-keygen -f CA
-
Group SSH certificates API를 사용하여 최상위 그룹에 공개 키를 추가하여 그룹과 하위 그룹의 프로젝트에 대한 액세스를 부여합니다.
사용자에 대한 CA 인증서 발급
사전 요구 사항:
- 그룹의 소유자 역할을 가져야 합니다.
- 사용자 인증서는 최상위 그룹 및 하위 그룹의 프로젝트에만 액세스하는 데 사용할 수 있습니다.
- GitLab 사용자와 사용자 인증서를 연결하려면 사용자의 사용자 이름 또는 기본 이메일(
user
또는user@example.com
)을 지정해야 합니다. - 사용자는 Enterprise User여야 합니다.
사용자 인증서를 발급하려면, 앞서 생성한 쌍의 개인 키를 사용합니다:
ssh-keygen -s CA -I user@example.com -V +1d user-key.pub
(user-key.pub
) 키는 사용자가 SSH 인증을 위해 사용하는 SSH 키 쌍의 공개 키입니다. SSH 키 쌍은 사용자에 의해 생성되거나 그룹 소유자 인프라에 의해 SSH 인증서와 함께 제공됩니다.
만료 날짜(+1d
)는 SSH 인증서를 사용하여 그룹 프로젝트에 액세스할 수 있는 기간을 식별합니다.
사용자 인증서는 최상위 그룹의 프로젝트에만 액세스하는 데 사용할 수 있습니다.
SSH 인증서 강제 적용
- GitLab 16.7에서 도입됨
enforce_ssh_certificates_via_settings
라는 플래그와 함께. 기본적으로 비활성화되어 있습니다.- GitLab.com에서 활성화됨 GitLab 16.9에서.
GitLab.com에서 이 기능을 사용할 수 있습니다. GitLab Dedicated에서는 이 기능을 사용할 수 없습니다.
SSH 인증서 사용을 강제하고 사용자가 SSH 키 및 액세스 토큰을 사용하여 인증하는 것을 금지할 수 있습니다.
SSH 인증서가 강제 적용되면 개별 사용자 계정만 영향을 받고 서비스 계정, 배포 키 및 기타 유형의 내부 계정에는 적용되지 않습니다.
사전 요구 사항:
- 그룹의 소유자 역할을 가져야 합니다.
SSH 인증서 사용을 강제 적용하려면:
- 왼쪽 사이드바에서 검색하거나 이동을 선택하고 그룹을 찾습니다.
- 설정 > 일반을 선택합니다.
- 권한 및 그룹 기능 섹션을 확장합니다.
- SSH 인증서 강제 적용 체크박스를 선택합니다.
- 변경 사항 저장을 선택합니다.