Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O Azure Key Vault é um serviço na cloud que fornece um armazenamento seguro para segredos, como chaves, palavras-passe e certificados. Este guia de início rápido centra-se no processo de implementar um ficheiro Bicep para criar um Key Vault e um certificado autofirmado.
Bicep é uma linguagem específica de domínio (DSL) que utiliza sintaxe declarativa para implementar recursos Azure. Fornece sintaxe concisa, segurança de tipos fiável e suporte para reutilização de código. O Bicep oferece a melhor experiência de criação para suas soluções de infraestrutura como código no Azure.
Pré-requisitos
- Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.
Revise o arquivo Bicep
O modelo utilizado neste início rápido pertence aos Modelos de Início Rápido do 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]
Dois recursos do Azure estão definidos no ficheiro Bicep:
-
Microsoft.KeyVault/vaults: crie um Azure Key Vault com a autorização RBAC do Azure ativada (
enableRbacAuthorization: true). - Microsoft.Resources/deployments: implementação aninhada que executa o módulo de registo create-kv-certificate para criar um certificado autoassinado no cofre. Os certificados são um recurso de plano de dados e não podem ser criados diretamente com um tipo de recurso ARM.
Implantar o ficheiro Bicep
Salve o arquivo Bicep como main.bicep em seu computador local.
Implante o arquivo Bicep usando a CLI do Azure ou 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=myCertNote
Substitua
<vault-name>pelo nome do cofre de chaves, que deve ser globalmente único dentro dovault.azure.netespaço de nomes.Quando a implantação terminar, você verá uma mensagem indicando que a implantação foi bem-sucedida.
Atribuir uma função RBAC do Key Vault
O cofre de chaves criado por este ficheiro Bicep usa o Azure RBAC para autorização. Para aceder aos certificados através do plano de dados (por exemplo, utilizando o CLI do Azure ou o Azure PowerShell), tem de lhe ser atribuída uma função adequada.
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)
Note
As atribuições de funções podem demorar um ou dois minutos a ser propagadas.
Analisar os recursos implementados
Pode usar o portal do Azure para verificar o cofre de chaves e o certificado, ou usar o seguinte script CLI do Azure ou Azure PowerShell para listar o certificado criado.
echo "Enter your key vault name:" &&
read keyVaultName &&
az keyvault certificate list --vault-name $keyVaultName &&
echo "Press [ENTER] to continue ..."
Limpeza de recursos
Quando não for mais necessário, use o portal do Azure, a CLI do Azure ou o Azure PowerShell para excluir o grupo de recursos e seus recursos.
az group delete --name myResourceGroup
Note
Eliminar o grupo de recursos também elimina o cofre de chaves, mas o cofre entra então num estado de eliminação suave e permanece recuperável durante o período de retenção (90 dias por defeito). O nome do cofre permanece reservado globalmente durante esse período e, como a proteção contra purgas está ativada, o cofre não pode ser purgado antecipadamente. Para cofres de chaves padrão, os cofres eliminados temporariamente não incorrem em custos. Para mais informações, consulte Key Vault visão geral de apagamento suave.
Passos seguintes
Neste quickstart, criaste um cofre de chaves e um certificado usando o Bicep e depois validaste a implementação. Para saber mais sobre o Key Vault e o Bicep, continue nos artigos abaixo.
- Leia uma Visão Geral do Azure Key Vault
- Saiba mais sobre Bicep
- Reveja a visão geral de segurança do Key Vault