De TDE-beveiliging (Transparent Data Encryption) draaien

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

In dit artikel wordt de sleutelrotatie voor een server beschreven met behulp van een TDE-beveiliging van Azure Key Vault. Het roteren van de logische TDE-beveiliging voor een server betekent dat u overschakelt naar een nieuwe asymmetrische sleutel die de databases op de server beveiligt. Sleutelrotatie is een onlinebewerking en moet slechts een paar seconden duren, omdat dit alleen de gegevensversleutelingssleutel van de database ontsleutelt en opnieuw versleutelt, niet de hele database.

In dit artikel worden zowel geautomatiseerde als handmatige methoden besproken om de TDE-protector op de server te draaien.

Belangrijke overwegingen bij het roteren van de TDE-protector

  • Wanneer de TDE-beveiliging wordt gewijzigd/gedraaid, worden oude back-ups van de database, inclusief back-uplogboekbestanden, niet bijgewerkt om de nieuwste TDE-beveiliging te gebruiken. Als u een back-up wilt herstellen die is versleuteld met een TDE-beveiliging van Key Vault, moet u ervoor zorgen dat het sleutelmateriaal beschikbaar is voor de doelserver. Daarom raden we u aan alle oude versies van de TDE-beveiliging in Azure Key Vault (AKV) te bewaren, zodat databaseback-ups kunnen worden hersteld.
  • Zelfs wanneer u overstapt van door de klant beheerde sleutel (CMK) naar een door de service beheerde sleutel, bewaart u alle eerder gebruikte sleutels in AKV. Dit zorgt ervoor dat back-ups van databases, inclusief back-uplogboekbestanden, kunnen worden hersteld met de TDE-beveiligingen die zijn opgeslagen in AKV.
  • Naast oude back-ups kunnen transactielogboekbestanden ook toegang tot de oudere TDE-beveiliging vereisen. Als u wilt bepalen of er nog resterende logboeken zijn waarvoor de oudere sleutel nog steeds is vereist, gebruikt u de sys.dm_db_log_info dynamische beheerweergave (DMV). Deze DMV retourneert informatie over het virtuele logboekbestand (VLF) van het transactielogboek, samen met de vingerafdruk van de versleutelingssleutel van de VLF.
  • Oudere sleutels moeten worden bewaard in AKV en beschikbaar zijn voor de server op basis van de bewaarperiode voor back-ups die zijn geconfigureerd als back-upretentiebeleid voor de database. Dit helpt ervoor te zorgen dat LTR-back-ups (Long Term Retention) op de server nog steeds kunnen worden hersteld met behulp van de oudere sleutels.

Notitie

Een onderbroken toegewezen SQL-pool in Azure Synapse Analytics moet worden hervat voordat sleutelrotaties worden uitgevoerd.

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

Belangrijk

Verwijder eerdere versies van de sleutel niet na een rollover. Wanneer sleutels worden overgerold, worden sommige gegevens nog steeds versleuteld met de vorige sleutels, zoals oudere databaseback-ups, back-ups van logboekbestanden en transactielogboekbestanden.

Vereisten

  • In deze instructiegids wordt ervan uitgegaan dat u al een sleutel uit Azure Key Vault gebruikt als de TDE-beveiliging voor Azure SQL Database of Azure Synapse Analytics. Zie Transparante gegevensversleuteling met BYOK-ondersteuning.
  • U moet Azure PowerShell hebben geïnstalleerd en uitgevoerd.

Tip

Aanbevolen maar optioneel: maak eerst het sleutelmateriaal voor de TDE-protector in een HSM (Hardware Security Module) of lokaal sleutelarchief en importeer het sleutelmateriaal in Azure Key Vault. Volg de instructies voor het gebruik van een HSM (Hardware Security Module) en Key Vault voor meer informatie.

Ga naar de Azure-portal

Automatische sleutelrotatie

Automatische rotatie voor de TDE-beveiliging kan worden ingeschakeld bij het configureren van de TDE-beveiliging voor de server of de database, vanuit Azure Portal of met behulp van de onderstaande PowerShell- of De Azure CLI-opdrachten. Zodra deze functie is ingeschakeld, controleert de server of database continu de sleutelkluis op nieuwe versies van de sleutel die als TDE-beveiliging worden gebruikt. Als er een nieuwe versie van de sleutel wordt gedetecteerd, wordt de TDE-beveiliging op de server of database binnen 24 uur automatisch geroteerd naar de nieuwste sleutelversie.

