带有 azure key Vault 的 Gitlab CI 机密给出了“没有可以处理机密的解析器”

问题描述 投票:0回答:1
使用Gitlab版本

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 密钥保管库。

azure gitlab gitlab-ci devops azure-keyvault
1个回答
0
投票
该问题与runners版本有关。 GCP 集成是在 GitLab 和 GitLab Runner 16.8 中引入的。

https://gitlab.com/gitlab-org/gitlab/-/issues/442008。 我假设您正在使用共享跑步者。由于他们没有升级整个车队,但较老的跑步者可能正在运行您的管道。

© www.soinside.com 2019 - 2024. All rights reserved.