Armazenar um segredo multilinha no Azure Key Vault
O Guia de início rápido da CLI do Azure ou o Guia de início rápido do Azure PowerShell demonstram como armazenar um segredo de linha única. Também é possível usar o Key Vault para armazenar um segredo multilinha, como um arquivo JSON ou uma chave privada RSA.
Os segredos multilinha não podem ser passados para o comando az keyvault secret set da CLI do Azure nem para o cmdlet Set-AzKeyVaultSecret do Azure PowerShell por meio da linha de comando. Em vez disso, primeiro será necessário armazenar o segredo multilinha como um arquivo de texto.
Por exemplo, será possível 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
Depois será possível passar esse arquivo para o comando az keyvault secret set da CLI do Azure usando o parâmetro --file
.
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 az keyvault secret show da CLI do Azure.
az keyvault secret show --name "MultilineSecret" --vault-name "<your-unique-keyvault-name>" --query "value"
O segredo será retornado com \n
no lugar de nova linha:
"This is\nmy multi-line\nsecret"
O \n
acima é um caractere \
e n
, não o caractere de nova linha. As aspas "
estão incluídas na cadeia de caracteres.
Definir o segredo usando o PowerShell
Primeiro, será necessário ler o arquivo usando o cmdlet Get-Content com o Azure PowerShell. Depois converter o arquivo em uma cadeia de caracteres segura usando o comando ConvertTo-SecureString.
$RawSecret = Get-Content "secretfile.txt" -Raw
$SecureSecret = ConvertTo-SecureString -String $RawSecret -AsPlainText -Force
Por fim, armazene o segredo usando o cmdlet Set-AzKeyVaultSecret.
$secret = Set-AzKeyVaultSecret -VaultName "<your-unique-keyvault-name>" -Name "MultilineSecret" -SecretValue $SecureSecret
Você pode exibir o segredo armazenado usando o comando az keyvault secret show da CLI do Azure 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á retornado com \n
no lugar de nova linha:
"This is\nmy multi-line\nsecret"
O \n
acima é um caractere \
e n
, não o caractere de nova linha. As aspas "
estão incluídas na cadeia de caracteres.
Próximas etapas
- Leia uma Visão geral do Azure Key Vault
- Conferir o Guia de início rápido da CLI do Azure
- Conferir os Comandos az keyvault da CLI do Azure
- Conferir o Guia de início rápido do Azure PowerShell
- Conferir os Cmdlets Az.KeyVault do Azure PowerShell