如何使用 Key Vault 中的值在 Powershell 中使用 Azure CLI 从 ADO Pipeline 登录到 Azure Subscipt

问题描述 投票:0回答:0

这有点像先有鸡还是先有蛋的情况,但似乎总有办法。在我们的 ADO 管道中,我们从 Azure 存储 Blob 中提取文件,并从 Key Vault 获取凭据以运行服务。我们设置了一个服务主体,并将名称、租户、秘密、客户端 ID 放入 Azure Key Vault。

我试试这个: az keyvault secret show --name "" --vault-name "" --query "value"

但我收到此错误:错误:请运行“az 登录”以设置帐户。 我无法在 ADO 中运行 az login,因为它要求浏览器交互,或者我可以使用服务主体凭据作为 az login 调用的一部分,但我需要先从密钥库中获取这些值。因此……先有鸡还是先有蛋的情况。

我之前在 env var 中使用过 Azure 连接字符串,并且在这样调用时可以正常工作:az storage blob download -f $cacheDir --auth-mode key --connection-string $connectionKey -c $container -n $bootFileName

我试图找到一种使用连接字符串登录 Key Vault 的方法,但这似乎也不可能。 az keyvault secret show 没有 --connection-string... 调用会很好。

真正的基本问题是如何在不使用 az login 的情况下从 Key Vault 中获取值?

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