Configurar a rotação automática de chave de criptografia no Azure Key Vault
Visão geral
A rotação automática de chave de criptografia no Key Vault permite que os usuários configurem o Key Vault para gerar automaticamente uma nova versão da chave em uma frequência especificada. Para configurar a rotação, você pode usar a política de rotação de chaves, que pode ser definida em cada chave individual.
Nossa recomendação é girar as chaves de criptografia pelo menos a cada dois anos para atender às práticas recomendadas de criptografia.
Para obter mais informações sobre como é feito o controle de versão dos objetos do Key Vault, confira Objetos do Key Vault, identificadores e controle de versão.
Integração com serviços do Azure
Esse recurso habilita a rotação sem toque de ponta a ponta para criptografia em repouso para os serviços do Azure com CMK (chave gerenciada pelo cliente) armazenados no Azure Key Vault. Confira a documentação específica do serviço do Azure para ver se o serviço abrange a rotação de ponta a ponta.
Para obter mais informações sobre a criptografia de dados no Azure, confira:
Preços
Há um custo adicional por rotação de chave agendada. Para obter mais informações, confira a página de preços do Azure Key Vault
Permissões necessárias
O recurso de rotação de chave do Key Vault exige permissões de gerenciamento de chaves. Você pode atribuir uma função "Responsável pela Criptografia do Key Vault" para gerenciar a política de rotação e a rotação sob demanda.
Para obter mais informações sobre como usar o modelo de permissão RBAC do Key Vault e atribuir funções do Azure, veja Usar um RBAC do Azure para controlar o acesso a chaves, certificados e segredos
Observação
Se você usar um modelo de permissão de políticas de acesso, será necessário definir permissões de chave "Girar", "Definir Política de Rotação" e "Obter Política de Rotação" para gerenciar a política de rotação de chaves.
Política de rotação de chaves
A política de rotação de chaves permite que os usuários configurem notificações de rotação e de Grade de Eventos próximas à notificação de expiração.
Configurações da política de rotação de chaves:
- Tempo de expiração: intervalo de expiração da chave. Ele é usado para definir a data de expiração na chave girada recentemente. Isso não afeta uma chave atual.
- Habilitado/desabilitado: sinalizador para habilitar ou desabilitar a rotação da chave
- Tipos de rotação:
- Renovar automaticamente em um determinado momento após a criação (padrão)
- Renovar automaticamente em um determinado momento antes da expiração. Exige que o "Tempo de Expiração" esteja definido na política de rotação e a "Data de Expiração" esteja definida na chave.
- Tempo de rotação: intervalo de rotação de teclas, o valor mínimo é sete dias após a criação e sete dias a partir do tempo de expiração
- Tempo de notificação: intervalo do evento de expiração da chave próxima para notificação da Grade de Eventos. Exige que o "Tempo de Expiração" esteja definido na política de rotação e a "Data de Expiração" esteja definida na chave.
Importante
A rotação de chaves gera uma nova versão de uma chave existente com um novo material de chave. Os serviços de destino devem usar o URI de chave sem versão para atualizar automaticamente para a versão mais recente da chave. Verifique se sua solução de criptografia de dados usa o uri de chave com versão para apontar para o mesmo material de chave para operações de descriptografar/desencapsular, como usado em criptografar/encapsular para evitar interrupções em seus serviços. Todos os serviços do Azure estão seguindo esse padrão para a criptografia de dados.
Configurar a política de rotação de chaves
Configure a política de rotação de chaves durante a criação de chaves.
Configure a política de rotação em chaves existentes.
CLI do Azure
Salve a política de rotação de chaves em um arquivo. Exemplo de política de rotação de chaves:
{
"lifetimeActions": [
{
"trigger": {
"timeAfterCreate": "P18M",
"timeBeforeExpiry": null
},
"action": {
"type": "Rotate"
}
},
{
"trigger": {
"timeBeforeExpiry": "P30D"
},
"action": {
"type": "Notify"
}
}
],
"attributes": {
"expiryTime": "P2Y"
}
}
Defina a política de rotação em um arquivo salvo anteriormente usando o comando da CLI do Azure az keyvault key rotation-policy update.
az keyvault key rotation-policy update --vault-name <vault-name> --name <key-name> --value </path/to/policy.json>
Azure PowerShell
Defina a política de rotação usando o cmdlet Set-AzKeyVaultKeyRotationPolicy do Azure PowerShell.
Set-AzKeyVaultKeyRotationPolicy -VaultName <vault-name> -KeyName <key-name> -ExpiresIn (New-TimeSpan -Days 720) -KeyRotationLifetimeAction @{Action="Rotate";TimeAfterCreate= (New-TimeSpan -Days 540)}
Rotação sob demanda
A rotação de chaves pode ser invocada manualmente.
Portal
Clique em "Girar Agora" para invocar uma rotação.
CLI do Azure
Use o coando az keyvault key rotate da CLI do Azure para girar a chave.
az keyvault key rotate --vault-name <vault-name> --name <key-name>
Azure PowerShell
Use o cmdlet Invoke-AzKeyVaultKeyRotation do Azure PowerShell.
Invoke-AzKeyVaultKeyRotation -VaultName <vault-name> -Name <key-name>
Configurar a notificação de expiração da chave próxima
Configuração da notificação de expiração para a chave da Grade de Eventos próxima ao evento de expiração. Caso não seja possível usar a rotação automatizada, como quando uma chave é importada do HSM local, você pode configurar a notificação de expiração próxima como um lembrete para rotação manual ou como um gatilho para rotação automatizada personalizada por meio da integração com a Grade de Eventos. Você pode configurar a notificação com dias, meses e anos antes do vencimento para disparar o evento de expiração próxima.
Para obter mais informações sobre notificações da Grade de Eventos no Key Vault, confira Azure Key Vault como origem da Grade de Eventos
Configurar a rotação de chaves com um modelo do ARM
A política de rotação de chaves também pode ser configurada usando modelos do ARM.
Observação
Ela exige a função "Colaborador do Cofre de Chaves" no Key Vault configurado com o Azure RBAC para implantar a chave por meio do plano de gerenciamento.
{
"$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."
}
},
"rotatationTimeAfterCreate": {
"defaultValue": "P18M",
"type": "String",
"metadata": {
"description": "Time duration to trigger key rotation. i.e. P30D, P1M, P2Y"
}
},
"expiryTime": {
"defaultValue": "P2Y",
"type": "String",
"metadata": {
"description": "The expiry time for new key version. i.e. P90D, P2M, P3Y"
}
},
"notifyTime": {
"defaultValue": "P30D",
"type": "String",
"metadata": {
"description": "Near expiry Event Grid notification. i.e. P30D"
}
}
},
"resources": [
{
"type": "Microsoft.KeyVault/vaults/keys",
"apiVersion": "2021-06-01-preview",
"name": "[concat(parameters('vaultName'), '/', parameters('keyName'))]",
"location": "[resourceGroup().location]",
"properties": {
"vaultName": "[parameters('vaultName')]",
"kty": "RSA",
"rotationPolicy": {
"lifetimeActions": [
{
"trigger": {
"timeAfterCreate": "[parameters('rotatationTimeAfterCreate')]",
"timeBeforeExpiry": ""
},
"action": {
"type": "Rotate"
}
},
{
"trigger": {
"timeBeforeExpiry": "[parameters('notifyTime')]"
},
"action": {
"type": "Notify"
}
}
],
"attributes": {
"expiryTime": "[parameters('expiryTime')]"
}
}
}
}
]
}
Configurar a governança da política de rotação de chaves
Usando o serviço Azure Policy, você pode controlar o ciclo de vida da chave e garantir que todas as chaves sejam configuradas para girar dentro de um número especificado de dias.
Criar e atribuir uma definição de política
- Navegue até o recurso de Política
- Selecione Atribuições em Criação no lado esquerdo da página Azure Policy.
- Selecione Atribuir política no topo da página. Esse botão abre a página Atribuição de política.
- Insira as seguintes informações:
- Defina o escopo da política escolhendo a assinatura e o grupo de recursos sobre os quais a política será imposta. Selecione clicando no botão de três pontos no campo Escopo.
- Selecione o nome da definição da política: "As chaves devem ter uma política de rotação que garanta que sua rotação seja agendada dentro do número especificado de dias após a criação."
- Vá para a guia Parâmetros na parte superior da página.
- Defina o parâmetro O máximo de dias para girar como o número de dias desejado, por exemplo, 730.
- Defina o efeito desejado da política (Auditoria ou Desabilitado).
- Preencha todos os campos adicionais. Navegue pelas guias clicando nos botões Anterior e Avançar na parte inferior da página.
- Selecione Examinar + criar
- Escolha Criar
Depois que política interna é atribuída, pode levar até 24 horas para que a verificação seja concluída. Depois que a verificação for concluída, você verá os resultados de conformidade, conforme abaixo.
Recursos
- Monitoramento do Key Vault com a Grade de Eventos do Azure
- Usar um Azure RBAC para controlar o acesso a chaves, certificados e segredos
- Criptografia de dados em repouso no Azure
- Criptografia de Armazenamento do Azure
- Criptografia de Disco do Azure
- Rotação automática de chaves para criptografia de dados transparente