Compartilhar via


Configurar a rotação automática de chave criptográfica no Azure Key Vault

Ao automatizar a rotação de chaves criptográficas em Key Vault, você pode configurar Key Vault para criar automaticamente uma nova versão de chave em uma frequência escolhida. Para configurar a rotação, use a política de rotação de chaves, que você pode definir para cada chave individual.

Para seguir as práticas recomendadas de criptografia, gire as chaves de criptografia pelo menos a cada dois anos.

Para obter mais informações sobre como o Key Vault versiona objetos, consulte Key Vault objetos, identificadores e controle de versão. Para obter uma compreensão abrangente dos conceitos de autorotação em diferentes tipos de ativos no Azure Key Vault, consulte Compreendendo a autorotação no Azure Key Vault.

Integração com serviços de Azure

Esse recurso permite rotação sem interferência manual de ponta a ponta para criptografia em repouso para serviços da Azure com CMK (chave gerenciada pelo cliente) armazenada no Azure Key Vault. Verifique a documentação específica do serviço Azure para ver se o serviço dá suporte à rotação de ponta a ponta.

Observação

Quando você rotaciona chaves gerenciadas pelo cliente que os serviços do Azure usam, o tempo necessário para cada serviço detectar e aplicar a nova versão da chave varia (de uma hora a 24 horas ou mais). Consulte a documentação específica do serviço Azure para obter diretrizes sobre quando você pode desabilitar com segurança a versão da chave antiga após a rotação.

Para obter mais informações sobre criptografia de dados no Azure, consulte:

Preços

Há um custo extra para cada rotação de chave agendada. Para obter mais informações, consulte a página de preços Azure Key Vault.

Permissões exigidas

O recurso de rotação de chave Key Vault requer permissões de gerenciamento de chaves. Atribua a função Key Vault Crypto Officer para gerenciar a política de rotação e a rotação sob demanda.

Para obter mais informações sobre como usar Azure RBAC para Key Vault e atribuir funções Azure, consulte Use um RBAC Azure para controlar o acesso a chaves, certificados e segredos.

Observação

Se você usar o modelo de permissão de políticas de acesso, defina as permissões de chave "Rotacionar", "Definir Política de Rotação" e "Obter Política de Rotação" para gerenciar a política de rotação para chaves.

Política de rotação de chaves

A política de rotação de chaves permite que você configure a rotação e as notificações do Event Grid para alertar sobre a proximidade de expiração.

Configurações da política de rotação de chaves:

  • Tempo de expiração: intervalo de expiração da chave. Define a data do término na chave recém-rotacionada. Ela não afeta a 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 chave. 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 a sua solução de criptografia de dados armazena o URI da chave com controle de versão junto com os dados, de modo que aponte para o mesmo material de chave nas operações de descriptografia/desempacotamento, a fim de evitar interrupções nos seus serviços. Todos os serviços de Azure atualmente seguem esse padrão para criptografia de dados.

A rotação de chaves encapsula novamente as DEKs (chaves de criptografia de dados) com a nova versão da chave. Ela não criptografa novamente os dados subjacentes. As versões de chave antigas e novas devem permanecer habilitadas até que o reempacotamento seja concluído, pois os dados existentes permanecem criptografados em DEKs envolvidos pela versão de chave antiga.

Configuração da política de rotação

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 rotação durante a criação da chave

Configurar a política de rotação nas chaves existentes.

Configurar a rotação na chave existente

CLI do Azure

Salve a política de rotação de chaves em um arquivo. Aqui está um exemplo de uma política de rotação de chave:

