Partilhar via


Gire o protetor de criptografia de dados transparente (TDE)

Aplica-se a:Banco de Dados SQL do Azure Azure SQL Managed InstanceAzure Synapse Analytics (somente pools SQLdedicados)

Este artigo descreve a rotação de chaves para um servidor usando um protetor TDE do Cofre de Chaves do Azure. Girar o protetor TDE lógico para um servidor significa alternar para uma nova chave assimétrica que protege os bancos de dados no servidor. A rotação de chaves é uma operação online e deve levar apenas alguns segundos para ser concluída, porque isso apenas descriptografa e criptografa novamente a chave de criptografia de dados do banco de dados, não todo o banco de dados.

Este artigo discute métodos automatizados e manuais para girar o protetor TDE no servidor.

Considerações importantes ao girar o protetor TDE

  • Quando o protetor TDE é alterado/girado, backups antigos do banco de dados, incluindo arquivos de log de backup, não são atualizados para usar o protetor TDE mais recente. Para restaurar um backup criptografado com um protetor TDE do Cofre de Chaves, certifique-se de que o material da chave esteja disponível para o servidor de destino. Portanto, recomendamos que você mantenha todas as versões antigas do protetor TDE no Azure Key Vault (AKV), para que os backups de banco de dados possam ser restaurados.
  • Mesmo ao mudar da chave gerenciada pelo cliente (CMK) para a chave gerenciada pelo serviço, mantenha todas as chaves usadas anteriormente no AKV. Isso garante que os backups do banco de dados, incluindo arquivos de log de backup, possam ser restaurados com os protetores TDE armazenados no AKV.
  • Além de backups antigos, os arquivos de log de transações também podem exigir acesso ao protetor TDE mais antigo. Para determinar se há algum log restante que ainda exija a chave mais antiga, depois de executar a rotação de chaves, use o sys.dm_db_log_info modo de exibição de gerenciamento dinâmico (DMV). Este DMV retorna informações sobre o arquivo de log virtual (VLF) do log de transações, juntamente com sua impressão digital da chave de criptografia do VLF.
  • As chaves mais antigas precisam ser mantidas no AKV e disponíveis para o servidor com base no período de retenção de backup configurado como parte traseira das políticas de retenção de backup no banco de dados. Isso ajuda a garantir que todos os backups de retenção de longo prazo (LTR) no servidor ainda possam ser restaurados usando as chaves mais antigas.

Nota

Um pool SQL dedicado pausado no Azure Synapse Analytics deve ser retomado antes das rotações de chave.

Este artigo aplica-se à Base de Dados SQL do Azure, à Instância Gerida SQL do Azure e aos pools SQL dedicados do Azure Synapse Analytics (anteriormente SQL DW). Para obter documentação sobre criptografia de dados transparente (TDE) para pools SQL dedicados dentro de espaços de trabalho Synapse, consulte Criptografia do Azure Synapse Analytics.

Importante

Não exclua versões anteriores da chave após uma sobreposição. Quando as chaves são roladas, alguns dados ainda são criptografados com as chaves anteriores, como backups de banco de dados mais antigos, arquivos de log de backup e arquivos de log de transações.

Pré-requisitos

  • Este guia de instruções pressupõe que você já esteja usando uma chave do Cofre de Chaves do Azure como protetor TDE para o Banco de Dados SQL do Azure ou o Azure Synapse Analytics. Consulte Criptografia de dados transparente com suporte BYOK.
  • Você deve ter o Azure PowerShell instalado e em execução.

Gorjeta

Recomendado, mas opcional - crie primeiro o material de chave para o protetor TDE em um módulo de segurança de hardware (HSM) ou armazenamento de chaves local e importe o material de chave para o Cofre de Chaves do Azure. Siga as instruções para usar um módulo de segurança de hardware (HSM) e o Cofre de Chaves para saber mais.

Aceda ao Portal do Azure

Rotação automática de chaves

A rotação automática para o protetor TDE pode ser habilitada ao configurar o protetor TDE para o servidor ou o banco de dados, a partir do portal do Azure ou usando os comandos abaixo do PowerShell ou da CLI do Azure. Uma vez ativado, o servidor ou banco de dados verificará continuamente o cofre de chaves em busca de novas versões da chave que está sendo usada como protetor TDE. Se uma nova versão da chave for detetada, o protetor TDE no servidor ou banco de dados será automaticamente girado para a versão mais recente da chave dentro de 24 horas.

A rotação automática em um servidor, banco de dados ou instância gerenciada pode ser usada com a rotação automática de chaves no Cofre de Chaves do Azure para habilitar a rotação zero touch de ponta a ponta para chaves TDE.

Nota

Se o servidor ou a instância gerenciada tiver a replicação geográfica configurada, antes de habilitar a rotação automática, diretrizes adicionais precisarão ser seguidas, conforme descrito aqui.

Usando o portal do Azure:

  1. Navegue até a seção Criptografia de dados transparente para um servidor existente ou instância gerenciada.
  2. Selecione a opção Chave gerenciada pelo cliente e selecione o cofre de chaves e a chave a serem usados como protetor TDE.
  3. Marque a caixa de seleção Girar automaticamente a chave .
  4. Selecione Guardar.

Screenshot of auto rotate key configuration for Transparent data encryption.

Rotação automática de chaves no nível do banco de dados

A rotação automática de chaves também pode ser habilitada no nível do banco de dados para o Banco de Dados SQL do Azure. Isso é útil quando você deseja habilitar a rotação automática de chaves para apenas um ou um subconjunto de bancos de dados em um servidor. Para obter mais informações, consulte Gerenciamento de identidades e chaves para TDE com chaves gerenciadas pelo cliente no nível do banco de dados.

