在 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 字元,而不是換行字元。 字串中包含引號 "

下一步