Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O Azure Key Vault é um serviço de nuvem que fornece um repositório seguro para segredos, como chaves, senhas e certificados. Este guia rápido aborda o processo de implantação de um arquivo Bicep para criar um cofre de chaves e um certificado autoassinado.
Bicep é uma linguagem específica de domínio (DSL) que usa sintaxe declarativa para implantar recursos do Azure. Ele fornece sintaxe concisa, segurança de tipos confiá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 você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.
Examinar o arquivo Bicep
O modelo usado neste início rápido é proveniente dos 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]
Há dois recursos do Azure definidos no arquivo Bicep:
-
Microsoft.KeyVault/vaults: criar um Azure Key Vault com a autorização RBAC do Azure habilitada (
enableRbacAuthorization: true). - Microsoft.Resources/deployments: implantação aninhada que executa o módulo do registro create-kv-certificate para criar um certificado autoassinado no cofre. Os certificados são um recurso do plano de dados e não podem ser criados diretamente com um tipo de recurso ARM.
Implante o arquivo 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 exclusivo dentro dovault.azure.netnamespace.Quando a implantação for concluída, você deverá ver uma mensagem indicando que a implantação foi bem-sucedida.
Atribuir uma função RBAC ao cofre de chaves
O cofre de chaves criado por esse arquivo Bicep usa Azure RBAC para autorização. Para acessar certificados por meio do plano de dados (por exemplo, usando o CLI do Azure ou Azure PowerShell), você precisa atribuir a si mesmo uma função apropriada.
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ção podem levar um ou dois minutos para serem propagadas.
Examinar os recursos implantados
Você pode usar o portal Azure para verificar o cofre de chaves e o certificado ou usar o seguinte CLI do Azure ou Azure PowerShell script 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 ..."
Limpar os 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
Excluir o grupo de recursos também exclui o cofre de chaves, mas o cofre entra em estado de exclusão temporária e permanece recuperável durante o período de retenção (por padrão, 90 dias). O nome do cofre permanece reservado globalmente durante esse período e, como a proteção contra a limpeza está habilitada, não é possível fazer a limpeza do cofre antes do prazo. Para os cofres de chaves padrão, cofres de exclusão temporária não incorrem em encargos. Para obter mais informações, consulte Visão geral da exclusão temporária do cofre de chaves.
Próximas Etapas
Neste guia rápido, você criou um cofre de chaves e um certificado usando o Bicep e, em seguida, validou a implantaçã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
- Examine a Visão geral de segurança do Key Vault