Rotera TDE-skyddet (Transparent datakryptering)

Gäller för:Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics (endast dedikerade SQL-pooler)

I den här artikeln beskrivs nyckelrotation för en server med ett TDE-skydd från Azure Key Vault. Att rotera det logiska TDE-skyddet för en server innebär att växla till en ny asymmetrisk nyckel som skyddar databaserna på servern. Nyckelrotation är en onlineåtgärd och bör bara ta några sekunder att slutföra, eftersom detta bara dekrypterar och krypterar om databasens datakrypteringsnyckel, inte hela databasen.

I den här artikeln beskrivs både automatiserade och manuella metoder för att rotera TDE-skyddet på servern.

Viktiga överväganden vid rotation av TDE-skyddet

  • När TDE-skyddet ändras/roteras uppdateras inte gamla säkerhetskopior av databasen, inklusive säkerhetskopierade loggfiler, för att använda det senaste TDE-skyddet. Om du vill återställa en säkerhetskopia krypterad med ett TDE-skydd från Key Vault kontrollerar du att nyckelmaterialet är tillgängligt för målservern. Därför rekommenderar vi att du behåller alla gamla versioner av TDE-skyddet i Azure Key Vault (AKV), så att databassäkerhetskopior kan återställas.
  • Även när du byter från kundhanterad nyckel (CMK) till tjänsthanterad nyckel behåller du alla tidigare använda nycklar i AKV. Detta säkerställer att databassäkerhetskopior, inklusive säkerhetskopierade loggfiler, kan återställas med TDE-skydd som lagras i AKV.
  • Förutom gamla säkerhetskopior kan transaktionsloggfiler också kräva åtkomst till det äldre TDE-skyddet. För att avgöra om det finns några återstående loggar som fortfarande kräver den äldre nyckeln använder du sys.dm_db_log_info dynamisk hanteringsvy (DMV) när du har utfört nyckelrotationen. Denna DMV returnerar information om den virtuella loggfilen (VLF) i transaktionsloggen tillsammans med dess tumavtryck för krypteringsnyckeln för VLF.
  • Äldre nycklar måste behållas i AKV och vara tillgängliga för servern baserat på kvarhållningsperioden för säkerhetskopiering som konfigurerats som server för kvarhållningsprinciper för säkerhetskopior i databasen. Detta hjälper till att säkerställa att eventuella säkerhetskopior av långsiktig kvarhållning (LTR) på servern fortfarande kan återställas med hjälp av de äldre nycklarna.

Kommentar

En pausad dedikerad SQL-pool i Azure Synapse Analytics måste återupptas innan nyckelrotationer.

Den här artikeln gäller för dedikerade SQL-pooler i Azure SQL Database, Azure SQL Managed Instance och Azure Synapse Analytics (tidigare SQL DW). Dokumentation om transparent datakryptering (TDE) för dedikerade SQL-pooler i Synapse-arbetsytor finns i Azure Synapse Analytics-kryptering.

Viktigt!

Ta inte bort tidigare versioner av nyckeln efter en rollover. När nycklar rullas över krypteras vissa data fortfarande med tidigare nycklar, till exempel äldre databassäkerhetskopior, säkerhetskopierade loggfiler och transaktionsloggfiler.

Förutsättningar

  • Den här instruktionsguiden förutsätter att du redan använder en nyckel från Azure Key Vault som TDE-skydd för Azure SQL Database eller Azure Synapse Analytics. Se Transparent datakryptering med BYOK-stöd.
  • Du måste ha Azure PowerShell installerat och igång.

Dricks

Rekommenderat men valfritt – skapa nyckelmaterialet för TDE-skyddet i en maskinvarusäkerhetsmodul (HSM) eller lokalt nyckelarkiv först och importera nyckelmaterialet till Azure Key Vault. Följ anvisningarna för att använda en maskinvarusäkerhetsmodul (HSM) och Key Vault för att lära dig mer.

Gå till Azure Portal

Automatisk nyckelrotation

Automatisk rotation för TDE-skyddet kan aktiveras när du konfigurerar TDE-skyddet för servern eller databasen, från Azure-portalen eller med hjälp av PowerShell- eller Azure CLI-kommandona nedan. När den är aktiverad kontrollerar servern eller databasen kontinuerligt nyckelvalvet efter nya versioner av nyckeln som används som TDE-skydd. Om en ny version av nyckeln identifieras roteras TDE-skyddet på servern eller databasen automatiskt till den senaste nyckelversionen inom 24 timmar.

Automatisk rotation i en server, databas eller hanterad instans kan användas med automatisk nyckelrotation i Azure Key Vault för att aktivera nolltouchrotation från slutpunkt till slutpunkt för TDE-nycklar.

Kommentar

Om servern eller den hanterade instansen har konfigurerat geo-replikering, innan automatisk rotation aktiveras, måste ytterligare riktlinjer följas enligt beskrivningen här.

Använda Azure-portalen:

  1. Bläddra till avsnittet Transparent datakryptering för en befintlig server eller hanterad instans.
  2. Välj alternativet Kundhanterad nyckel och välj nyckelvalvet och nyckeln som ska användas som TDE-skydd.
  3. Markera kryssrutan Rotera automatiskt .
  4. Välj Spara.

Screenshot of auto rotate key configuration for Transparent data encryption.

Automatisk nyckelrotation på databasnivå

