Távolítsd el a transzparens adattitkosítás-védőt az Azure Synapse Analytics-ben

Tip

Microsoft Fabric Data Warehouse egy nagyvállalati szintű relációs raktár egy Data Lake-alaprendszeren, jövőre kész architektúrával, beépített AI-vel és új funkciókkal. Ha még nem ismerkedik az adattárházakkal, kezdje a Fabric Data Warehouse-szal. A meglévő dedikált SQL-készlet számítási feladatai frissíthetők Fabric az adatelemzés, a valós idejű elemzés és a jelentéskészítés új képességeinek eléréséhez.

A következőkre vonatkozik: Dedikált Azure Synapse Analytics SQL-készletek (korábban SQL DW)

Ezt az eljárást akkor alkalmazzuk, ha egy ügyfél által kezelt TDE protector veszélybe kerülhet. A régi kulcs törlése vagy letiltása előtt váltson új kulcsvédőre, hogy a dedikált SQL-készletek továbbra is elérhetők maradjanak.

Caution

Ha egy aktív TDE-védőt törölsz vagy kikapcsolsz, az összes dedikált SQL pool, amely rá támaszkodik, elérhetetlenné válik. Tekintse át az esemény-reagálási tervet és a biztonsági mentés-megtartási követelményeket, mielőtt eltávolítaná a kulcsot.

Megjegyzés

Ez a cikk az önálló, dedikált SQL poolokat (korábban SQL DW) tárgyalja. Dedikált SQL poolok esetén egy Synapse workspace-ben lásd: Encryption for Azure Synapse Analytics workspaces.

Egy kulcs törlése nem érvényteleníti azokat a másolatokat, amelyekről korábban biztonsági mentés készült, vagy amelyeket egy másik kulcstárolóba állítottak vissza. Védd és leltározz minden példányt az incidenskezelés részeként.

Prerequisites

Nézd meg a TDE védőobjektum ujjlenyomatait

Az alábbi lépések részletezik, hogyan ellenőrizhetjük egy adott adatbázis virtuális naplófájljai (VLF) által még használt TDE-védőtanúsítvány ujjlenyomatait.

Futtassa a következő lekérdezést, hogy megtalálja az adatbázis aktuális TDE-védőjének ujjlenyomatát és az adatbázis azonosítóját:

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]

Futasd le a következő lekérdezést, hogy lekérje a használt VLF-eket és a TDE-védő lenyomatait. Minden egyes ujjlenyomat egy másik kulcsra utal az Azure Key Vault-ban:

SELECT * FROM sys.dm_db_log_info (database_id)

Másik lehetőségként használhatja a PowerShellt vagy az Azure CLI-t:

  • A PowerShell parancs Get-AzSqlServerKeyVaultKey adja meg a lekérdezésben használt TDE-protektor ujjlenyomatát, így láthatod, mely kulcsokat kell megtartani, és mely kulcsokat kell törölni az Azure Key Vaultban. Csak azok a kulcsok törölhetők biztonságosan az Azure Key Vaultból, amelyeket az adatbázis már nem használ.

  • Az Azure CLI parancs az sql server key show adja a lekérdezésben használt TDE védő ujjlenyomatát, így láthatod, mely kulcsokat kell megtartani és mely kulcsokat törölni az Azure Key Vault-ban. Csak azok a kulcsok törölhetők biztonságosan az Azure Key Vault-ból, amelyeket az adatbázis már nem használ.

Titkosított erőforrások hozzáférhetőségének fenntartása

