Lagra en hemlighet med flera rader i Azure Key Vault

Snabbstarten för Azure CLI eller Azure PowerShell visar hur du lagrar en enradshemlighet. Du kan också använda Key Vault för att lagra en hemlighet med flera rader, till exempel en JSON-fil eller en privat RSA-nyckel.

Flerradshemligheter kan inte skickas till kommandot Azure CLI az keyvault secret set eller cmdleten Azure PowerShell Set-AzKeyVaultSecret via kommandoraden. I stället måste du först lagra hemligheten med flera rader som en textfil.

Du kan till exempel skapa en textfil med namnet "secretfile.txt" som innehåller följande rader:

This is my
multi-line
secret

Ange hemligheten med Hjälp av Azure CLI

Du kan sedan skicka den här filen till kommandot Azure CLI az keyvault secret set med hjälp av parametern --file .

az keyvault secret set --vault-name "<your-unique-keyvault-name>" --name "MultilineSecret" --file "secretfile.txt"

Du kan sedan visa den lagrade hemligheten med hjälp av kommandot Azure CLI az keyvault secret show .

az keyvault secret show --name "MultilineSecret" --vault-name "<your-unique-keyvault-name>" --query "value"

Hemligheten returneras med \n i stället för newline:

"This is\nmy multi-line\nsecret"

Ovanstående \n är ett \ och-tecken n , inte det nya radtecknet. Citattecken " ingår i strängen.

Ange hemligheten med Hjälp av Azure PowerShell

Med Azure PowerShell måste du först läsa i filen med cmdleten Get-Content och sedan konvertera den till en säker sträng med ConvertTo-SecureString.

$RawSecret =  Get-Content "secretfile.txt" -Raw
$SecureSecret = ConvertTo-SecureString -String $RawSecret -AsPlainText -Force

Slutligen lagrar du hemligheten med hjälp av cmdleten Set-AzKeyVaultSecret .

$secret = Set-AzKeyVaultSecret -VaultName "<your-unique-keyvault-name>" -Name "MultilineSecret" -SecretValue $SecureSecret

Du kan sedan visa den lagrade hemligheten med hjälp av kommandot Azure CLI az keyvault secret show eller cmdleten Azure PowerShell Get-AzKeyVaultSecret.

az keyvault secret show --name "MultilineSecret" --vault-name "<your-unique-keyvault-name>" --query "value"

Hemligheten returneras med \n i stället för newline:

"This is\nmy multi-line\nsecret"

Ovanstående \n är ett \ och-tecken n , inte det nya radtecknet. Citattecken " ingår i strängen.

Nästa steg