Automatische rotatie in een server, database of beheerd exemplaar kan worden gebruikt met automatische sleutelrotatie in Azure Key Vault om end-to-end nul-aanraakrotatie voor TDE-sleutels mogelijk te maken.

Notitie

Als de server of het beheerde exemplaar geo-replicatie heeft geconfigureerd voordat automatische rotatie wordt ingeschakeld, moeten aanvullende richtlijnen worden gevolgd, zoals hier wordt beschreven.

Azure Portal gebruiken:

  1. Blader naar de sectie Transparante gegevensversleuteling voor een bestaande server of een beheerd exemplaar.
  2. Selecteer de door de klant beheerde sleuteloptie en selecteer de sleutelkluis en sleutel die moet worden gebruikt als de TDE-beveiliging.
  3. Schakel het selectievakje Voor automatisch draaien van de sleutel in.
  4. Selecteer Opslaan.

Screenshot of auto rotate key configuration for Transparent data encryption.

Automatische sleutelrotatie op databaseniveau

Automatische sleutelrotatie kan ook worden ingeschakeld op databaseniveau voor Azure SQL Database. Dit is handig als u automatische sleutelrotatie wilt inschakelen voor slechts één of een subset van databases op een server. Zie Identiteits- en sleutelbeheer voor TDE met door de klant beheerde sleutels op databaseniveau voor meer informatie.

Zie Een bestaande Azure SQL Database bijwerken met door de klant beheerde sleutels op databaseniveau voor informatie over het instellen van automatische sleutelrotatie op databaseniveau op databaseniveau.

Automatische sleutelrotatie voor geo-replicatieconfiguraties

In een geo-replicatieconfiguratie van Azure SQL Database waarbij de primaire server is ingesteld voor het gebruik van TDE met CMK, moet de secundaire server ook worden geconfigureerd om TDE met CMK in te schakelen met dezelfde sleutel die op de primaire server wordt gebruikt.

Azure Portal gebruiken:

  1. Blader naar de sectie Transparante gegevensversleuteling voor de primaire server.

  2. Selecteer de door de klant beheerde sleuteloptie en selecteer de sleutelkluis en sleutel die moet worden gebruikt als de TDE-beveiliging.

  3. Schakel het selectievakje Voor automatisch draaien van de sleutel in.

  4. Selecteer Opslaan.

    Screenshot of auto rotate key configuration for transparent data encryption in a geo-replication scenario on the primary server.

  5. Blader naar de sectie Transparante gegevensversleuteling voor de secundaire server.

  6. Selecteer de door de klant beheerde sleuteloptie en selecteer de sleutelkluis en sleutel die moet worden gebruikt als de TDE-beveiliging. Gebruik dezelfde sleutel als die u hebt gebruikt voor de primaire server.

  7. Schakel deze toets de standaard-TDE-beveiliging uit.

  8. Selecteer Opslaan.

    Screenshot of auto rotate key configuration for transparent data encryption in a geo-replication scenario on the secondary server.

Wanneer de sleutel wordt geroteerd op de primaire server, wordt deze automatisch overgebracht naar de secundaire server.

Verschillende sleutels gebruiken voor elke server

Het is mogelijk om de primaire en secundaire servers te configureren met een andere sleutelkluissleutel bij het configureren van TDE met CMK in Azure Portal. Het is niet duidelijk in Azure Portal dat de sleutel die wordt gebruikt om de primaire server te beveiligen, ook dezelfde sleutel is die de primaire database beveiligt die is gerepliceerd naar de secundaire server. U kunt echter PowerShell, de Azure CLI of REST API's gebruiken om details te verkrijgen over sleutels die op de server worden gebruikt. Dit laat zien dat automatisch gedraaide sleutels worden overgedragen van de primaire server naar de secundaire server.

