我有一个定义有机密的Azure密钥库,我可以使用“ Azure KeyVault”任务在devops构建管道中进行访问。现在,我需要将secret变量传递给python内联脚本。
由于已加密,因此python无法直接读取该值。我如何解密并通过它们。机密持有Databricks访问令牌。我们正在尝试使用DevOps管道创建Databricks集群。
我的Yaml具有以下任务
我尝试了以下方法。
使用powershell从机密转换为环境变量。我试图首先使用此链接https://github.com/Microsoft/azure-pipelines-tasks/issues/8345将secret转换为变量。当在python中作为争论被调用时,它没有传递秘密值,而是在python内部传递了带有$符号的变量名称。
由于某些限制,我们不想使用变量组
编辑:已更新以添加更多详细信息。
答案 0 :(得分:0)
该任务可用于从保管库中获取所有或部分机密的最新值,并将它们设置为可在管道的后续任务中使用的变量
如上文针对azure keyvault task所述。您可以通过将它们包装在python脚本中的“ $(secretname)”中,直接在azure密钥库中使用这些秘密。您不需要额外的powershell任务即可将其转换为环境变量。
当您在控制台中将其打印出来时,出于安全原因,它将被加密并输出“ ***”。但是秘密的实际价值对您的代码是可见的。
我使用以下示例python脚本进行测试,以确认可以在python脚本中访问秘密值。
我创建了一个测试秘钥库,其秘密名为“ Password”,其值为“ 123456789”。控制台中的python脚本任务输出为“ 111111”,确认该秘密对python脚本可见。
您可以按照this document中的详细步骤使用密钥库中的机密。