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 de nuvem que fornece um armazenamento seguro para segredos, como chaves, senhas, certificados e outros segredos. Este guia de início rápido se concentra no processo de implantação de um arquivo Bicep para criar um cofre de chaves e um segredo.
O Bicep é uma linguagem específica do domínio que utiliza sintaxe declarativa para implementar recursos do 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.
Sua ID de objeto de usuário do Microsoft Entra é necessária para o modelo configurar permissões. O procedimento a seguir obtém a ID do objeto (GUID).
Execute o seguinte comando do Azure PowerShell ou da CLI do Azure selecionando Experimentar e cole o script no painel do shell. Para colar o script, clique com o botão direito do mouse no shell e selecione Colar.
echo "Enter your email address that is used to sign in to Azure:" && read upn && az ad user show --id $upn --query "objectId" && echo "Press [ENTER] to continue ..."
Anote o ID do objeto. Você precisa dele na próxima seção deste início rápido.
Revise o arquivo Bicep
O modelo utilizado neste início rápido pertence aos Modelos de Início Rápido do Azure.
@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
Dois recursos do Azure são definidos no arquivo Bicep:
- Microsoft.KeyVault/vaults: crie um cofre de chaves do Azure.
- Microsoft.KeyVault/vaults/secrets: crie um segredo do cofre de chaves.
Implantar 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 exampleRG --location eastus az deployment group create --resource-group exampleRG --template-file main.bicep --parameters keyVaultName=<vault-name> objectId=<object-id>
Nota
Substitua <vault-name> pelo nome do cofre de chaves. Substitua <object-id> pela ID do objeto de um usuário, entidade de serviço ou grupo de segurança no locatário do Microsoft Entra para o cofre. O ID do objeto deve ser exclusivo para a lista de políticas de acesso. Obtenha-o usando os cmdlets Get-AzADUser ou Get-AzADServicePrincipal.
Quando a implantação terminar, você verá uma mensagem indicando que a implantação foi bem-sucedida.
Rever os recursos implementados
Você pode usar o portal do Azure para verificar o cofre de chaves e o segredo ou usar o seguinte script da CLI do Azure ou do Azure PowerShell para listar o segredo criado.
echo "Enter your key vault name:" &&
read keyVaultName &&
az keyvault secret list --vault-name $keyVaultName &&
echo "Press [ENTER] to continue ..."
Clean up resources (Limpar 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 exampleRG
Próximos passos
Neste início rápido, você criou um cofre de chaves e um segredo 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 o Bicep
- Revise a visão geral de segurança do Cofre de Chaves