클라우드 서비스 연결
클라우드 서비스 연결에 대해 설명합니다.
히스토리 HashiCorp Vault를 포함한 모든 OIDC 공급자를 지원하는 ID 토큰 이 GitLab 15.7에서 도입됨 . Warning CI_JOB_JWT 및 CI_JOB_JWT_V2 는 GitLab 15.9에서 지원 중단 되었으며 GitLab 17.0에서 제거될 예정입니다. 대신 ID 토큰 을 사용하세요. GitLab CI/CD는 OpenID Connect(OIDC) 를 지원하여 빌드 및 배포 job에 클라우드 자격 증명 및 서비스에 대한 액세스를 제공합니다. 역사적으로 팀들은 프로젝트에 비밀을 저장하거나 GitLab 러너 인스턴스에 권한을 적용하여 빌드 및 배포했습니다. OIDC 지원 ID 토큰 은 CI/CD job에서 구성 가능하여 확장 가능하고 최소 권한 보안 접근 방식을 따를 수 있습니다. GitLab 15.6 이하에서는 ID 토큰 대신 CI_JOB_JWT_V2 를 사용해야 하지만 사용자 지정이 불가능합니다. 사전 요구 사항 # GitLab 계정. 권한 부여를 구성하고 역할을 만들기 위해 OIDC를 지원하는 클라우드 공급자에 대한 액세스. ID 토큰은 다음을 포함한 OIDC가 있는 클라우드 공급자를 지원합니다: AWS Azure GCP HashiCorp Vault Note OIDC를 구성하면 모든 파이프라인에 대해 대상 환경에 JWT 토큰 액세스가 가능합니다. 파이프라인에 대해 OIDC를 구성할 때 추가 액세스에 중점을 두어 파이프라인에 대한 소프트웨어 공급망 보안 검토를 완료해야 합니다. 공급망 공격에 대한 자세한 내용은 DevOps Platform이 공급망 공격에 대한 보호를 어떻게 돕는가 를 참조하세요. 사용 사례 # GitLab 그룹 또는 프로젝트에 비밀을 저장할 필요가 없습니다. 임시 자격 증명은 OIDC를 통해 클라우드 공급자에서 가져올 수 있습니다. 그룹, 프로젝트, 브랜치 또는 태그를 포함하는 세분화된 GitLab 조건으로 클라우드 리소스에 대한 임시 액세스를 제공합니다. 환경에 대한 조건부 액세스로 CI/CD job에서 직무 분리를 정의할 수 있습니다. 역사적으로 앱은 스테이징 또는 프로덕션 환경에만 액세스할 수 있는 전용 GitLab 러너로 배포되었습니다. 이는 각 머신이 전용 권한을 갖게 되어 러너 증가로 이어졌습니다. 인스턴스 러너가 여러 클라우드 계정에 안전하게 액세스할 수 있습니다. 액세스는 파이프라인을 실행하는 사용자에게 특정한 JWT 토큰에 의해 결정됩니다. 기본적으로 임시 자격 증명을 가져와 비밀 순환 논리를 만들 필요가 없습니다. 클라우드 서비스의 ID 토큰 인증 # 각 job은 ID 토큰으로 구성할 수 있으며, 이는 토큰 페이로드 를 포함하는 CI/CD 변수로 제공됩니다. 이러한 JWT는 AWS, Azure, GCP 또는 Vault와 같은 OIDC 지원 클라우드 공급자로 인증하는 데 사용할 수 있습니다. 권한 부여 워크플로우 # Mermaid 다이어그램 (16줄) 소스 코드 보기 %%{init: { "fontFamily": "GitLab Sans" }}%% sequenceDiagram a
