-1

我使用 PowerShell 脚本的部署任务,该脚本使用服务主体连接到 Azure KeyVault 以获取拉取机密。秘密(密码)以纯文本形式存储在 PowerShell 脚本的代码中。也许还有另一种解决方案如何最小化令牌查看。

而且我在部署任务中使用带有 Azure DevOps 秘密变量的 powershell 内联模式(不是单独的脚本),但是这个解决方案很难支持(脚本有几个不同的操作,所以你必须保留许多版本的脚本)。

脚本存储在 Git 存储库中,任何有权访问它的人都将能够看到秘密并获得对其他密钥的访问权限。也许我没有正确理解这个概念,但是如果密钥无法存储在代码中,那我该怎么办?

4

1 回答 1

0

我 devops 您可以使用变量组并定义变量是直接从选定的密钥库中提取的(如果您选择的服务主体具有对 KV 的读取/列表访问权限)LINK

这意味着您可以在 keyvault 中定义所有机密,并且它们将在您的 yaml 中发生任何任务之前被提取。为了能够在脚本中使用它们,您可以将它们定义为脚本的环境变量或参数,并且只需引用 $env:variable 或仅引用 $variable,而不是在脚本中硬编码秘密。

于 2020-06-11T23:37:56.000 回答