DevOps 的 KeyVault 秘密 - Python
KeyVault Secret to DevOps - Python
我有一个用秘密定义的 Azure keyvault,我可以使用 "Azure KeyVault" 任务在 devops 构建管道中访问它。现在我需要将秘密变量传递给 python 内联脚本。
由于加密,python无法直接读取数值。我怎样才能解密并传递它们。秘密持有 Databricks 访问令牌。我们正在尝试使用 DevOps 管道创建 Databricks 集群。
我的 Yaml 有以下任务
- Azure KeyVault
- Powershell 将秘密转换为变量 - https://github.com/Microsoft/azure-pipelines-tasks/issues/8345
- Python 带参数的内联脚本。对于争论,我尝试使用实际的秘密名称作为 $(secretname),它打印了 ***。然后我尝试转换以引用在 powershell 中创建的环境变量,并且 python 按原样传递变量名称。
我尝试了以下方法。
使用 powershell 将机密转换为环境变量。我尝试首先使用此 link - https://github.com/Microsoft/azure-pipelines-tasks/issues/8345 将秘密转换为变量。当在 python 中作为参数调用时,它没有传递秘密值,而是传递了 python 中带有 $ 符号的变量名称。
由于某些限制,我们不想使用变量组
编辑:已更新以添加更多详细信息。
The task can be used to fetch the latest values of all or a subset of secrets from the vault, and set them as variables that can be used in subsequent tasks of a pipeline
如上文所述 azure keyvault task。您可以直接使用 azure keyvault 中的秘密,方法是将它们包装在 python 脚本中的“$(secretname)”中。您不需要额外的 powershell 任务将其转换为环境变量。
当您在控制台打印出来时,为了安全起见,它会被加密并输出“***”。但是秘密的实际值对您的代码是可见的。
我使用下面的示例 python 脚本进行测试,以确认可以在 python 脚本中访问秘密值。
我用一个名为 "Password" 的秘密创建了一个测试密钥库,它的值为“123456789”。 python 脚本任务在控制台输出“111111”,确认秘密对 python 脚本可见。
您可以按照 this document 中的详细步骤使用来自密钥库的秘密。
我有一个用秘密定义的 Azure keyvault,我可以使用 "Azure KeyVault" 任务在 devops 构建管道中访问它。现在我需要将秘密变量传递给 python 内联脚本。
由于加密,python无法直接读取数值。我怎样才能解密并传递它们。秘密持有 Databricks 访问令牌。我们正在尝试使用 DevOps 管道创建 Databricks 集群。
我的 Yaml 有以下任务
- Azure KeyVault
- Powershell 将秘密转换为变量 - https://github.com/Microsoft/azure-pipelines-tasks/issues/8345
- Python 带参数的内联脚本。对于争论,我尝试使用实际的秘密名称作为 $(secretname),它打印了 ***。然后我尝试转换以引用在 powershell 中创建的环境变量,并且 python 按原样传递变量名称。
我尝试了以下方法。
使用 powershell 将机密转换为环境变量。我尝试首先使用此 link - https://github.com/Microsoft/azure-pipelines-tasks/issues/8345 将秘密转换为变量。当在 python 中作为参数调用时,它没有传递秘密值,而是传递了 python 中带有 $ 符号的变量名称。
由于某些限制,我们不想使用变量组
编辑:已更新以添加更多详细信息。
The task can be used to fetch the latest values of all or a subset of secrets from the vault, and set them as variables that can be used in subsequent tasks of a pipeline
如上文所述 azure keyvault task。您可以直接使用 azure keyvault 中的秘密,方法是将它们包装在 python 脚本中的“$(secretname)”中。您不需要额外的 powershell 任务将其转换为环境变量。
当您在控制台打印出来时,为了安全起见,它会被加密并输出“***”。但是秘密的实际值对您的代码是可见的。
我使用下面的示例 python 脚本进行测试,以确认可以在 python 脚本中访问秘密值。
我用一个名为 "Password" 的秘密创建了一个测试密钥库,它的值为“123456789”。 python 脚本任务在控制台输出“111111”,确认秘密对 python 脚本可见。
您可以按照 this document 中的详细步骤使用来自密钥库的秘密。