Partilhar via


Gire o protetor de criptografia de dados transparente (TDE)

Aplica-se a:Banco de Dados SQL do AzureInstância Gerenciada SQL do Azure(somente pools SQL dedicados) do Azure Synapse Analytics

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 Azure Key Vault ou do Azure Managed HSM, verifique se o material da chave está disponível para o servidor de destino. Portanto, recomendamos que você mantenha todas as versões antigas do protetor TDE no Azure Key Vault ou no Azure Managed HSM, para que os backups de banco de dados possam ser restaurados.
  • Mesmo ao mudar de chave gerenciada pelo cliente (CMK) para chave gerenciada por serviço, mantenha todas as chaves usadas anteriormente no Cofre de Chaves do Azure ou no HSM Gerenciado do Azure. Isso garante que os backups de banco de dados, incluindo arquivos de log de backup, possam ser restaurados com os protetores TDE armazenados no Azure Key Vault ou no Azure Managed HSM.
  • Além dos backups antigos, os arquivos de log de transações também podem exigir acesso ao protetor TDE antigo. Para determinar se há logs restantes que ainda exijam a chave antiga, após realizar a rotação de chaves, utilize a vista de gestão dinâmica (DMV) sys.dm_db_log_info. Este DMV fornece informações sobre o arquivo de log virtual (VLF) do log de transações, juntamente com a impressão digital da chave de criptografia do VLF.
  • As chaves mais antigas precisam ser mantidas no Cofre de Chaves do Azure ou no HSM Gerenciado do Azure e disponíveis para o servidor com base no período de retenção de backup configurado como parte posterior 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.

Observação

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 a criptografia transparente de dados (TDE) para pools SQL dedicados nos espaços de trabalho do Synapse, consulte a criptografia do Azure Synapse Analytics.

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.

Dica

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 Azure Key Vault para saber mais.

Aceda ao portal do Azure

Rotação automática de chaves

A de 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 num servidor, banco de dados ou instância gerida pode ser usada com a rotação automática de chaves no Azure Key Vault para habilitar uma rotação totalmente automática de ponta a ponta para as chaves TDE.

Observação

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 Azure :

  1. Navegue até a seção Criptografia de dados transparente para um servidor existente ou instância gerenciada.
  2. Selecione a opção de chave gerida pelo cliente e selecione o cofre de chaves e a chave a serem usados como protetor TDE.
  3. Marque a caixa de seleção de rotação automática da chave.
  4. Selecione Salvar.

Captura de tela da configuração de chave de rotação automática para criptografia de dados transparente.

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 de 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 Azure :

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

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

  3. Marque a caixa de seleção de rotação automática da chave.

  4. Selecione Salvar.

    Captura de tela da configuração de chave de rotação automática para criptografia de dados transparente em um cenário de replicação geográfica no servidor primário.

  5. Navegue para a seção Transparent data encryption para o servidor secundário.

  6. Selecione a opção de chave gerida 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 Definir esta chave como o protetor TDE padrão.

  8. Selecione Salvar.

    Captura de tela da configuração de chave de rotação automática para criptografia de dados transparente em um cenário de replicação geográfica no servidor secundário.

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

Observação

Se a mesma chave do cofre de chaves no servidor primário for usada como o protetor TDE padrão no servidor secundário, verifique se de chave de rotação automática está habilitada para servidores. Se não o fizer, os fluxos de trabalho de rotação automática poderão entrar num estado de erro e impedir novas operações manuais de rotação de chaves.

Use chaves diferentes para cada servidor

É possível configurar os servidores primário e secundário com uma chave de cofre de chaves 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 comando Get-AzSqlServerKeyVaultKey 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 comando Get-AzSqlServerKeyVaultKey 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 utiliza os seguintes comandos para adicionar uma nova chave, que pode estar com um novo nome de chave ou até mesmo em 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 (seja manualmente ou através da política de rotação automática no cofre de chaves), esta nova versão deve ser configurada manualmente como o protetor TDE no servidor.

Observação

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

Usando o portal do Azure:

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

Captura de tela da configuração de chave girada manualmente para criptografia de dados transparente.

Alternar o modo protetor do 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 de criptografia de dados Transparent 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 Salvar.