Para obter informações do portal do Azure sobre como configurar a rotação automática de chaves no nível do banco de dados, consulte Atualizar um Banco de Dados SQL do Azure existente com chaves gerenciadas pelo cliente no nível do banco de dados.

Rotação automática de chaves para configurações de replicação geográfica

Em uma configuração de replicação geográfica do Banco de Dados SQL do Azure em que o servidor primário está definido para usar TDE com CMK, o servidor secundário também precisa ser configurado para habilitar TDE com CMK com a mesma chave usada no primário.

Usando o portal do Azure:

  1. Navegue até a seção Criptografia de dados transparente para o servidor primário .

  2. Selecione a opção Chave gerenciada pelo cliente e selecione o cofre de chaves e a chave a serem usados como protetor TDE.

  3. Marque a caixa de seleção Girar automaticamente a chave .

  4. Selecione Guardar.

    Screenshot of auto rotate key configuration for transparent data encryption in a geo-replication scenario on the primary server.

  5. Navegue até a seção Criptografia de dados transparente para o servidor secundário .

  6. Selecione a opção Chave gerenciada pelo cliente e selecione o cofre de chaves e a chave a serem usados como protetor TDE. Use a mesma chave usada para o servidor primário.

  7. Desmarque Tornar esta chave o protetor TDE padrão.

  8. Selecione Guardar.

    Screenshot of auto rotate key configuration for transparent data encryption in a geo-replication scenario on the secondary server.

Quando a chave é girada no servidor primário, ela é transferida automaticamente para o servidor secundário.

Use chaves diferentes para cada servidor

É possível configurar os servidores primário e secundário com uma chave de cofre de chave diferente ao configurar o TDE com CMK no portal do Azure. Não é evidente no portal do Azure que a chave usada para proteger o servidor primário também é a mesma chave que protege o banco de dados primário que foi replicado para o servidor secundário. No entanto, você pode usar o PowerShell, a CLI do Azure ou as APIs REST para obter detalhes sobre as chaves usadas no servidor. Isso mostra que as chaves giradas automaticamente são transferidas do servidor primário para o servidor secundário.

Veja um exemplo de uso de comandos do PowerShell para verificar chaves que são transferidas do servidor primário para o servidor secundário após a rotação de chaves.

  1. Execute o seguinte comando no servidor primário para exibir os detalhes da chave de um servidor:

    Get-AzSqlServerKeyVaultKey -ServerName <logicalServerName> -ResourceGroupName <SQLDatabaseResourceGroupName> 
    
  2. Você deve ver resultados semelhantes aos seguintes:

    ResourceGroupName : <SQLDatabaseResourceGroupName> 
    ServerName        : <logicalServerName> 
    ServerKeyName     : <keyVaultKeyName> 
    Type              : AzureKeyVault 
    Uri               : https://<keyvaultname>.vault.azure.net/keys/<keyName>/<GUID> 
    Thumbprint        : <thumbprint> 
    CreationDate      : 12/13/2022 8:56:32 PM
    
  3. Execute o mesmo Get-AzSqlServerKeyVaultKey comando no servidor secundário:

    Get-AzSqlServerKeyVaultKey -ServerName <logicalServerName> -ResourceGroupName <SQLDatabaseResourceGroupName> 
    
  4. Se o servidor secundário tiver um protetor TDE padrão usando uma chave diferente do servidor primário, você verá duas (ou mais) chaves. A primeira chave é o protetor TDE padrão e a segunda chave é a chave usada no servidor primário usado para proteger o banco de dados replicado.

  5. Quando a chave é girada no servidor primário, ela é transferida automaticamente para o servidor secundário. Se você executar o Get-AzSqlServerKeyVaultKey novamente no servidor primário, deverá ver duas chaves. A primeira chave é a chave original e a segunda chave, que é a chave atual que foi gerada como parte da rotação da chave.

  6. A execução do Get-AzSqlServerKeyVaultKey comando no servidor secundário também deve mostrar as mesmas chaves que estão presentes no servidor primário. Isso confirma que as chaves giradas no servidor primário são transferidas automaticamente para o servidor secundário e usadas para proteger a réplica do banco de dados.

Rotação manual da chave

A rotação manual de chaves usa os seguintes comandos para adicionar uma nova chave, que pode estar sob um novo nome de chave ou até mesmo outro cofre de chaves. O uso dessa abordagem oferece suporte à adição da mesma chave a diferentes cofres de chaves para oferecer suporte a cenários de alta disponibilidade e geo-dr. A rotação manual de chaves também pode ser feita usando o portal do Azure.

Com a rotação manual de chaves, quando uma nova versão de chave é gerada no cofre de chaves (manualmente ou através da política de rotação automática de chaves no cofre de chaves), o mesmo deve ser definido manualmente como o protetor TDE no servidor.

Nota

O comprimento combinado para o nome do cofre de chaves e o nome da chave não pode exceder 94 caracteres.

Através do portal do Azure:

  1. Navegue até o menu Criptografia de dados transparente para um servidor existente ou instância gerenciada.
  2. Selecione a opção Chave gerenciada pelo cliente e selecione o cofre de chaves e a chave a serem usados como o novo protetor TDE.
  3. Selecione Guardar.

Screenshot of manually rotate key configuration for Transparent data encryption.

Alternar o modo protetor TDE

Usando o portal do Azure para alternar o protetor TDE do modo gerenciado pela Microsoft para o modo BYOK:

  1. Navegue até o menu Criptografia de dados transparente para um servidor existente ou instância gerenciada.
  2. Selecione a opção Chave gerenciada pelo cliente.
  3. Selecione o cofre de chaves e a chave a ser usada como protetor TDE.
  4. Selecione Guardar.