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 certificado. Este início rápido se concentra no processo de implantação de um modelo do ARM (Azure Resource Manager) para criar um cofre de chaves e uma chave.
Pré-requisitos
Para concluir este artigo:
- Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.
- O usuário precisaria ter uma função padrão do Azure atribuída, sendo recomendada a função colaborador. Saiba mais aqui
Examinar o modelo
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vaultName": {
"type": "string",
"metadata": {
"description": "The name of the key vault to be created."
}
},
"keyName": {
"type": "string",
"metadata": {
"description": "The name of the key to be created."
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "The location of the resources"
}
},
"skuName": {
"type": "string",
"defaultValue": "standard",
"allowedValues": [
"standard",
"premium"
],
"metadata": {
"description": "The SKU of the vault to be created."
}
},
"keyType": {
"type": "string",
"defaultValue": "RSA",
"allowedValues": [
"EC",
"EC-HSM",
"RSA",
"RSA-HSM"
],
"metadata": {
"description": "The JsonWebKeyType of the key to be created."
}
},
"keyOps": {
"type": "array",
"defaultValue": [],
"metadata": {
"description": "The permitted JSON web key operations of the key to be created."
}
},
"keySize": {
"type": "int",
"defaultValue": 2048,
"metadata": {
"description": "The size in bits of the key to be created."
}
},
"curveName": {
"type": "string",
"defaultValue": "",
"allowedValues": [
"",
"P-256",
"P-256K",
"P-384",
"P-521"
],
"metadata": {
"description": "The JsonWebKeyCurveName of the key to be created."
}
}
},
"resources": [
{
"type": "Microsoft.KeyVault/vaults",
"apiVersion": "2021-11-01-preview",
"name": "[parameters('vaultName')]",
"location": "[parameters('location')]",
"properties": {
"accessPolicies": [],
"enableRbacAuthorization": true,
"enableSoftDelete": true,
"softDeleteRetentionInDays": "90",
"enabledForDeployment": false,
"enabledForDiskEncryption": false,
"enabledForTemplateDeployment": false,
"tenantId": "[subscription().tenantId]",
"sku": {
"name": "[parameters('skuName')]",
"family": "A"
},
"networkAcls": {
"defaultAction": "Allow",
"bypass": "AzureServices"
}
}
},
{
"type": "Microsoft.KeyVault/vaults/keys",
"apiVersion": "2021-11-01-preview",
"name": "[format('{0}/{1}', parameters('vaultName'), parameters('keyName'))]",
"properties": {
"kty": "[parameters('keyType')]",
"keyOps": "[parameters('keyOps')]",
"keySize": "[parameters('keySize')]",
"curveName": "[parameters('curveName')]"
},
"dependsOn": [
"[resourceId('Microsoft.KeyVault/vaults', parameters('vaultName'))]"
]
}
],
"outputs": {
"proxyKey": {
"type": "object",
"value": "[reference(resourceId('Microsoft.KeyVault/vaults/keys', parameters('vaultName'), parameters('keyName')))]"
}
}
}
Dois recursos são definidos no modelo:
Mais exemplos de modelo do Azure Key Vault podem ser encontrados nos Modelos de Início Rápido do Azure.
Parâmetros e definições
| Parâmetro | Definition |
|---|---|
| keyOps | Especifica operações que podem ser executadas usando a chave. Se você não especificar esse parâmetro, todas as operações poderão ser executadas. Os valores aceitáveis para esse parâmetro são uma lista separada por vírgulas de operações de chave, conforme definido pela especificação JWK (Chave Web JSON): ["sign", "verify", "encrypt", "decrypt", " wrapKey", "unwrapKey"] |
| CurveName | O nome da EC (curva elíptica) para o tipo de chave EC. Consulte JsonWebKeyCurveName |
| Kty | O tipo de chave a ser criada. Para obter valores válidos, consulte JsonWebKeyType |
| Tags | Os metadados específicos a um aplicativo na forma de pares chave-valor. |
| nbf | Especifica a hora, como um objeto DateTime, antes do qual a chave não pode ser usada. O formato é um carimbo de data/hora do UNIX (o número de segundos após a época do Unix em 1º de janeiro de 1970, em UTC). |
| Exp | Especifica a hora de expiração, como um objeto DateTime. O formato é um carimbo de data/hora do UNIX (o número de segundos após a época do Unix em 1º de janeiro de 1970, em UTC). |
Implantar o modelo
Você pode usar o portal do Azure, o Azure PowerShell, a CLI do Azure ou a API REST. Para saber mais sobre os métodos de implantação, consulte Implantar modelos.
Examinar os recursos implantados
Você pode usar o portal do Azure para verificar o cofre de chaves e a chave. Como alternativa, use o seguinte script da CLI do Azure ou do Azure PowerShell para listar a chave criada.
echo "Enter your key vault name:" &&
read keyVaultName &&
az keyvault key list --vault-name $keyVaultName &&
echo "Press [ENTER] to continue ..."
Criar chave usando o modelo do ARM é diferente da criação de chave por meio do plano de dados
Criando uma chave por meio do ARM
Só é possível criar novas chaves. Não é possível atualizar as chaves existentes nem criar novas versões de chaves existentes. Se a chave já existir, a chave existente será recuperada do armazenamento e usada (nenhuma operação de gravação ocorrerá).
Para ser autorizado a usar essa API, o chamador precisa ter a ação de controle de acesso baseado em função (RBAC) do Azure ( Microsoft.KeyVault/vaults/keys/write ). A função interna "Colaborador do Key Vault" é suficiente, pois autoriza todas as Ações RBAC do Azure que correspondem ao padrão "Microsoft.KeyVault/*".
API existente (criando chave por meio do plano de dados)
- É possível criar novas chaves, atualizar chaves existentes e criar novas versões de chaves existentes.
- O chamador deve estar autorizado a usar essa API. Se o cofre usar políticas de acesso, o autor da chamada deverá ter permissão de "criação" de chave; se o cofre estiver habilitado para RBAC do Azure, o autor da chamada deverá ter a DataAction do Azure RBAC "Microsoft.KeyVault/vaults/keys/create/action".
Limpar os recursos
Outros guias de início rápido e tutoriais do Key Vault se baseiam neste início rápido. Se você planeja continuar a trabalhar com os tutoriais e inícios rápidos subsequentes, deixe esses recursos onde estão. Quando não for mais necessário, exclua o grupo de recursos, que exclui o Key Vault e os recursos relacionados. Para excluir o grupo de recursos usando a CLI do Azure ou o Azure PowerShell:
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."
Próximas etapas
Neste guia de início rápido, você criou um cofre de chaves e uma chave usando um modelo do ARM e validou a implantação. Para saber mais sobre o Key Vault e o Azure Resource Manager, confira estes artigos.
- Leia uma Visão geral do Azure Key Vault
- Saiba mais sobre o Azure Resource Manager
- Examine a Visão geral de segurança do Key Vault