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.
Azure Key Vault é um serviço na cloud que fornece um armazenamento seguro para segredos, como chaves, palavras-passe, certificados e outros segredos. Este quickstart foca-se no processo de implantar um ficheiro Bicep para criar um cofre de chaves e um segredo.
Bicep é uma linguagem específica de domínio (DSL) que utiliza sintaxe declarativa para implementar recursos Azure. Fornece uma sintaxe concisa, segurança de tipos confiável e suporte para reutilização de código. A Bicep oferece a melhor experiência de autoria para as suas soluções de infraestrutura como código no Azure.
Pré-requisitos
- Se não tiver uma subscrição Azure, crie uma conta gratuita antes de começar.
Revise o ficheiro Bicep
O modelo utilizado neste quickstart é do Azure Quickstart Templates.
@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 whether the key vault is a standard vault or a premium vault.')
@allowed([
'standard'
'premium'
])
param skuName string = 'standard'
@description('Specifies all secrets {"secretName":"","secretValue":""} wrapped in a secure object.')
@secure()
param secretsObject object
resource kv 'Microsoft.KeyVault/vaults@2023-07-01' = {
name: keyVaultName
location: location
properties: {
enabledForDeployment: enabledForDeployment
enabledForTemplateDeployment: enabledForTemplateDeployment
enabledForDiskEncryption: enabledForDiskEncryption
enableRbacAuthorization: true
tenantId: tenantId
enableSoftDelete: true
softDeleteRetentionInDays: 90
enablePurgeProtection: true
sku: {
name: skuName
family: 'A'
}
networkAcls: {
defaultAction: 'Allow'
bypass: 'AzureServices'
}
}
}
resource secrets 'Microsoft.KeyVault/vaults/secrets@2023-07-01' = [for secret in secretsObject.secrets: {
name: secret.secretName
parent: kv
properties: {
value: secret.secretValue
}
}]
output location string = location
output name string = kv.name
output resourceGroupName string = resourceGroup().name
output resourceId string = kv.id
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. KeyVault/vaults/secrets: cria um ou mais segredos do cofre chave, iterando sobre o array
secretsObject.secrets.
Implementar o ficheiro Bicep
Guarde o ficheiro Bicep como main.bicep para o seu computador local.
Crie um ficheiro de parâmetros (por exemplo, main.parameters.json) que forneça o
secretsObjectvalor:{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#", "contentVersion": "1.0.0.0", "parameters": { "keyVaultName": { "value": "<vault-name>" }, "secretsObject": { "value": { "secrets": [ { "secretName": "adminpassword", "secretValue": "<your-secret-value>" } ] } } } }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 @main.parameters.jsonObservação
Substitua
<vault-name>pelo nome do cofre de chaves, que deve ser globalmente único dentro dovault.azure.netespaço de nomes. Substitui<your-secret-value>pelo valor secreto para armazenar. ComosecretsObjecté declarado como umsecureObject, o seu valor não é registado nem ecoado de volta.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 a segredos através do plano de dados (por exemplo, usando a CLI do Azure ou Azure PowerShell), precisa de se atribuir um papel apropriado.
echo "Enter your key vault name:" &&
read keyVaultName &&
az role assignment create --role "Key Vault Secrets Officer" \
--assignee-object-id $(az ad signed-in-user show --query id -o tsv) \
--scope $(az keyvault show --name $keyVaultName --query id -o tsv)
Observação
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 segredo, ou usar o seguinte script CLI do Azure ou 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 ..."
Limpeza de recursos
Quando já não for necessário, use o portal Azure, CLI do Azure ou Azure PowerShell para eliminar o grupo de recursos e os seus recursos.
az group delete --name myResourceGroup
Observação
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.
Próximos passos
Neste quickstart, criaste um cofre de chaves e um segredo usando o Bicep e depois validaste a implementação. Para saber mais sobre Key Vault e Bicep, continue para os artigos abaixo.
- Leia uma visão geral de Azure Key Vault
- Saiba mais sobre Bicep
- Revise a visão geral de segurança Key Vault