v16.8.1-ee
https://docs.gitlab.com/ee/ci/secrets/azure_key_vault.html 中编写的指南在 Azure 中设置正确的应用程序、服务主体和联合身份。以及为应用程序分配适当的读取器和密钥保管库机密用户权限角色。
我已确认并验证我可以使用生成的凭据通过 AZ CLI 在 gitlab-ci 作业中登录并访问密钥保管库和机密。在我的
.gitlab-ci.yml
我有以下工作:
get_az_secret:
allow_failure: true
when: manual
variables:
AZURE_KEY_VAULT_SERVER_URL: https://my-magical-keyvault.vault.azure.net
AZURE_CLIENT_ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
AZURE_TENANT_ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
id_tokens:
AZURE_JWT:
aud: https://gitlab.my-selfhosted-domain.com
secrets:
TEST:
token: $AZURE_JWT
azure_key_vault:
name: my-magical-secret
version: 20ad3ea2266041d4b2f8b1eedb41b992
file: false
script:
- echo $TEST
作业运行时,会输出以下内容:
Resolving secrets
Resolving secret "TEST"...
WARNING: Not resolved: no resolver that can handle the secret
Gitlab 自己的文档没有解决这个特定问题。 Azure 也没有。这个输出警告到底表示什么?
我尝试将
aud
、
name
和
version
值括在引号中,但这没有什么区别。我还尝试了同一 Azure 密钥保管库中的不同密钥名称和版本。
我什至尝试了完全不同的 Azure 密钥保管库。
https://gitlab.com/gitlab-org/gitlab/-/issues/442008。 我假设您正在使用共享跑步者。由于他们没有升级整个车队,但较老的跑步者可能正在运行您的管道。