Een TDE-beveiliging (Transparent Data Encryption) verwijderen met behulp van PowerShell

Van toepassing op: Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics (alleen toegewezen SQL-pools)

In dit artikel wordt beschreven hoe u kunt reageren op een mogelijk aangetaste TDE-beveiliging voor Azure SQL Database of Azure Synapse Analytics die gebruikmaakt van TDE met door de klant beheerde sleutels in Azure Key Vault : BYOK-ondersteuning (Bring Your Own Key). Zie de overzichtspagina voor meer informatie over BYOK-ondersteuning voor TDE.

Let op

De procedures die in dit artikel worden beschreven, mogen alleen worden uitgevoerd in extreme gevallen of in testomgevingen. Controleer de stappen zorgvuldig, omdat het verwijderen van actief gebruikte TDE-beveiligingen uit Azure Key Vault ertoe leidt dat de database niet meer beschikbaar is.

Als een sleutel ooit wordt gecompromitteerd, zodat een service of gebruiker onbevoegde toegang tot de sleutel had, kunt u de sleutel het beste verwijderen.

Houd er rekening mee dat zodra de TDE-beveiliging is verwijderd in Key Vault, in maximaal tien minuten, alle versleutelde databases alle verbindingen met het bijbehorende foutbericht weigeren en de status ervan wijzigen in Ontoegankelijk.

Deze handleiding gaat over de aanpak om databases ontoegankelijk te maken na een gecompromitteerd incidentrespons.

Notitie

Dit artikel is van toepassing op Azure SQL Database, Azure SQL Managed Instance en Azure Synapse Analytics (toegewezen SQL-pools (voorheen SQL DW)). Zie Azure Synapse Analytics-versleuteling voor documentatie over Transparent Data Encryption voor toegewezen SQL-pools in Synapse-werkruimten.

Vereisten

  • U moet een Azure-abonnement hebben en een beheerder van dat abonnement zijn.
  • U moet Azure PowerShell hebben geïnstalleerd en uitgevoerd.
  • In deze instructiegids wordt ervan uitgegaan dat u al een sleutel uit Azure Key Vault gebruikt als de TDE-beveiliging voor een Azure SQL Database of Azure Synapse. Zie Transparent Data Encryption met BYOK-ondersteuning voor meer informatie.

Raadpleeg Azure PowerShell installeren voor instructies over de installatie van de Az-module. Zie AzureRM.Sql voor specifieke cmdlets. Gebruik de nieuwe Azure PowerShell Az-module.

TDE-protectorvingerafdrukken controleren

In de volgende stappen wordt beschreven hoe u de TDE Protector-vingerafdrukken controleert die nog steeds worden gebruikt door VLF (Virtual Log Files) van een bepaalde database. De vingerafdruk van de huidige TDE-beveiliging van de database en de database-id vindt u door het volgende uit te voeren:

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

De volgende query retourneert de VLF's en de TDE Protector respectieve vingerafdrukken die in gebruik zijn. Elke andere vingerafdruk verwijst naar een andere sleutel in Azure Key Vault (AKV):

SELECT * FROM sys.dm_db_log_info (database_id)

U kunt ook PowerShell of de Azure CLI gebruiken:

De PowerShell-opdracht Get-AzureRmSqlServerKeyVaultKey biedt de vingerafdruk van de TDE-protector die in de query wordt gebruikt, zodat u kunt zien welke sleutels moeten worden bewaard en welke sleutels u in AKV wilt verwijderen. Alleen sleutels die niet meer door de database worden gebruikt, kunnen veilig worden verwijderd uit Azure Key Vault.

Versleutelde resources toegankelijk houden

  1. Maak een nieuwe sleutel in Key Vault. Zorg ervoor dat deze nieuwe sleutel wordt gemaakt in een afzonderlijke sleutelkluis van de mogelijk aangetaste TDE-beveiliging, omdat toegangsbeheer is ingericht op kluisniveau.

  2. Voeg de nieuwe sleutel toe aan de server met behulp van de cmdlets Add-AzSqlServerKeyKey en Set-AzSqlServerTransparentDataEncryptionProtector en werk deze bij als de nieuwe TDE-beveiliging van de server.

    # 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. Zorg ervoor dat de server en alle replica's zijn bijgewerkt naar de nieuwe TDE-protector met behulp van de cmdlet Get-AzSqlServerTransparentDataEncryptionProtector .

    Notitie

    Het kan enkele minuten duren voordat de nieuwe TDE-protector is doorgegeven aan alle databases en secundaire databases onder de server.

    Get-AzSqlServerTransparentDataEncryptionProtector -ServerName <LogicalServerName> -ResourceGroupName <SQLDatabaseResourceGroupName>
    
  4. Maak een back-up van de nieuwe sleutel in Key Vault.

    # -OutputFile parameter is optional; if removed, a file name is automatically generated.
    Backup-AzKeyVaultKey -VaultName <KeyVaultName> -Name <KeyVaultKeyName> -OutputFile <DesiredBackupFilePath>
    
  5. Verwijder de geïnfecteerde sleutel uit Key Vault met behulp van de cmdlet Remove-AzKeyVaultKey .

    Remove-AzKeyVaultKey -VaultName <KeyVaultName> -Name <KeyVaultKeyName>
    
  6. Als u in de toekomst een sleutel naar Key Vault wilt herstellen met behulp van de cmdlet Restore-AzKeyVaultKey .

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

Versleutelde resources ontoegankelijk maken

  1. Verwijder de databases die worden versleuteld door de mogelijk aangetaste sleutel.

    Er wordt automatisch een back-up van de database en logboekbestanden gemaakt, zodat een herstel naar een bepaald tijdstip van de database op elk gewenst moment kan worden uitgevoerd (zolang u de sleutel opgeeft). De databases moeten worden verwijderd voordat een actieve TDE-beveiliging wordt verwijderd om mogelijk gegevensverlies van maximaal 10 minuten van de meest recente transacties te voorkomen.

  2. Maak een back-up van het sleutelmateriaal van de TDE-beveiliging in Key Vault.

  3. Verwijder de mogelijk aangetaste sleutel uit Key Vault.

Notitie

Het kan ongeveer 10 minuten duren voordat wijzigingen in de machtigingen van kracht worden voor de sleutelkluis. Dit omvat het intrekken van toegangsmachtigingen voor de TDE-beveiliging in AKV en gebruikers binnen dit tijdsbestek hebben mogelijk nog steeds toegangsmachtigingen.