Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Azure Key Vault es un servicio en la nube que proporciona un almacén seguro para secretos, como claves, contraseñas y certificados. Esta guía de inicio rápido se centra en cómo implementar un archivo Bicep para crear un almacén de claves y un certificado autofirmado.
Bicep es un lenguaje específico de dominio (DSL) que utiliza una sintaxis declarativa para implementar recursos de Azure. Brinda sintaxis concisa, seguridad de tipos confiable y compatibilidad con la reutilización de código. Bicep ofrece la mejor experiencia de desarrollo para las soluciones de infraestructura-como-código en Azure.
Prerequisites
- Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.
Revisión del archivo Bicep
La plantilla usada en este inicio rápido forma parte de las plantillas de inicio rápido de Azure.
@description('The name of the key vault to be created.')
param vaultName string
@description('The name of the certificate to be created.')
param certificateName string
@description('The location of the resources.')
param location string = resourceGroup().location
@description('The SKU of the vault to be created.')
@allowed([
'standard'
'premium'
])
param skuName string = 'standard'
@description('The common name (subject) for the self-signed certificate. Defaults to the certificate name.')
param certificateCommonName string = certificateName
@description('The validity of the certificate in months.')
@minValue(1)
@maxValue(1200)
param validityInMonths int = 12
resource vault 'Microsoft.KeyVault/vaults@2023-07-01' = {
name: vaultName
location: location
properties: {
enableRbacAuthorization: true
enableSoftDelete: true
softDeleteRetentionInDays: 90
enablePurgeProtection: true
enabledForDeployment: false
enabledForDiskEncryption: false
enabledForTemplateDeployment: false
tenantId: subscription().tenantId
sku: {
name: skuName
family: 'A'
}
networkAcls: {
defaultAction: 'Allow'
bypass: 'AzureServices'
}
}
}
// Key Vault certificates are a data-plane concept and cannot be created
// directly through ARM. Use the public Bicep registry module which wraps
// `az keyvault certificate create` in a deployment script (it provisions a
// user-assigned managed identity with the Key Vault Certificate Officer
// role on the vault for the duration of the deployment).
module certificate 'br/public:deployment-scripts/create-kv-certificate:3.4.2' = {
name: 'create-${certificateName}'
params: {
akvName: vault.name
location: location
certificateNames: [certificateName]
certificateCommonNames: [certificateCommonName]
validity: validityInMonths
}
}
output location string = location
output name string = vault.name
output resourceGroupName string = resourceGroup().name
output resourceId string = vault.id
output certificateSecretId string = certificate.outputs.certificateSecretIds[0][0]
output certificateThumbprint string = certificate.outputs.certificateThumbprintHexs[0][0]
En el archivo Bicep, se definen dos recursos de Azure:
-
Microsoft. KeyVault/vaults: cree un almacén de claves de Azure con la autorización de RBAC Azure habilitada (
enableRbacAuthorization: true). - Microsoft.Resources/deployments: implementación anidada que ejecuta el módulo de registro create-kv-certificate para crear un certificado autofirmado en el almacén. Los certificados son un recurso del plano de datos y no se pueden crear directamente mediante un tipo de recurso ARM.
Desplegar el archivo Bicep
Guarda el archivo Bicep como main.bicep en su equipo local.
Implemente el archivo de Bicep utilizando la CLI de Azure o Azure PowerShell.
az group create --name myResourceGroup --location eastus az deployment group create --resource-group myResourceGroup --template-file main.bicep --parameters vaultName=<vault-name> certificateName=myCertNota:
Reemplace
<vault-name>por el nombre del almacén de claves, que debe ser globalmente único dentro delvault.azure.netespacio de nombres.Una vez finalizada la implementación, debería mostrarse un mensaje indicando que la implementación se realizó correctamente.
Asignar un rol de RBAC para Key Vault
El almacén de claves creado por este archivo de Bicep usa Azure RBAC para la autorización. Para acceder a los certificados a través del plano de datos (por ejemplo, mediante el CLI de Azure o Azure PowerShell), debe asignarse un rol adecuado.
echo "Enter your key vault name:" &&
read keyVaultName &&
az role assignment create --role "Key Vault Certificates Officer" \
--assignee-object-id $(az ad signed-in-user show --query id -o tsv) \
--scope $(az keyvault show --name $keyVaultName --query id -o tsv)
Nota:
Las asignaciones de roles pueden tardar un minuto o dos en propagarse.
Revisión de los recursos implementados
Puede usar el portal de Azure para comprobar el almacén de claves y el certificado, o bien usar el siguiente script de CLI de Azure o Azure PowerShell para enumerar el certificado creado.
echo "Enter your key vault name:" &&
read keyVaultName &&
az keyvault certificate list --vault-name $keyVaultName &&
echo "Press [ENTER] to continue ..."
Limpieza de recursos
Cuando ya no sea necesario, use el portal de Azure, CLI de Azure o Azure PowerShell para eliminar el grupo de recursos y sus recursos.
az group delete --name myResourceGroup
Nota:
Al eliminar el grupo de recursos también se elimina el almacén de claves, pero el almacén, a continuación, entra en un estado eliminado temporalmente y permanece recuperable durante el período de retención (90 días de forma predeterminada). El nombre del almacén permanece reservado globalmente durante ese período y, dado que la protección contra purgas está habilitada, el almacén no se puede eliminar definitivamente de forma anticipada. En el caso de los almacenes de claves estándar, los almacenes eliminados temporalmente no incurren en cargos. Para obtener más información, consulte Información general de la eliminación temporal de Key Vault.
Pasos siguientes
En este inicio rápido, ha creado un almacén de claves y un certificado mediante Bicep y, a continuación, ha validado la implementación. Para obtener más información sobre Key Vault y Bicep, continúe con los artículos siguientes.
- Lea una introducción a Azure Key Vault.
- Obtenga más información sobre Bicep
- Revise la visión general de seguridad de Key Vault