如何在 Azure DevOps 中使用 Azure Key Vault Secrets 作为 CI/CD 定义中的变量?

How to use Azure KeyVault Secrets in AzureDevOps as varibles in CI/CD Definitions?

我正在研究 Azure DevOps 和 Azure KeyVault。在这里,我尝试使用 Azure DevOps Pipelines 中的 KeyVault 机密登录我的 Azure 帐户。为此,我遵循了用于获取秘密的 Link-1 。所有设置都已正确完成,为了检查它,我使用内联脚本执行了 PowerShell 任务,如图所示,其中密码是 KeyVault Secret:

当构建为 运行 时,它 运行ned 没有任何错误。但是,这里得到的 KeyVault 机密(密码)值如下:

在那之后,当我通过添加一些用于登录目的的代码尝试进一步的步骤时,出现如下错误: 你能建议我如何摆脱这种情况

首先,Azure Devops 不会输出定义为机密的变量。

那么你的剧本有错别字。你应该 double-quote 密码:

$securePassword = "$(Password)" | ConvertTo-SecureString -AsPlainText -Force

在pipeline.You中使用之前需要映射秘密变量可以尝试以下步骤。

首先,将机密映射到 powershell 任务中的环境变量

然后使用下面的脚本来引用密码

$SecurePassword=$env:PASSWORDMAP

点击here了解更多关于如何使用秘密变量的信息。