Remova um protetor da Encriptação de Dados Transparente no Azure Synapse Analytics

Dica

Microsoft Fabric Data Warehouse é um armazém relacional de escala empresarial baseado numa base de data lake, com uma arquitetura pronta para o futuro, IA incorporada e novas funcionalidades. Se és novo no data warehousing, começa pelo Fabric Data Warehouse. As cargas de trabalho existentes de pool SQL dedicado podem atualizar para o Fabric para acessar novas capacidades em ciência de dados, análise em tempo real e relatórios.

Aplica-se a: Pools SQL dedicados do Azure Synapse Analytics (anteriormente SQL DW)

Use este procedimento quando um protetor TDE gerido pelo cliente possa estar comprometido. Alterne para um novo protetor antes de eliminar ou desativar a chave antiga para que os pools SQL dedicados permaneçam acessíveis.

Caution

Eliminar ou desativar um protetor TDE ativo torna todos os pools SQL dedicados que dependem dele inacessíveis. Revise o plano de resposta a incidentes e os requisitos de retenção de backup antes de remover uma chave.

Note

Este artigo aborda pools SQL dedicados independentes (anteriormente SQL DW). Para pools SQL dedicados num espaço de trabalho Synapse, veja Encryption for Azure Synapse Analytics workspaces.

Eliminar uma chave não invalida cópias dessa chave que tinham sido anteriormente guardadas ou restauradas noutro cofre de chaves. Proteja e inventarie cada cópia como parte da resposta ao incidente.

Prerequisites

Verifique as impressões digitais do protetor TDE

Os passos seguintes descrevem como verificar as impressões digitais de certificados do protetor TDE que os Ficheiros de Registo Virtuais (VLF) de uma determinada base de dados ainda utilizam.

Execute a seguinte consulta para encontrar a impressão digital do protetor TDE atual para a base de dados e o ID da base de dados:

SELECT [database_id],
       [encryption_state],
       [encryptor_type], /*asymmetric key means Azure Key Vault, certificate means service-managed keys*/
       [encryptor_thumbprint]
 FROM [sys].[dm_database_encryption_keys]

Execute a seguinte query para retornar os VLFs e os thumbprints do protetor TDE em uso. Cada impressão digital diferente refere-se a uma chave diferente no Azure Key Vault:

SELECT * FROM sys.dm_db_log_info (database_id)

Em alternativa, pode usar PowerShell ou CLI do Azure:

  • O comando Get-AzSqlServerKeyVaultKey PowerShell fornece a impressão digital do protetor TDE usado na consulta, para que possa ver quais as chaves a manter e quais eliminar no Azure Key Vault. Apenas as chaves que a base de dados já não utiliza podem ser eliminadas em segurança do Azure Key Vault.

  • O comando az sql server key show CLI do Azure fornece a impressão digital do protetor TDE usado na consulta, para que possas ver que chaves manter e quais eliminar no Azure Key Vault. Apenas as chaves que a base de dados já não utiliza podem ser eliminadas em segurança do Azure Key Vault.

Mantenha os recursos criptografados acessíveis

PowerShell

  1. Crie uma nova chave no Cofre de Chaves do Azure. Certifique-se de criar esta nova chave num cofre de chaves separado do protetor TDE potencialmente comprometido, uma vez que o controlo de acesso é provisionado ao nível do cofre.

  2. Adicione a nova chave ao servidor usando os cmdlets Add-AzSqlServerKeyVaultKey e Set-AzSqlServerTransparentDataEncryptionProtector , e atualize-a como novo protetor TDE do servidor.

    # add the key from Azure 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>
    
  3. Certifique-se de que o servidor e quaisquer réplicas sejam atualizados para o novo protetor TDE usando o cmdlet Get-AzSqlServerTransparentDataEncryptionProtector.

    Note

    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>
    
  4. Faça um backup da nova chave no Cofre de Chaves do Azure.

    # -OutputFile parameter is optional; if removed, a file name is automatically generated.
    Backup-AzKeyVaultKey -VaultName <KeyVaultName> -Name <KeyVaultKeyName> -OutputFile <DesiredBackupFilePath>
    
  5. Elimine a chave comprometida do Azure Key Vault usando o cmdlet Remove-AzKeyVaultKey.

    Remove-AzKeyVaultKey -VaultName <KeyVaultName> -Name <KeyVaultKeyName>
    
  6. Para restaurar uma chave para o Cofre de Chaves do Azure no futuro, use o cmdlet Restore-AzKeyVaultKey .

    Restore-AzKeyVaultKey -VaultName <KeyVaultName> -InputFile <BackupFilePath>
    

CLI do Azure

Para referência de comandos, consulte CLI do Azure keyvault.

  1. Crie uma nova chave no Cofre de Chaves do Azure. Certifique-se de criar esta nova chave num cofre de chaves separado do protetor TDE potencialmente comprometido, uma vez que o controlo de acesso é provisionado ao nível do cofre.

  2. Adicione a nova chave ao servidor e atualize-a como o novo protetor TDE do servidor.

    # add the key from Azure Key Vault to the server  
    az sql server key create --kid <KeyVaultKeyId> --resource-group <SQLDatabaseResourceGroupName> --server <LogicalServerName>
    
    # set the key as the TDE protector for all resources under the server
    az sql server tde-key set --server-key-type AzureKeyVault --kid <KeyVaultKeyId> --resource-group <SQLDatabaseResourceGroupName> --server <LogicalServerName>
    
  3. Garanta que o servidor e quaisquer réplicas atualizem para o novo protetor TDE.

    Note

    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.

    az sql server tde-key show --resource-group <SQLDatabaseResourceGroupName> --server <LogicalServerName>
    
  4. Faça um backup da nova chave no Cofre de Chaves do Azure.

    # --file parameter is optional; if removed, a file name is automatically generated.
    az keyvault key backup --file <DesiredBackupFilePath> --name <KeyVaultKeyName> --vault-name <KeyVaultName>
    
  5. Exclua a chave comprometida do Cofre de Chaves do Azure.

    az keyvault key delete --name <KeyVaultKeyName> --vault-name <KeyVaultName>
    
  6. Possibilidade de restaurar uma chave para o Azure Key Vault.

    az keyvault key restore --file <BackupFilePath> --vault-name <KeyVaultName>
    

Tornar os recursos criptografados inacessíveis

  1. Elimine as bases de dados que usam a chave potencialmente comprometida para encriptação.

    O sistema faz backup automático da base de dados e dos ficheiros de registo, para que possa realizar uma restauração pontual da base de dados a qualquer momento (desde que forneça a chave). Elimine as bases de dados antes de eliminar um protetor TDE ativo para evitar uma possível perda de dados de até 10 minutos das transações mais recentes.

  2. Faça backup do material de chave do protetor TDE no Cofre de Chaves do Azure.

  3. Remova a chave potencialmente comprometida do Cofre de Chaves do Azure.

Note

Pode demorar cerca de 10 minutos para que quaisquer alterações de permissão entrem em vigor para o cofre de chaves. Este período inclui revogar permissões de acesso ao protetor TDE no AKV, e os utilizadores podem ainda ter permissões de acesso.