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