Przechowywanie wpisu tajnego wielowierszowego w usłudze Azure Key Vault

Przewodnik Szybki start interfejsu wiersza polecenia platformy Azure lub przewodnik Szybki start Azure PowerShell przedstawia sposób przechowywania wpisu tajnego jednowierszowego. Można również użyć Key Vault do przechowywania wielowierszowego wpisu tajnego, takiego jak plik JSON lub klucz prywatny RSA.

Nie można przekazać wpisów tajnych wielowierszowych do polecenia az keyvault secret set interfejsu wiersza polecenia platformy Azure lub Azure PowerShell polecenia cmdlet set-AzKeyVaultSecret za pośrednictwem wiersza polecenia. Zamiast tego należy najpierw zapisać wpis tajny wielowierszowy jako plik tekstowy.

Można na przykład utworzyć plik tekstowy o nazwie "secretfile.txt" zawierający następujące wiersze:

This is my
multi-line
secret

Ustawianie wpisu tajnego przy użyciu interfejsu wiersza polecenia platformy Azure

Następnie możesz przekazać ten plik do polecenia az keyvault secret set interfejsu wiersza polecenia platformy Azure przy użyciu parametru --file .

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

Następnie możesz wyświetlić przechowywany wpis tajny przy użyciu polecenia az keyvault secret show interfejsu wiersza polecenia platformy Azure.

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

Wpis tajny zostanie zwrócony \n zamiast nowego wiersza:

"This is\nmy multi-line\nsecret"

Powyższy \n znak jest znakiem in, a nie znakiem \ nowego wiersza. Cudzysłowy " są uwzględniane w ciągu.

Ustawianie wpisu tajnego przy użyciu programu Azure PowerShell

W przypadku Azure PowerShell należy najpierw odczytać plik przy użyciu polecenia cmdlet Get-Content, a następnie przekonwertować go na bezpieczny ciąg przy użyciu funkcji ConvertTo-SecureString.

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

Na koniec należy przechowywać wpis tajny przy użyciu polecenia cmdlet Set-AzKeyVaultSecret .

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

Następnie możesz wyświetlić przechowywany wpis tajny przy użyciu polecenia az keyvault secret show interfejsu wiersza polecenia platformy Azure lub polecenia cmdlet Azure PowerShell get-AzKeyVaultSecret.

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

Wpis tajny zostanie zwrócony \n zamiast nowego wiersza:

"This is\nmy multi-line\nsecret"

Powyższy \n znak jest znakiem in, a nie znakiem \ nowego wiersza. Cudzysłowy " są uwzględniane w ciągu.

Następne kroki