PowerShell

  1. Hozzon létre egy új kulcsot az Azure Key Vaultban. Győződj meg róla, hogy ezt az új kulcsot a potenciálisan kompromittált TDE-védőtől eltérő, külön kulcstárolóban hozd létre, mivel a hozzáférés-vezérlés a tároló szintjén van kialakítva.

  2. Az új kulcsot adja hozzá a kiszolgálóhoz a Add-AzSqlServerKeyVaultKey és a Set-AzSqlServerTransparentDataEncryptionProtector parancsmagokkal, és állítsa be a kiszolgáló új TDE-védőjeként.

    # 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. Biztosítsd, hogy a kiszolgáló és az összes replika az új TDE-védőre frissüljön a Get-AzSqlServerTransparentDataEncryptionProtector parancsmag használatával.

    Megjegyzés

    Eltarthat néhány percig, amíg az új TDE-védő propagálja a kiszolgáló alatti összes adatbázist és másodlagos adatbázist.

    Get-AzSqlServerTransparentDataEncryptionProtector -ServerName <LogicalServerName> -ResourceGroupName <SQLDatabaseResourceGroupName>
    
  4. Készítsen biztonsági másolatot az új kulcsról az Azure Key Vaultban.

    # -OutputFile parameter is optional; if removed, a file name is automatically generated.
    Backup-AzKeyVaultKey -VaultName <KeyVaultName> -Name <KeyVaultKeyName> -OutputFile <DesiredBackupFilePath>
    
  5. Töröld a kompromitált kulcsot az Azure Key Vault-ból a Remove-AzKeyVaultKey cmdlet segítségével.

    Remove-AzKeyVaultKey -VaultName <KeyVaultName> -Name <KeyVaultKeyName>
    
  6. Ha a jövőben vissza szeretne állítani egy kulcsot az Azure Key Vaultba, használja a Restore-AzKeyVaultKey parancsmagot.

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

Azure CLI

A parancsok referenciáiért tekintse meg az Azure CLI keyvaultot.

  1. Hozzon létre egy új kulcsot az Azure Key Vaultban. Győződj meg róla, hogy ezt az új kulcsot a potenciálisan kompromittált TDE-védőtől elkülönített külön kulcstárolóban hozd létre, mivel a hozzáférés-vezérlés a tároló szintjén van kialakítva.

  2. Adja hozzá az új kulcsot a kiszolgálóhoz, és frissítse a kiszolgáló új TDE-védelmeként.

    # 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. Biztosítsa, hogy a kiszolgáló és a replikák az új TDE-védőre frissüljenek.

    Megjegyzés

    Eltarthat néhány percig, amíg az új TDE-védő propagálja a kiszolgáló alatti összes adatbázist és másodlagos adatbázist.

    az sql server tde-key show --resource-group <SQLDatabaseResourceGroupName> --server <LogicalServerName>
    
  4. Készítsen biztonsági másolatot az új kulcsról az Azure Key Vaultban.

    # --file parameter is optional; if removed, a file name is automatically generated.
    az keyvault key backup --file <DesiredBackupFilePath> --name <KeyVaultKeyName> --vault-name <KeyVaultName>
    
  5. Törölje a feltört kulcsot az Azure Key Vaultból.

    az keyvault key delete --name <KeyVaultKeyName> --vault-name <KeyVaultName>
    
  6. Később állíts vissza egy kulcsot az Azure Key Vaultba.

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

Titkosított erőforrások elérhetetlenné tétele

  1. Törölje azokat az adatbázisokat, amelyek a potenciálisan kompromittált kulcsot használják a titkosításhoz.

    A rendszer automatikusan biztonsági másolatot készít az adatbázisról és a naplófájlokról, így az adatbázis bármely időpontra visszaállítható (feltéve, hogy megadja a kulcsot). Távolítsd el az adatbázisokat, mielőtt törölnéd az aktív TDE-védelmet, hogy elkerüld a legutóbbi tranzakciók akár 10 perces adatvesztését.

  2. A TDE védő kulcs anyagáról készítsen biztonsági másolatot az Azure Key Vaultban.

  3. Távolítsa el a potenciálisan feltört kulcsot az Azure Key Vaultból.

Megjegyzés

Körülbelül 10 percbe telhet, mire bármilyen engedélyváltoztatás hatályba lép a kulcstárban. Ez az időszak magában foglalja az AKV-ben lévő TDE-protektorhoz való hozzáférési jogok visszavonását, és a felhasználóknak még mindig lehetnek hozzáférési jogaik.