컨테이너 레지스트리로 인증
GitLab 로그인 자격 증명, 토큰 또는 CI job 토큰과 같은 CI/CD 변수를 사용하여 컨테이너 레지스트리로 인증하는 방법을 알아봅니다.
컨테이너 레지스트리로 인증하려면 다음을 사용할 수 있습니다: GitLab 사용자 이름 및 비밀번호(2FA가 활성화된 경우 사용 불가) 개인 액세스 토큰 배포 토큰 프로젝트 액세스 토큰 그룹 액세스 토큰 GitLab CLI 토큰 기반 인증 방법의 경우 필요한 최소 범위: 읽기(pull) 액세스의 경우 read_registry 여야 합니다. 쓰기(push) 액세스의 경우 write_registry 및 read_registry 여야 합니다. Admin Mode는 컨테이너 레지스트리 인증 중에는 적용되지 않습니다. Admin Mode가 활성화된 관리자가 admin_mode 범위 없이 개인 액세스 토큰을 생성하면 Admin Mode가 활성화되어 있더라도 해당 토큰이 작동합니다. 자세한 내용은 Admin Mode 를 참조하세요. 사용자 이름 및 비밀번호로 인증 # 계정에서 이메일 OTP를 포함하여 이중 인증(2FA) 을 활성화한 경우 토큰으로 인증 해야 합니다. 사용자 이름과 비밀번호로 인증하려면 docker login 명령을 실행합니다: docker login registry.example.com -u <username> -p <password> 보안 상의 이유로 -p 대신 --password-stdin 플래그를 사용하는 것을 권장합니다: echo "<password>" | docker login registry.example.com -u <username> --password-stdin 토큰으로 인증 # 토큰으로 인증하려면 docker login 명령을 실행합니다: TOKEN=<token> echo "$TOKEN" | docker login registry.example.com -u <username> --password-stdin 인증 후 클라이언트는 자격 증명을 캐시합니다. 이후 작업은 지정된 작업만 수행하도록 승인된 JWT 토큰을 반환하는 인증 요청을 합니다. 토큰은 다음 기간 동안 유효합니다: GitLab Self-Managed에서 기본적으로 5분 GitLab.com에서 15분 GitLab CI/CD를 사용하여 인증 # CI/CD를 사용하여 컨테이너 레지스트리로 인증하려면 다음을 사용할 수 있습니다: CI_REGISTRY_USER 및 CI_REGISTRY_PASSWORD CI/CD 변수. CI_REGISTRY_USER 는 컨테이너 레지스트리에 대한 읽기-쓰기 액세스 권한이 있는 job별 사용자를 보유하며, CI_REGISTRY_PASSWORD 는 자동으로 생성된 해당 비밀번호를 보유합니다. echo "$CI_REGISTRY_PASSWORD" | docker login $CI_REGISTRY -u $CI_REGISTRY_USER --password-stdin CI job 토큰 . 이 토큰은 job을 실행하는 프로젝트의 컨테이너 레지스트리에 대한 읽기(pull) 및 쓰기(push) 액세스 권한을 가집니다. CI/CD job 토큰 허용 목록 은 다른 프로젝트의 레지스트리에 대한 액세스를 제