Odebrání ochrany transparentní šifrování dat (TDE) pomocí PowerShellu

Platí pro:Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics (pouze vyhrazené fondy SQL)

Tento článek popisuje, jak reagovat na potenciálně ohroženou ochranu transparentním šifrováním dat pro službu Azure SQL Database nebo Azure Synapse Analytics, která používá transparentní šifrování dat s klíči spravovanými zákazníky ve službě Azure Key Vault – podpora byOK (Bring Your Own Key). Další informace o podpoře transparentního šifrování dat byOK najdete na stránce s přehledem.

Upozornění

Postupy popsané v tomto článku by se měly provádět pouze v extrémních případech nebo v testovacích prostředích. Pečlivě si projděte kroky, protože odstranění aktivně používaných ochrany transparentním šifrováním dat ze služby Azure Key Vault způsobí nedostupnost databáze.

Pokud je někdy podezření na ohrožení zabezpečení klíče, aby služba nebo uživatel měli k klíči neoprávněný přístup, je nejlepší klíč odstranit.

Mějte na paměti, že po odstranění ochrany transparentním šifrováním dat ve službě Key Vault se za 10 minut začnou všechna šifrovaná databáze zamítat všechna připojení s odpovídající chybovou zprávou a změnit její stav na Nepřístupný.

Tento návod vás provede přístupem k nedostupným databázím po ohrožené reakci na incidenty.

Poznámka:

Tento článek se týká Azure SQL Database, Azure SQL Managed Instance a Azure Synapse Analytics (vyhrazené fondy SQL (dříve SQL DW)). Dokumentaci k transparentní šifrování dat vyhrazených fondů SQL v pracovních prostorech Synapse najdete v tématu Šifrování služby Azure Synapse Analytics.

Požadavky

  • Musíte mít předplatné Azure a být správcem daného předplatného.
  • Musíte mít nainstalovaný a spuštěný Azure PowerShell.
  • Tento průvodce postupy předpokládá, že už používáte klíč ze služby Azure Key Vault jako ochranu transparentním šifrováním dat pro službu Azure SQL Database nebo Azure Synapse. Další informace najdete v tématu transparentní šifrování dat s podporou BYOK.

Pokyny k instalaci modulu Az najdete v tématu věnovaném instalaci Azure PowerShellu. Konkrétní rutiny najdete v tématu AzureRM.Sql. Použijte nový modul Az Azure PowerShellu.

Kontrola kryptografických otisků ochrany transparentním šifrováním dat

Následující kroky popisují, jak zkontrolovat kryptografické otisky ochrany transparentním šifrováním dat, které stále používají soubory virtuálních protokolů (VLF) dané databáze. Kryptografický otisk aktuální ochrany transparentním šifrováním dat databáze a ID databáze najdete spuštěním následujícího příkazu:

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

Následující dotaz vrátí používané kryptografické otisky VLF a TDE Protector. Každý jiný kryptografický otisk odkazuje na jiný klíč ve službě Azure Key Vault (AKV):

SELECT * FROM sys.dm_db_log_info (database_id)

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

Příkaz Get-AzureRmSqlServerKeyVaultKey PowerShellu poskytuje kryptografický otisk ochrany transparentního šifrování dat používaného v dotazu, abyste viděli, které klíče se mají zachovat a které klíče odstranit v AKV. Ze služby Azure Key Vault je možné bezpečně odstranit pouze klíče, které databáze nepoužívá.

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

  1. Vytvořte nový klíč ve službě Key Vault. Ujistěte se, že je tento nový klíč vytvořen v samostatném trezoru klíčů od potenciálně ohroženého ochrany transparentním šifrováním dat, protože je řízení přístupu zřízené na úrovni trezoru.

  2. Přidejte nový klíč na server pomocí rutin Add-AzSqlServerKeyVaultKey a Set-AzSqlServerTransparentDataEncryptionProtector a aktualizujte ho jako novou ochranu transparentním šifrováním dat serveru.

    # 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>
    
  3. Pomocí rutiny Get-AzSqlServerTransparentDataEncryptionProtector se ujistěte, že server a všechny repliky byly aktualizovány na novou ochranu transparentním šifrováním dat .

    Poznámka:

    Rozšíření nového ochrany transparentním šifrováním dat do všech databází a sekundárních databází na serveru může trvat několik minut.

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

    # -OutputFile parameter is optional; if removed, a file name is automatically generated.
    Backup-AzKeyVaultKey -VaultName <KeyVaultName> -Name <KeyVaultKeyName> -OutputFile <DesiredBackupFilePath>
    
  5. Odstraňte ohrožený klíč ze služby Key Vault pomocí rutiny Remove-AzKeyVaultKey .

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

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

Znepřístupnit šifrované prostředky

  1. Odstraňte databáze, které jsou šifrované potenciálně ohroženým klíčem.

    Databáze a soubory protokolu se zálohují automaticky, takže obnovení databáze k určitému bodu v čase je možné provést v libovolném bodě (pokud klíč zadáte). Databáze musí být vyřazeny před odstraněním aktivní ochrany transparentním šifrováním dat, aby se zabránilo potenciální ztrátě dat až 10 minut nejnovějších transakcí.

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

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

Poznámka:

Může trvat přibližně 10 minut, než se změny oprávnění pro trezor klíčů projeví. To zahrnuje odvolání přístupových oprávnění k ochraně transparentním šifrováním dat v AKV a uživatelé v tomto časovém rámci můžou mít stále přístupová oprávnění.