{
  "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 Azure PowerShell Set-AzKeyVaultKeyRotationPolicy.

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

Você pode invocar manualmente a rotação de chaves.

Portal

Selecione Girar Agora para iniciar o processo de rotação.

Rotação sob demanda

CLI do Azure

Use o comando CLI do Azure az keyvault rotate para girar uma chave.

az keyvault key rotate --vault-name <vault-name> --name <key-name>

Azure PowerShell

Utilize o cmdlet Invoke-AzKeyVaultKeyRotation do Azure PowerShell para rotacionar uma chave.

Invoke-AzKeyVaultKeyRotation -VaultName <vault-name> -Name <key-name>

Configurar a notificação de expiração da chave próxima

Você pode configurar uma notificação de expiração para a chave da Grade de Eventos perto do evento de expiração. Se a rotação automatizada não puder ser usada, como quando uma chave for importada do HSM local, você poderá configurar uma notificação de expiração próxima como um lembrete para rotação manual ou como um gatilho para a rotação automatizada personalizada por meio da integração com a Grade de Eventos. Você pode definir a notificação para ser acionada dias, meses ou anos antes do evento de expiração da chave.

Configurar notificação

Para obter mais informações sobre as notificações da Grade de Eventos no Key Vault, consulte Azure Key Vault como origem da Grade de Eventos.

Configurar a rotação de chaves usando o modelo do ARM

Você pode configurar a política de rotação de chaves usando modelos do ARM.

Observação

Para implantar uma chave por meio do plano de controle, você precisa da função Key Vault Colaborador no Key Vault configurado com Azure RBAC.

{
    "$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."
            }
        },
        "rotationTimeAfterCreate": {
            "defaultValue": "P18M",
            "type": "String",
            "metadata": {
                "description": "Time duration to trigger key rotation, for example, P30D, P1M, P2Y."
            }
        },
        "expiryTime": {
            "defaultValue": "P2Y",
            "type": "String",
            "metadata": {
                "description": "The expiry time for new key version, for example, P90D, P2M, P3Y."
            }
        },
        "notifyTime": {
            "defaultValue": "P30D",
            "type": "String",
            "metadata": {
                "description": "Near expiry Event Grid notification, for example, P30D."
            }
        }

    },
    "resources": [
        {
            "type": "Microsoft.KeyVault/vaults/keys",
            "apiVersion": "2024-11-01",
            "name": "[concat(parameters('vaultName'), '/', parameters('keyName'))]",
            "location": "[resourceGroup().location]",
            "properties": {
                "vaultName": "[parameters('vaultName')]",
                "kty": "RSA",
                "rotationPolicy": {
                    "lifetimeActions": [
                        {
                            "trigger": {
                                "timeAfterCreate": "[parameters('rotationTimeAfterCreate')]",
                                "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 estejam configuradas para girar em um número especificado de dias.

Criar e atribuir a definição de política

  1. Vá para o recurso "Política".
  2. Selecione Assignments em Authoring, à esquerda da página Azure Policy.
  3. Selecione Atribuir política no topo da página. Esse botão abre a página Atribuição de política.
  4. Insira as seguintes informações:
  5. Preencha todos os campos adicionais. Navegue pelas guias clicando nos botões Anterior e Próximo na parte inferior da página.
  6. Selecione Examinar + criar.
  7. Selecione Criar.

Após a atribuição da política interna, a verificação pode levar até 24 horas para ser concluída. Quando a verificação for concluída, você poderá ver os resultados de conformidade como os seguintes.

Captura de tela da conformidade com a política de rotação de chaves.

Usar a IA para personalizar políticas de rotação de chaves

GitHub Copilot pode ajudá-lo a criar políticas de rotação de chaves personalizadas para seus requisitos de conformidade específicos ou integrações de serviço Azure.

I need to configure a key rotation policy for my Azure Key Vault key that's used for Azure Storage encryption. Help me create the rotation policy with these requirements:
- Key vault name: my-storage-kv
- Key name: storage-encryption-key
- Rotate the key every 180 days
- Send a notification 30 days before expiry
- Set key expiration to 2 years
Provide both Azure CLI commands and a JSON policy file I can use with the Azure CLI.

GitHub Copilot é alimentado pela IA, portanto, surpresas e erros são possíveis. Para obter mais informações, consulte Copilot perguntas frequentes.

Recursos