gpt4 book ai didi

azure - Azure Key Vault 是否支持常规文本文件?

转载 作者:行者123 更新时间:2023-12-02 23:25:54 26 4
gpt4 key购买 nike

我有一个在管道中使用的文本文件,该特定文件包含管道用于针对某些服务进行身份验证的 secret 。该文件如下所示。

app1|resource1|secret1
app2|resource2|secret2

此文件用于将 key 映射到每个应用程序。有人告诉我可以使用 azure key Vault 来存储此信息,但我只看到 ssh key 、证书和键值对字符串的选项。

很高兴听到任何建议。我还应该注意,目前我正在使用 azure“安全文件”来存储此文件,但是它不是很直观,因为每次需要更新文件时,您都必须删除当前文件,上传新文件,然后编辑管道再次添加。

另外,我需要一个可以存储该文件的中心位置,以便团队中的任何人都可以编辑它,而不仅仅是我。

最佳答案

是的,Azure 支持纯文本文件。在文档中,他们将其称为 multi-line secret而不是常规的文本文件。

我遇到了类似的问题,我必须创建一个包含 *.json 文件的 secret ,其中包含私钥以及许多其他参数。

我通过在终端中使用以下命令解决了该问题。

#Create the secret
az keyvault secret set --name SECRET_NAME --vault-name KEYVAULT_NAME --file FILE_NAME_WITH_ABSOLUT_PATH

#Download the secret
az keyvault secret download --name SECRET_NAME --vault-name KEYVAULT_NAME --file FILE_NAME_WITH_ABSOLUT_PATH
<小时/>

如果您需要在管道内使用该文件,您可以通过两个步骤(任务)解决该问题:

  1. 从 KeyVault 中读取 secret (与普通密码相同)。这会将文件的内容存储在管道变量中。
  2. 创建一个任务,将管道变量的内容存储在文件中。例如,此任务可以是 bash。

您可以按照以下示例操作:

parameters:
- name: azureSubscription
type: string
default: 'my-subscription'

...

variables:
- name: secretFileName
value: /home/vsts/.config/appName/my-secret-file-name.json

...
# Your pipeline ...
...

- task: AzureKeyVault@1
displayName: "Reads the secret from Azure KeyVault"
inputs:
azureSubscription: ${{ parameters.azureSubscription }}
KeyVaultName: "my-keyvault"
SecretsFilter: 'my-secret'
RunAsPreJob: false

- task: Bash@3
displayName: "Create the file that contains the secret"
inputs:
targetType: 'inline'
script: |
echo "Create the directory... "
DIR="$(dirname "${$FILE_NAME}")"
mkdir -p $DIR
cd $DIR
pwd
echo "Create the file for Private Key..."
FILE="$(basename "${$FILE_NAME}")"
echo $MY_SECRET > $FILE
ls -la
env:
MY_SECRET: $(my-secret)
FILE_NAME: $(secretFileName)

关于azure - Azure Key Vault 是否支持常规文本文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62520254/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com