Odebrání ochrany transparentní šifrování dat v Azure Synapse Analytics

Tip

Microsoft Fabric Data Warehouse je relační sklad v podnikovém měřítku na základu datového jezera s architekturou připravenou pro budoucnost, integrovanou AI a novými funkcemi. Pokud s datovými sklady začínáte, doporučujeme vám začít s „Fabric Data Warehouse“. Stávající úlohy dedikovaného SQL fondu mohou upgradovat na Fabric a získat tak přístup k novým funkcím napříč datovou vědou, analytikou v reálném čase a reportingem.

Platí pro: Vyhrazené SQL fondy služby Azure Synapse Analytics (dříve SQL DW)

Tento postup použijte v případě, že může být kompromitován zákaznicky spravovaný TDE protector. Před smazáním nebo deaktivací starého klíče přejděte na nový chránič, aby dedikované fondy SQL zůstaly přístupné.

Caution

Smazání nebo vypnutí aktivního TDE ochránce činí každý vyhrazený SQL pool, který na něm závisí, nedostupným. Před vyjmutím klíče si prostudujte plán reakce na incidenty a požadavky na uchovávání záloh.

Note

Tento článek se zabývá samostatnými dedikovanými SQL pooly (dříve SQL DW). Pro dedikované SQL pooly v Synapse workspace viz Encryption for Azure Synapse Analytics workspaces.

Smazání klíče nezneplatní kopie tohoto klíče, které byly dříve zálohovány nebo obnoveny do jiného klíčového trezoru. Chraňte a proveďte inventarizaci každé kopie jako součást reakce na incident.

Prerequisites

Zkontrolujte otisky certifikátu ochránce TDE

Následující kroky popisují, jak zkontrolovat otisky certifikátu ochrany TDE, které stále používají virtuální logovací soubory (VLF) dané databáze.

Spusťte následující dotaz pro nalezení otisku certifikátu aktuálního TDE ochránce pro databázi a ID databáze:

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]

Spusť následující dotaz, který vrátí VLF a otisky palců aktuálně používaného ochranného prvku TDE. Každý jiný otisk certifikátu odkazuje na jiný klíč v Azure Key Vault:

SELECT * FROM sys.dm_db_log_info (database_id)

Alternativně můžete použít PowerShell nebo Azure CLI:

  • Příkaz PowerShell Get-AzSqlServerKeyVaultKey poskytuje otisk certifikátu protektoru TDE použitého v dotazu, takže můžete vidět, které klíče si ponechat a které smazat v Azure Key Vault. Pouze klíče, které databáze již nepoužívá, lze bezpečně smazat z Azure Key Vault.

  • Příkaz az sql server key show Azure CLI poskytuje otisk palce ochrany TDE použité v příkazu, takže můžete vidět, které klíče si ponechat a které klíče odstranit v Azure Key Vault. Pouze klíče, které databáze již nepoužívá, lze bezpečně smazat z Azure Key Vault.

Zachování přístupnosti šifrovaných prostředků

PowerShell

  1. Vytvořte nový klíč ve službě Azure Key Vault. Ujistěte se, že tento nový klíč vytvoříte v jiném trezoru klíčů než v trezoru potenciálně kompromitovaného chrániče TDE, protože řízení přístupu je nastaveno na úrovni trezoru.

  2. Přidejte nový klíč na server pomocí cmdletů Add-AzSqlServerKeyVaultKey a Set-AzSqlServerTransparentDataEncryptionProtector a aktualizujte jej jako nový TDE protector serveru.

    # 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. Ujistěte se, že server a všechny repliky se aktualizují na nový chránič TDE pomocí příkazu Get-AzSqlServerTransparentDataEncryptionProtector.

    Note

    Může zabrat několik minut, než se nový ochránce TDE rozšíří do všech databází a sekundárních databází na serveru.

    Get-AzSqlServerTransparentDataEncryptionProtector -ServerName <LogicalServerName> -ResourceGroupName <SQLDatabaseResourceGroupName>
    
  4. Vytvořte zálohu nového klíče ve službě Azure Key Vault.

    # -OutputFile parameter is optional; if removed, a file name is automatically generated.
    Backup-AzKeyVaultKey -VaultName <KeyVaultName> -Name <KeyVaultKeyName> -OutputFile <DesiredBackupFilePath>
    
  5. Smažte kompromitovaný klíč z Azure Key Vault pomocí příkazu Remove-AzKeyVaultKey.

    Remove-AzKeyVaultKey -VaultName <KeyVaultName> -Name <KeyVaultKeyName>
    
  6. K obnovení klíče do služby Azure Key Vault v budoucnu použijte rutinu Restore-AzKeyVaultKey .

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

Azure CLI

Referenční informace k příkazům najdete v tématu Azure CLI keyvault.

  1. Vytvořte nový klíč ve službě Azure Key Vault. Ujistěte se, že tento nový klíč vytvoříte v samostatném trezoru klíčů, odděleném od potenciálně kompromitovaného ochranného mechanismu TDE, protože řízení přístupu je nastaveno na úrovni trezoru.

  2. Přidejte nový klíč na server a nastavte ho jako novou ochranu TDE serveru.

    # 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. Ujistěte se, že server a všechny repliky byly aktualizovány na nový TDE protektor.

    Note

    Může zabrat několik minut, než se nový ochránce TDE rozšíří do všech databází a sekundárních databází na serveru.

    az sql server tde-key show --resource-group <SQLDatabaseResourceGroupName> --server <LogicalServerName>
    
  4. Vytvořte zálohu nového klíče ve službě Azure Key Vault.

    # --file parameter is optional; if removed, a file name is automatically generated.
    az keyvault key backup --file <DesiredBackupFilePath> --name <KeyVaultKeyName> --vault-name <KeyVaultName>
    
  5. Odstraňte ohrožený klíč ze služby Azure Key Vault.

    az keyvault key delete --name <KeyVaultKeyName> --vault-name <KeyVaultName>
    
  6. Obnovit klíč v Azure Key Vault později.

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

Znepřístupnit šifrované prostředky

  1. Zrušte databáze, které používají potenciálně kompromitovaný klíč pro šifrování.

    Systém automaticky zálohuje databázi a logovací soubory, takže můžete kdykoli provést obnovení databáze k určitému bodu v čase (pokud zadáte klíč). Zrušte databáze dříve, než smažete aktivní chránič TDE, abyste předešli možné ztrátě dat až do 10 minut z nejnovějších transakcí.

  2. Zálohujte klíčový materiál ochrany transparentním šifrováním dat ve službě Azure Key Vault.

  3. Odeberte potenciálně ohrožený klíč ze služby Azure Key Vault.

Note

Může trvat asi 10 minut, než se jakákoli změna oprávnění pro klíčový trezor uplatní. Tento interval zahrnuje odebrání přístupových oprávnění k chrániči TDE v AKV a uživatelé mohou mít stále přístupová oprávnění.