Hier volgt een voorbeeld van het gebruik van PowerShell-opdrachten om te controleren op sleutels die worden overgedragen van de primaire server naar de secundaire server na sleutelrotatie.

  1. Voer de volgende opdracht uit op de primaire server om de belangrijkste details van een server weer te geven:

    Get-AzSqlServerKeyVaultKey -ServerName <logicalServerName> -ResourceGroupName <SQLDatabaseResourceGroupName> 
    
  2. Als het goed is, ziet u vergelijkbare resultaten als hieronder:

    ResourceGroupName : <SQLDatabaseResourceGroupName> 
    ServerName        : <logicalServerName> 
    ServerKeyName     : <keyVaultKeyName> 
    Type              : AzureKeyVault 
    Uri               : https://<keyvaultname>.vault.azure.net/keys/<keyName>/<GUID> 
    Thumbprint        : <thumbprint> 
    CreationDate      : 12/13/2022 8:56:32 PM
    
  3. Voer dezelfde Get-AzSqlServerKeyVaultKey opdracht uit op de secundaire server:

    Get-AzSqlServerKeyVaultKey -ServerName <logicalServerName> -ResourceGroupName <SQLDatabaseResourceGroupName> 
    
  4. Als de secundaire server een standaard-TDE-beveiliging heeft met een andere sleutel dan de primaire server, ziet u twee (of meer) sleutels. De eerste sleutel is de standaard-TDE-beveiliging en de tweede sleutel is de sleutel die wordt gebruikt op de primaire server die wordt gebruikt om de gerepliceerde database te beveiligen.

  5. Wanneer de sleutel wordt geroteerd op de primaire server, wordt deze automatisch overgebracht naar de secundaire server. Als u de Get-AzSqlServerKeyVaultKey server opnieuw zou uitvoeren op de primaire server, ziet u twee sleutels. De eerste sleutel is de oorspronkelijke sleutel en de tweede sleutel, de huidige sleutel die is gegenereerd als onderdeel van de sleutelrotatie.

  6. Als u de Get-AzSqlServerKeyVaultKey opdracht uitvoert op de secundaire server, moeten ook dezelfde sleutels worden weergegeven die aanwezig zijn op de primaire server. Hiermee wordt bevestigd dat de gedraaide sleutels op de primaire server automatisch worden overgedragen naar de secundaire server en worden gebruikt om de databasereplica te beveiligen.

Handmatige sleutelrotatie

Handmatige sleutelrotatie gebruikt de volgende opdrachten om een nieuwe sleutel toe te voegen, die zich onder een nieuwe sleutelnaam of zelfs een andere sleutelkluis kan bevinden. Met deze methode wordt ondersteuning geboden voor het toevoegen van dezelfde sleutel aan verschillende sleutelkluizen ter ondersteuning van scenario's met hoge beschikbaarheid en geo-herstel. Handmatige sleutelrotatie kan ook worden uitgevoerd met behulp van Azure Portal.

Wanneer een nieuwe sleutelversie wordt gegenereerd in de sleutelkluis (handmatig of via beleid voor automatische sleutelrotatie in sleutelkluis), moet hetzelfde handmatig worden ingesteld als de TDE-beveiliging op de server.

Notitie

De gecombineerde lengte voor de sleutelkluisnaam en sleutelnaam mag niet langer zijn dan 94 tekens.

Met de Azure Portal:

  1. Blader naar het menu Transparante gegevensversleuteling voor een bestaande server of een beheerd exemplaar.
  2. Selecteer de door de klant beheerde sleuteloptie en selecteer de sleutelkluis en sleutel die moet worden gebruikt als de nieuwe TDE-beveiliging.
  3. Selecteer Opslaan.

Screenshot of manually rotate key configuration for Transparent data encryption.

TDE-beveiligingsmodus overschakelen

De Azure-portal gebruiken om de TDE-protector over te schakelen van door Microsoft beheerde modus naar BYOK-modus:

  1. Blader naar het menu Transparante gegevensversleuteling voor een bestaande server of een beheerd exemplaar.
  2. Selecteer de optie door de klant beheerde sleutel .
  3. Selecteer de sleutelkluis en sleutel die u wilt gebruiken als TDE-beveiliging.
  4. Selecteer Opslaan.