GitLab CI/CD에서 Azure Key Vault 시크릿 사용
GitLab CI/CD 파이프라인에서 Azure Key Vault 시크릿을 사용하는 방법을 알아봅니다
히스토리 GitLab 및 GitLab Runner 16.3에서 도입 됨. 이슈 424746 으로 인해 이 기능이 예상대로 작동하지 않았습니다. 이슈 424746 이 해결되고 GitLab Runner 16.6에서 이 기능이 일반적으로 사용 가능해짐. GitLab CI/CD 파이프라인에서 Azure Key Vault 에 저장된 시크릿을 사용할 수 있습니다. 사전 요구 사항: Azure에 Key Vault 가 있어야 합니다. Key Vault에 할당된 리소스 그룹 에 대해 IAM 사용자에게 Key Vault Administrator 역할 할당이 부여 되어 있어야 합니다. 그렇지 않으면 Key Vault 내에 시크릿을 만들 수 없습니다. Azure에서 OpenID Connect를 구성하여 임시 자격 증명을 검색합니다 . 이 단계에는 Key Vault 액세스를 위한 Azure AD 애플리케이션 생성 지침이 포함됩니다. Vault 서버에 대한 세부 정보를 제공하기 위해 프로젝트에 CI/CD 변수를 추가합니다 : AZURE_KEY_VAULT_SERVER_URL : Azure Key Vault 서버의 URL(예: https://vault.example.com ). AZURE_CLIENT_ID : Azure 애플리케이션의 클라이언트 ID. AZURE_TENANT_ID : Azure 애플리케이션의 테넌트 ID. CI/CD job에서 Azure Key Vault 시크릿 사용 # azure_key_vault 키워드를 사용하여 정의함으로써 job에서 Azure Key Vault에 저장된 시크릿을 사용할 수 있습니다: job: id_tokens: AZURE_JWT: aud: 'https://gitlab.com' secrets: DATABASE_PASSWORD: token: $AZURE_JWT azure_key_vault: name: 'DATABASE-PASSWORD' version: '00000000000000000000000000000000' 동일한 job에서 Azure Key Vault의 여러 시크릿을 사용하려면 secrets 키워드 아래에 각 시크릿을 정의합니다: job: id_tokens: AZURE_JWT: aud: 'https://gitlab.com' secrets: REDIS_PASSWORD: token: $AZURE_JWT azure_key_vault: name: 'REDIS-PASSWORD' version: '00000000000000000000000000000000' DATABASE_PASSWORD: token: $AZURE_JWT azure_key_vault: name: 'DATABASE-PASSWORD' version: '00000000000000000000000000000000' 이 예시에서: aud 는 대상이며, 페더레이션 ID 자격 증명 생성 시 사용된 대상과 일치해야 합니다. name 은 Azure Key Vault의 시크릿 이름입니다. version 은 Azure Key Vault의 시크릿 버전입니다. 버전은 대시 없는 생성된 GU
