Almacenamiento de un secreto multilínea en Azure Key Vault
En el inicio rápido de la CLI de Azure o en el de Azure PowerShell se muestra cómo almacenar un secreto de una sola línea. También puede usar Key Vault para almacenar un secreto multilínea, como un archivo JSON o una clave privada RSA.
Los secretos multilínea no se pueden pasar al comando az keyvault secret set de la CLI de Azure o al cmdlet Set-AzKeyVaultSecret de Azure PowerShell a través de la línea de comandos. En su lugar, debe almacenar primero el secreto multilínea como archivo de texto.
Por ejemplo, puede crear un archivo de texto denominado "secretfile.txt" que contenga las siguientes líneas:
This is my
multi-line
secret
Establecimiento del secreto mediante la CLI de Azure
Después, puede pasar este archivo al comando az keyvault secret set de la CLI de Azure mediante el --file
parámetro.
az keyvault secret set --vault-name "<your-unique-keyvault-name>" --name "MultilineSecret" --file "secretfile.txt"
Después, puede ver el secreto almacenado mediante el comando az keyvault secret show de la CLI de Azure.
az keyvault secret show --name "MultilineSecret" --vault-name "<your-unique-keyvault-name>" --query "value"
El secreto se devolverá con \n
en lugar de nueva línea:
"This is\nmy multi-line\nsecret"
El \n
anterior es un carácter \
y n
, no el carácter de nueva línea. Las comillas "
se incluyen en la cadena.
Establecimiento del secreto mediante Azure Powershell
Con Azure PowerShell, primero debe leer el archivo mediante el cmdlet Get-Content y luego convertirlo en una cadena segura mediante ConvertTo-SecureString.
$RawSecret = Get-Content "secretfile.txt" -Raw
$SecureSecret = ConvertTo-SecureString -String $RawSecret -AsPlainText -Force
Por último, se almacena el secreto mediante el cmdlet set-AzKeyVaultSecret.
$secret = Set-AzKeyVaultSecret -VaultName "<your-unique-keyvault-name>" -Name "MultilineSecret" -SecretValue $SecureSecret
Puede ver el secreto almacenado mediante el comando az keyvault secret show de la CLI de Azure o el cmdlet Get-AzKeyVaultSecret de Azure PowerShell.
az keyvault secret show --name "MultilineSecret" --vault-name "<your-unique-keyvault-name>" --query "value"
El secreto se devolverá con \n
en lugar de nueva línea:
"This is\nmy multi-line\nsecret"
El \n
anterior es un carácter \
y n
, no el carácter de nueva línea. Las comillas "
se incluyen en la cadena.
Pasos siguientes
- Lea una introducción a Azure Key Vault.
- Consulte el inicio rápido de la CLI de Azure.
- Consulte los comandos az keyvault de la CLI de Azure.
- Consulte el inicio rápido de Azure PowerShell
- Consulte los cmdlets Az.KeyVault de Azure PowerShell