在极狐GitLab CI/CD 中使用 Azure Key Vault secret (PREMIUM ALL)
引入于极狐GitLab 和极狐GitLab Runner 16.3。
您可以在极狐GitLab CI/CD 流水线中使用存储在 Azure Key Vault 中的 secret。
先决条件:
- 在 Azure 上有一个 key vault。
- 拥有具有 key vault 权限的应用程序。
- 在 Azure 中配置 OpenID Connect 以检索临时凭据。
- 将 CI/CD 变量添加到您的项目以提供有关 Vault 服务器的详细信息:
-
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 作业中使用 Azure Key Vault secret
您可以通过使用 azure_key_vault
关键字进行定义来使用存储在作业的 Azure Key Vault 中的 secret:
job:
id_tokens:
AZURE_JWT:
aud: 'azure'
secrets:
DATABASE_PASSWORD:
token: AZURE_JWT
azure_key_vault:
name: 'test'
version: 'test'
在此示例中:
-
name
是 secret 的名称。 -
version
是 secret 的版本。 - 极狐GitLab 从 Azure Key Vault 获取 secret 并将该值存储在临时文件中。
该文件的路径存储在
DATABASE_PASSWORD
CI/CD 变量中,类似于文件类型 CI/CD 变量。