Automatisk nyckelrotation kan också aktiveras på databasnivå för Azure SQL Database. Detta är användbart när du bara vill aktivera automatisk nyckelrotation för en eller en delmängd databaser på en server. Mer information finns i Identitets- och nyckelhantering för TDE med kundhanterade nycklar på databasnivå.

Information om hur du konfigurerar automatisk nyckelrotation på databasnivå finns i Uppdatera en befintlig Azure SQL Database med kundhanterade nycklar på databasnivå.

Automatisk nyckelrotation för geo-replikeringskonfigurationer

I en geo-replikeringskonfiguration i Azure SQL Database där den primära servern är inställd på att använda TDE med CMK måste även den sekundära servern konfigureras för att aktivera TDE med CMK med samma nyckel som används på den primära servern.

Använda Azure-portalen:

  1. Bläddra till avsnittet Transparent datakryptering för den primära servern.

  2. Välj alternativet Kundhanterad nyckel och välj nyckelvalvet och nyckeln som ska användas som TDE-skydd.

  3. Markera kryssrutan Rotera automatiskt .

  4. Välj Spara.

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

  5. Bläddra till avsnittet Transparent datakryptering för den sekundära servern.

  6. Välj alternativet Kundhanterad nyckel och välj nyckelvalvet och nyckeln som ska användas som TDE-skydd. Använd samma nyckel som du använde för den primära servern.

  7. Avmarkera Gör den här nyckeln till standard-TDE-skydd.

  8. Välj Spara.

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

När nyckeln roteras på den primära servern överförs den automatiskt till den sekundära servern.

Använda olika nycklar för varje server

Det går att konfigurera de primära och sekundära servrarna med en annan nyckel för nyckelvalv när du konfigurerar TDE med CMK i Azure-portalen. Det är inte uppenbart i Azure-portalen att nyckeln som används för att skydda den primära servern också är samma nyckel som skyddar den primära databasen som har replikerats till den sekundära servern. Du kan dock använda PowerShell, Azure CLI eller REST-API:er för att hämta information om nycklar som används på servern. Detta visar att automatiskt roterade nycklar överförs från den primära servern till den sekundära servern.

Här är ett exempel på hur du använder PowerShell-kommandon för att söka efter nycklar som överförs från den primära servern till den sekundära servern efter nyckelrotation.

  1. Kör följande kommando på den primära servern för att visa nyckelinformationen för en server:

    Get-AzSqlServerKeyVaultKey -ServerName <logicalServerName> -ResourceGroupName <SQLDatabaseResourceGroupName> 
    
  2. Du bör se liknande resultat som följande:

    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. Kör samma Get-AzSqlServerKeyVaultKey kommando på den sekundära servern:

    Get-AzSqlServerKeyVaultKey -ServerName <logicalServerName> -ResourceGroupName <SQLDatabaseResourceGroupName> 
    
  4. Om den sekundära servern har ett standard-TDE-skydd med en annan nyckel än den primära servern bör du se två (eller flera) nycklar. Den första nyckeln är standard-TDE-skyddet och den andra nyckeln är nyckeln som används på den primära servern som används för att skydda den replikerade databasen.

  5. När nyckeln roteras på den primära servern överförs den automatiskt till den sekundära servern. Om du skulle köra Get-AzSqlServerKeyVaultKey igen på den primära servern bör du se två nycklar. Den första nyckeln är den ursprungliga nyckeln och den andra nyckeln, som är den aktuella nyckeln som genererades som en del av nyckelrotationen.

  6. Körning av Get-AzSqlServerKeyVaultKey kommandot på den sekundära servern bör också visa samma nycklar som finns på den primära servern. Detta bekräftar att de roterade nycklarna på den primära servern automatiskt överförs till den sekundära servern och används för att skydda databasrepliken.

Manuell nyckelrotation

Manuell nyckelrotation använder följande kommandon för att lägga till en ny nyckel, som kan vara under ett nytt nyckelnamn eller till och med ett annat nyckelvalv. Med den här metoden kan du lägga till samma nyckel i olika nyckelvalv för att stödja scenarier med hög tillgänglighet och geo-dr. Manuell nyckelrotation kan också göras med hjälp av Azure-portalen.

Med manuell nyckelrotation måste samma sak anges manuellt som TDE-skyddet på servern när en ny nyckelversion genereras i nyckelvalvet (antingen manuellt eller via automatisk nyckelroteringsprincip i nyckelvalvet).

Kommentar

Den kombinerade längden för nyckelvalvets namn och nyckelnamn får inte överstiga 94 tecken.

Med hjälp av Azure-portalen:

  1. Bläddra till menyn Transparent datakryptering för en befintlig server eller hanterad instans.
  2. Välj alternativet Kundhanterad nyckel och välj nyckelvalvet och nyckeln som ska användas som det nya TDE-skyddet.
  3. Välj Spara.

Screenshot of manually rotate key configuration for Transparent data encryption.

Växla TDE-skyddsläge

Använd Azure-portalen för att växla TDE-skyddet från Microsoft-hanterat till BYOK-läge:

  1. Bläddra till menyn Transparent datakryptering för en befintlig server eller hanterad instans.
  2. Välj alternativet Kundhanterad nyckel.
  3. Välj det nyckelvalv och den nyckel som ska användas som TDE-skydd.
  4. Välj Spara.