Dela via


Lagra en hemlighet med flera rader i Azure Key Vault

Azure CLI-snabbstarten eller Azure PowerShell-snabbstarten 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.

Det går inte att skicka flerradshemligheter 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 i \n 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 i \n 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