Remover um protetor TDE (Transparent Data Encryption) usando o PowerShell
Aplica-se a:Banco de Dados SQL do Azure Azure SQL Managed InstanceAzure Synapse Analytics (somente pools SQLdedicados)
Este artigo descreve como responder a uma proteção TDE potencialmente comprometida para o Banco de Dados SQL do Azure ou o Azure Synapse Analytics que está usando TDE com chaves gerenciadas pelo cliente no Azure Key Vault - Bring Your Own Key (BYOK) support. Para saber mais sobre o suporte BYOK para TDE, consulte a página de visão geral.
Atenção
Os procedimentos descritos neste artigo só devem ser feitos em casos extremos ou em ambientes de teste. Analise as etapas cuidadosamente, pois excluir protetores TDE usados ativamente do Cofre de Chaves do Azure resultará na indisponibilidade do banco de dados.
Se houver suspeita de comprometimento de uma chave, de modo que um serviço ou usuário tenha acesso não autorizado à chave, é melhor excluí-la.
Tenha em mente que, uma vez que o protetor TDE é excluído no Cofre de Chaves, em até 10 minutos, todos os bancos de dados criptografados começarão a negar todas as conexões com a mensagem de erro correspondente e alterarão seu estado para Inacessível.
Este guia de instruções aborda a abordagem para tornar os bancos de dados inacessíveis após uma resposta a um incidente comprometida.
Nota
Este artigo aplica-se à Base de Dados SQL do Azure, à Instância Gerida SQL do Azure e ao Azure Synapse Analytics (pools SQL dedicados (anteriormente SQL DW)). Para obter documentação sobre Criptografia de Dados Transparente para pools SQL dedicados dentro de espaços de trabalho Synapse, consulte Criptografia do Azure Synapse Analytics.
Pré-requisitos
- Você deve ter uma assinatura do Azure e ser um administrador nessa assinatura.
- Você deve ter o Azure PowerShell instalado e em execução.
- Este guia de instruções pressupõe que você já esteja usando uma chave do Cofre de Chaves do Azure como o protetor TDE para um Banco de Dados SQL do Azure ou Sinapse do Azure. Consulte Criptografia de dados transparente com suporte BYOK para saber mais.
Para obter instruções de instalação do módulo Az, veja Instalar o Azure PowerShell. Para cmdlets específicos, consulte AzureRM.Sql. Use o novo módulo Az do Azure PowerShell.
Verifique as impressões digitais do TDE Protetor
As etapas a seguir descrevem como verificar as impressões digitais do TDE Protetor ainda em uso pelos Arquivos de Log Virtuais (VLF) de um determinado banco de dados. A impressão digital do protetor TDE atual do banco de dados e o ID do banco de dados podem ser encontrados executando:
SELECT [database_id],
[encryption_state],
[encryptor_type], /*asymmetric key means AKV, certificate means service-managed keys*/
[encryptor_thumbprint]
FROM [sys].[dm_database_encryption_keys]
A consulta a seguir retorna os VLFs e as respetivas impressões digitais do TDE Protetor em uso. Cada impressão digital diferente refere-se a uma chave diferente no Azure Key Vault (AKV):
SELECT * FROM sys.dm_db_log_info (database_id)
Como alternativa, você pode usar o PowerShell ou a CLI do Azure:
O comando Get-AzureRmSqlServerKeyVaultKey
PowerShell fornece a impressão digital do Protetor TDE usado na consulta, para que você possa ver quais chaves manter e quais chaves excluir no AKV. Somente as chaves não mais usadas pelo banco de dados podem ser excluídas com segurança do Cofre de Chaves do Azure.
Mantenha os recursos criptografados acessíveis
Crie uma nova chave no Cofre da Chave. Certifique-se de que essa nova chave seja criada em um cofre de chaves separado do protetor TDE potencialmente comprometido, já que o controle de acesso é provisionado em um nível de cofre.
Adicione a nova chave ao servidor usando os cmdlets Add-AzSqlServerKeyVaultKey e Set-AzSqlServerTransparentDataEncryptionProtector e atualize-a como o novo protetor TDE do servidor.
# add the key from Key Vault to the server Add-AzSqlServerKeyVaultKey -ResourceGroupName <SQLDatabaseResourceGroupName> -ServerName <LogicalServerName> -KeyId <KeyVaultKeyId> # set the key as the TDE protector for all resources under the server Set-AzSqlServerTransparentDataEncryptionProtector -ResourceGroupName <SQLDatabaseResourceGroupName> ` -ServerName <LogicalServerName> -Type AzureKeyVault -KeyId <KeyVaultKeyId>
Verifique se o servidor e todas as réplicas foram atualizadas para o novo protetor TDE usando o cmdlet Get-AzSqlServerTransparentDataEncryptionProtector .
Nota
Pode levar alguns minutos para que o novo protetor TDE se propague para todos os bancos de dados e bancos de dados secundários sob o servidor.
Get-AzSqlServerTransparentDataEncryptionProtector -ServerName <LogicalServerName> -ResourceGroupName <SQLDatabaseResourceGroupName>
Faça um backup da nova chave no Cofre da Chave.
# -OutputFile parameter is optional; if removed, a file name is automatically generated. Backup-AzKeyVaultKey -VaultName <KeyVaultName> -Name <KeyVaultKeyName> -OutputFile <DesiredBackupFilePath>
Exclua a chave comprometida do Cofre da Chave usando o cmdlet Remove-AzKeyVaultKey .
Remove-AzKeyVaultKey -VaultName <KeyVaultName> -Name <KeyVaultKeyName>
Para restaurar uma chave para o Cofre da Chave no futuro usando o cmdlet Restore-AzKeyVaultKey .
Restore-AzKeyVaultKey -VaultName <KeyVaultName> -InputFile <BackupFilePath>
Tornar os recursos criptografados inacessíveis
Solte os bancos de dados que estão sendo criptografados pela chave potencialmente comprometida.
O backup do banco de dados e dos arquivos de log é feito automaticamente, portanto, uma restauração point-in-time do banco de dados pode ser feita a qualquer momento (desde que você forneça a chave). Os bancos de dados devem ser descartados antes da exclusão de um protetor TDE ativo para evitar a perda potencial de dados de até 10 minutos das transações mais recentes.
Faça backup do material chave do protetor TDE no Cofre de chaves.
Remova a chave potencialmente comprometida do Cofre da Chave.
Nota
Pode levar cerca de 10 minutos para que qualquer alteração de permissão entre em vigor no cofre de chaves. Isso inclui revogar as permissões de acesso ao protetor TDE no AKV, e os usuários dentro desse período de tempo ainda podem ter permissões de acesso.
Conteúdos relacionados
- Saiba como girar o protetor TDE de um servidor para cumprir os requisitos de segurança: Gire o protetor de criptografia de dados transparente usando o PowerShell
- Introdução ao suporte Bring Your Own Key para TDE: ative o TDE usando sua própria chave do Cofre da Chave usando o PowerShell