Configurar a rotação automática de chaves criptográficas no Azure Key Vault
Descrição Geral
A rotação automatizada de chaves criptográficas no Key Vault permite que os utilizadores configurem Key Vault para gerar automaticamente uma nova versão de chave com uma frequência especificada. Para configurar a rotação, pode utilizar a política de rotação de chaves, que pode ser definida em cada chave individual.
A nossa recomendação é rodar as chaves de encriptação, pelo menos, de dois em dois anos para cumprir as melhores práticas criptográficas.
Para obter mais informações sobre como os objetos no Key Vault são criados, veja Objetos, identificadores e controlo de versões do Key Vault.
Integração com os serviços do Azure
Esta funcionalidade permite a rotação ponto a ponto do toque zero para encriptação inativa para serviços do Azure com a chave gerida pelo cliente (CMK) armazenada no Azure Key Vault. Veja a documentação do serviço do Azure específico para ver se o serviço abrange a rotação ponto a ponto.
Para obter mais informações sobre a encriptação de dados no Azure, veja:
Preços
Existe um custo adicional por rotação de chaves agendada. Para obter mais informações, veja a página de preços do Azure Key Vault
Permissões necessárias
Key Vault funcionalidade de rotação de chaves requer permissões de gestão de chaves. Pode atribuir uma função "Key Vault Crypto Officer" para gerir a política de rotação e a rotação a pedido.
Para obter mais informações sobre como utilizar Key Vault modelo de permissão RBAC e atribuir funções do Azure, veja Utilizar um RBAC do Azure para controlar o acesso a chaves, certificados e segredos
Nota
Se utilizar um modelo de permissão de políticas de acesso, é necessário definir as permissões de chave "Rodar", "Definir Política de Rotação" e "Obter Política de Rotação" para gerir a política de rotação nas chaves.
Política de rotação de chaves
A política de rotação de chaves permite aos utilizadores configurar a rotação e as notificações do Event Grid perto da notificação de expiração.
Definições da política de rotação de chaves:
- Tempo de expiração: intervalo de expiração da chave. É utilizado para definir a data de expiração na chave recentemente rodada. Não afeta uma chave atual.
- Ativado/desativado: sinalizador para ativar ou desativar a rotação da chave
- Tipos de rotação:
- Renovar automaticamente num determinado momento após a criação (predefinição)
- Renovar automaticamente num determinado momento antes de expirar. Requer a definição "Tempo de Expiração" na política de rotação e a "Data de Expiração" definidas na chave.
- Tempo de rotação: intervalo de rotação da chave, o valor mínimo é sete dias após a criação e sete dias após o tempo de expiração
- Tempo de notificação: chave perto do intervalo de eventos de expiração para notificação do Event Grid. Requer a definição "Tempo de Expiração" na política de rotação e a "Data de Expiração" definidas na chave.
Importante
A rotação de chaves gera uma nova versão chave de uma chave existente com material de chave novo. Os serviços de destino devem utilizar o URI da chave sem versão para atualizar automaticamente para a versão mais recente da chave. Certifique-se de que a solução de encriptação de dados armazena o URI da chave com versões com dados para apontar para o mesmo material chave para desencriptar/desencriptar conforme foi utilizado para operações de encriptação/encapsulamento para evitar interrupções nos seus serviços. Todos os serviços do Azure estão atualmente a seguir esse padrão para encriptação de dados.
Configurar a política de rotação de chaves
Configure a política de rotação de chaves durante a criação da chave.
Configurar a política de rotação em chaves existentes.
CLI do Azure
Guarde a política de rotação de chaves num ficheiro. 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 numa chave que transmite o ficheiro guardado anteriormente com o comando az keyvault key rotation-policy update da CLI do Azure.
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 com 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 a pedido
A rotação de chaves pode ser invocada manualmente.
Portal
Clique em "Rodar Agora" para invocar a rotação.
CLI do Azure
Utilize o comando rotação da chave az keyvault da CLI do Azure para rodar a chave.
az keyvault key rotate --vault-name <vault-name> --name <key-name>
Azure PowerShell
Utilize Azure PowerShell cmdlet Invoke-AzKeyVaultKeyRotation.
Invoke-AzKeyVaultKeyRotation -VaultName <vault-name> -Name <key-name>
Configurar a chave perto da notificação de expiração
Configuração da notificação de expiração da chave do Event Grid perto do evento de expiração. Caso não seja possível utilizar a rotação automatizada, como quando uma chave é importada do HSM local, pode configurar a notificação de quase expiração como um lembrete para rotação manual ou como um acionador para a rotação automatizada personalizada através da integração com o Event Grid. Pode configurar a notificação com dias, meses e anos antes da expiração para acionar um evento de quase expiração.
Para obter mais informações sobre as notificações do Event Grid no Key Vault, veja Azure Key Vault como origem do Event Grid
Configurar a rotação de chaves com o modelo do ARM
A política de rotação de chaves também pode ser configurada com modelos do ARM.
Nota
Requer a função "Contribuidor Key Vault" no Key Vault configurado com o RBAC do Azure para implementar a chave através do plano de gestão.
{
"$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 governação da política de rotação de chaves
Com o serviço Azure Policy, pode governar o ciclo de vida da chave e garantir que todas as chaves estão configuradas para rodar dentro de um número especificado de dias.
Criar e atribuir definição de política
- Navegue para Recurso de política
- Selecione Atribuições em Criação no lado esquerdo da página Azure Policy.
- Selecione Atribuir política na parte superior da página. Este botão é aberto na página Atribuição de políticas.
- Introduza as seguintes informações:
- Defina o âmbito da política ao escolher a subscrição e o grupo de recursos sobre o qual a política será imposta. Selecione ao clicar no botão de três pontos no campo Âmbito .
- Selecione o nome da definição de política: "As chaves devem ter uma política de rotação que garanta que a rotação está agendada dentro do número especificado de dias após a criação. "
- Aceda ao separador Parâmetros na parte superior da página.
- Defina Os dias máximos para rodar o parâmetro para o número de dias pretendido, por exemplo, 730.
- Defina o efeito pretendido da política (Auditoria ou Desativado).
- Preencha quaisquer campos adicionais. Navegue pelos separadores clicando nos botões Anterior e Seguinte na parte inferior da página.
- Selecione Rever + criar
- Selecione Criar
Depois de atribuída a política incorporada, pode demorar até 24 horas a concluir a análise. Após a conclusão da análise, pode ver os resultados de compatibilidade, como abaixo.