你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
将多行机密存储在 Azure Key Vault 中
Azure CLI 快速入门或 Azure PowerShell 快速入门演示了如何存储单行机密。 还可以使用 Key Vault 来存储多行机密,如 JSON 文件或 RSA 私钥。
多行机密无法通过命令行传递给 Azure CLI az keyvault secret set 命令或 Azure PowerShell Set-AzKeyVaultSecret cmdlet。 而是必须首先将多行机密存储为文本文件。
例如,可以创建一个名为“secretfile.txt”的文本文件,其中包含以下行:
This is my
multi-line
secret
使用 Azure CLI 设置机密
然后,可以使用 --file
参数将此文件传递给 Azure CLI az keyvault secret set 命令。
az keyvault secret set --vault-name "<your-unique-keyvault-name>" --name "MultilineSecret" --file "secretfile.txt"
然后,可以使用 Azure CLI az keyvault secret show 命令查看存储的机密。
az keyvault secret show --name "MultilineSecret" --vault-name "<your-unique-keyvault-name>" --query "value"
返回机密时将包含 \n
,以取代换行符:
"This is\nmy multi-line\nsecret"
上面的 \n
是 \
和 n
字符,而不是换行符。 字符串中包含引号 "
。
使用 Azure Powershell 设置机密
使用 Azure PowerShell 时,必须先使用 Get-Content cmdlet 来读取文件,然后使用 ConvertTo-SecureString 将其转换为安全字符串。
$RawSecret = Get-Content "secretfile.txt" -Raw
$SecureSecret = ConvertTo-SecureString -String $RawSecret -AsPlainText -Force
最后,使用 Set-AzKeyVaultSecret cmdlet 存储机密。
$secret = Set-AzKeyVaultSecret -VaultName "<your-unique-keyvault-name>" -Name "MultilineSecret" -SecretValue $SecureSecret
然后,可以使用 Azure CLI az keyvault secret show 命令或 Azure PowerShell Get-AzKeyVaultSecret cmdlet 查看存储的机密。
az keyvault secret show --name "MultilineSecret" --vault-name "<your-unique-keyvault-name>" --query "value"
返回机密时将包含 \n
,以取代换行符:
"This is\nmy multi-line\nsecret"
上面的 \n
是 \
和 n
字符,而不是换行符。 字符串中包含引号 "
。