Partilhar via


Configurar a rotação automática de chaves criptográficas no Azure Key Vault

Visão geral

A rotação automatizada de chaves criptográficas no Cofre de Chaves permite que os usuários configurem o Cofre de Chaves para gerar automaticamente uma nova versão de chave em 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 versionados, veja Objetos, identificadores e controlo de versões do Key Vault. Para obter uma compreensão abrangente dos conceitos de rotação automática em diferentes tipos de ativos no Cofre de Chaves do Azure, consulte Noções básicas sobre rotação automática no Cofre de Chaves do Azure.

Integração com os serviços do Azure

Este recurso permite a rotação sem toque de ponta a ponta para a criptografia de dados em repouso nos serviços do Azure com uma chave gerida pelo cliente (CMK) armazenada no Azure Key Vault. Consulte a documentação específica do serviço do Azure para verificar se o serviço cobre a rotação de ponta a ponta.

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

Preços

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

Permissões necessárias

O recurso de rotação de chaves do Cofre de Chaves requer permissões de gerenciamento de chaves. Você pode atribuir uma função de "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 o modelo de permissão RBAC do Cofre da Chave e atribuir funções do Azure, consulte Usar um RBAC do Azure para controlar o acesso a chaves, certificados e segredos

Observação

Se utilizar um modelo de permissão de políticas de acesso, é necessário definir as permissões de chave 'Rotacionar', 'Definir política de rotação' e 'Obter política de rotação' para gerir a política de rotação das chaves.

Política de rotação de chaves

A política de rotação de chaves permite que os usuários configurem a rotação e as notificações do Event Grid quando a expiração está próxima.

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 validade na chave recém-girada. Isso não afeta a chave atual.
  • Ativado/desativado: sinalizador para ativar ou desativar 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 do vencimento. Requer 'Tempo de expiração' definido na política de rotação e 'Data de validade' definido na chave.
  • Tempo de rotação: intervalo de rotação da chave, o valor mínimo é de sete dias a partir da criação e sete dias a partir do tempo de expiração
  • Tempo de notificação: chave perto do intervalo de eventos de expiração para notificação de grade de eventos. Requer 'Tempo de expiração' definido na política de rotação e 'Data de validade' definido na chave.

Importante

A rotação de chaves gera uma nova versão de uma chave existente com novo material criptográfico. Os serviços de destino devem usar a URI de chave sem versão para atualizar automaticamente para a versão mais recente da chave. Certifique-se de que a sua solução de criptografia de dados armazene o URI de chave na versão com dados para apontar para o mesmo material de chave para desencriptar/desempacotar que foi usado para as operações de encriptar/empacotar, para evitar interrupções nos seus serviços. Todos os serviços do Azure estão atualmente seguindo esse padrão para criptografia de dados.

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

Configurar política de rotação de chaves

Configure a política de rotação de chaves durante a criação de chaves.

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

Azure CLI (Interface de Linha de Comando da 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"
  }
}

Definir a política de rotação de uma chave utilizando um ficheiro guardado anteriormente com o comando Azure CLI 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.

Portais

Clique em 'Girar agora' para invocar a rotação.

Rotação sob demanda

Azure CLI (Interface de Linha de Comando da Azure)

Use o comando Azure CLI az keyvault key rotate para girar a chave.

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

Azure PowerShell

Utilize o cmdlet Invoke-AzKeyVaultKeyRotation do Azure PowerShell.

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

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

Configuração da notificação de expiração para a chave da Grade de Eventos perto do evento de expiração. Caso a rotação automatizada não possa ser usada, como quando uma chave é importada do HSM local, você pode configurar a notificação de quase expiração 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 prazo expirar para acionar o evento próximo da expiração.

Configurar notificação

Para obter mais informações sobre notificações do Event Grid no Cofre de Chaves, consulte Azure Key Vault como fonte de Event Grid

Configurar a rotação de chaves com o template ARM

A política de rotação de chaves também pode ser configurada usando modelos ARM.

Observação

Ele requer a função 'Key Vault Contributor' no Key Vault configurado com o RBAC do Azure para implantar a chave através do plano de controle.

{
    "$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 definição de política

  1. Navegue até o recurso de políticas
  2. Selecione Atribuições em Criação no lado esquerdo da página Política do Azure.
  3. Selecione Atribuir política na parte superior da página. Este botão é aberto na página Atribuição de políticas.
  4. Insira as seguintes informações:
  5. Preencha todos os campos adicionais. Navegue pelos separadores clicando nos botões Anterior e Seguinte na parte inferior da página.
  6. Selecione Rever + criar
  7. Selecione Criar

Uma vez que a política incorporada é atribuída, pode levar até 24 horas para concluir a verificação. Depois que a verificação for concluída, você poderá ver os resultados de conformidade como abaixo.

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

Recursos