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, certificados y otros secretos. Este inicio rápido se centra en el proceso de implementación de un archivo de Bicep para crear un almacén de claves y un secreto.
Bicep es un lenguaje específico del dominio (DSL) que usa 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 diseño para tus soluciones de infraestructura como código en Azure.
Prerrequisitos
Si no tiene una suscripción de Azure, cree una cuenta free antes de comenzar.
La plantilla necesita el identificador de objeto de usuario Microsoft Entra para configurar los permisos. El procedimiento siguiente obtiene el identificador de objeto (GUID).
Ejecute el siguiente comando Azure PowerShell o CLI de Azure seleccionando Try it y, a continuación, pegue el script en el panel de shell. Para pegar el script, haga clic con el botón derecho en el shell y, a continuación, seleccione Pegar.
echo "Enter your email address that is used to sign in to Azure:" && read upn && az ad user show --id $upn --query "id" && echo "Press [ENTER] to continue ..."Anote el identificador de objeto. Lo necesitará en la sección siguiente de este inicio rápido.
Revisión del archivo Bicep
Importante
Este inicio rápido utiliza una plantilla externa que crea una bóveda con políticas de acceso heredadas. En el caso de las implementaciones de producción, use la autorización de RBAC de Azure. Consulte Crear un Azure Key Vault y una clave mediante Bicep para obtener una plantilla de Bicep que use enableRbacAuthorization: true, o consulte Asegure su Azure Key Vault para obtener instrucciones de seguridad completas.
La plantilla que se usa en este inicio rápido procede de Azure Plantillas de inicio rápido.
@description('Specifies the name of the key vault.')
param keyVaultName string
@description('Specifies the Azure location where the key vault should be created.')
param location string = resourceGroup().location
@description('Specifies whether Azure Virtual Machines are permitted to retrieve certificates stored as secrets from the key vault.')
param enabledForDeployment bool = false
@description('Specifies whether Azure Disk Encryption is permitted to retrieve secrets from the vault and unwrap keys.')
param enabledForDiskEncryption bool = false
@description('Specifies whether Azure Resource Manager is permitted to retrieve secrets from the key vault.')
param enabledForTemplateDeployment bool = false
@description('Specifies the Azure Active Directory tenant ID that should be used for authenticating requests to the key vault. Get it by using Get-AzSubscription cmdlet.')
param tenantId string = subscription().tenantId
@description('Specifies the object ID of a user, service principal or security group in the Azure Active Directory tenant for the vault. The object ID must be unique for the list of access policies. Get it by using Get-AzADUser or Get-AzADServicePrincipal cmdlets.')
param objectId string
@description('Specifies the permissions to keys in the vault. Valid values are: all, encrypt, decrypt, wrapKey, unwrapKey, sign, verify, get, list, create, update, import, delete, backup, restore, recover, and purge.')
param keysPermissions array = [
'list'
]
@description('Specifies the permissions to secrets in the vault. Valid values are: all, get, list, set, delete, backup, restore, recover, and purge.')
param secretsPermissions array = [
'list'
]
@description('Specifies whether the key vault is a standard vault or a premium vault.')
@allowed([
'standard'
'premium'
])
param skuName string = 'standard'
@description('Specifies the name of the secret that you want to create.')
param secretName string
@description('Specifies the value of the secret that you want to create.')
@secure()
param secretValue string
resource kv 'Microsoft.KeyVault/vaults@2023-07-01' = {
name: keyVaultName
location: location
properties: {
enabledForDeployment: enabledForDeployment
enabledForDiskEncryption: enabledForDiskEncryption
enabledForTemplateDeployment: enabledForTemplateDeployment
tenantId: tenantId
enableSoftDelete: true
softDeleteRetentionInDays: 90
accessPolicies: [
{
objectId: objectId
tenantId: tenantId
permissions: {
keys: keysPermissions
secrets: secretsPermissions
}
}
]
sku: {
name: skuName
family: 'A'
}
networkAcls: {
defaultAction: 'Allow'
bypass: 'AzureServices'
}
}
}
resource secret 'Microsoft.KeyVault/vaults/secrets@2023-07-01' = {
parent: kv
name: secretName
properties: {
value: secretValue
}
}
output location string = location
output name string = kv.name
output resourceGroupName string = resourceGroup().name
output resourceId string = kv.id
Dos recursos de Azure se definen en el archivo Bicep:
- Microsoft. KeyVault/vaults: cree un almacén de claves de Azure.
- Microsoft.KeyVault/vaults/secrets: cree un secreto en el Key Vault.
Desplegar el archivo Bicep
Guarda el archivo Bicep como main.bicep en tu equipo local.
Implemente el archivo Bicep mediante 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 keyVaultName=<vault-name> objectId=<object-id>Nota:
Reemplace
<vault-name>por el nombre del almacén de claves. Reemplace<object-id>por el ID de objeto de un usuario, una entidad de servicio o un grupo de seguridad en el inquilino de Microsoft Entra en el almacén. El identificador de objeto debe ser único para la lista de directivas de acceso. Obténlo utilizando los cmdlets Get-AzADUser o Get-AzADServicePrincipal.Una vez finalizada la implementación, debería mostrarse un mensaje indicando que la implementación se realizó correctamente.
Revisión de los recursos implementados
Puede usar el portal de Azure para comprobar el almacén de claves y el secreto, o bien usar el siguiente script de CLI de Azure o Azure PowerShell para enumerar el secreto creado.
echo "Enter your key vault name:" &&
read keyVaultName &&
az keyvault secret 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
Pasos siguientes
En este inicio rápido, ha creado un almacén de claves y un secreto mediante Bicep y ha validado la implementación. Para obtener más información sobre Key Vault y Bicep, continúe con los artículos siguientes.
- Lea un Información general de Azure Key Vault
- Obtenga más información sobre Bicep
- Revise la visión general de seguridad de Key Vault