Partilhar via


Armazenar um segredo de várias linhas no Cofre da Chave do Azure

O início rápido da CLI do Azure ou o início rápido do Azure PowerShell demonstram como armazenar um segredo de linha única. Você também pode usar o Cofre da Chave para armazenar um segredo de várias linhas, como um arquivo JSON ou uma chave privada RSA.

Os segredos de várias linhas não podem ser passados para o comando Azure CLI az keyvault secret set ou para o cmdlet Azure PowerShell Set-AzKeyVaultSecret por meio da linha de comando. Em vez disso, você deve primeiro armazenar o segredo de várias linhas como um arquivo de texto.

Por exemplo, você pode criar um arquivo de texto chamado "secretfile.txt" contendo as seguintes linhas:

This is my
multi-line
secret

Definir o segredo usando a CLI do Azure

Em seguida, você pode passar esse arquivo para o comando Azure CLI az keyvault secret set usando o --file parâmetro.

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

Em seguida, você pode exibir o segredo armazenado usando o comando Azure CLI az keyvault secret show .

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

O segredo será devolvido com \n no lugar de newline:

"This is\nmy multi-line\nsecret"

O \n acima é um \ e n personagem, não o caractere de nova linha. As aspas " são incluídas na cadeia de caracteres.

Definir o segredo usando o Azure Powershell

Com o Azure PowerShell, você deve primeiro ler o arquivo usando o cmdlet Get-Content e, em seguida, convertê-lo em uma cadeia de caracteres segura usando ConvertTo-SecureString.

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

Por fim, você armazena o segredo usando o cmdlet Set-AzKeyVaultSecret .

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

Em seguida, você pode exibir o segredo armazenado usando o comando Azure CLI az keyvault secret show ou o cmdlet Get-AzKeyVaultSecret do Azure PowerShell.

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

O segredo será devolvido com \n no lugar de newline:

"This is\nmy multi-line\nsecret"

O \n acima é um \ e n personagem, não o caractere de nova linha. As aspas " são incluídas na cadeia de caracteres.

Próximos passos