Rotera Transparent Data Encryption-protektorn i Azure Synapse Analytics

Tip

Microsoft Fabric Data Warehouse är ett relationslager i företagsskala på en datasjögrund med en framtidsklar arkitektur, inbyggd AI och nya funktioner. Om du är nybörjare på datalager börjar du med Fabric Data Warehouse. Befintliga dedicerade SQL-poolarbetsbelastningar kan uppgraderas till Fabric för att få åtkomst till nya funktioner inom datavetenskap, realtidsanalys och rapportering.

Gäller för: Dedikerade SQL-pooler i Azure Synapse Analytics (tidigare SQL DW)

Den här artikeln beskriver nyckelrotation för en SQL-server som använder 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 nyckel som stöds som skyddar databaserna på servern. Beroende på konfigurationen kan TDE-skyddet använda en asymmetrisk nyckel (RSA) eller en symmetrisk nyckel (AES) som stöds och lagras i Azure Key Vault eller Azure Key Vault Managed HSM. Nyckelrotation är en online-operation och bör bara ta några sekunder att slutföra, eftersom denna operation endast dekrypterar och omkrypterar 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.

Note

Den här artikeln handlar om fristående dedikerade SQL-pooler (tidigare SQL DW). För dedikerade SQL-pooler i en Synapse-arbetsyta, se Encryption for Azure Synapse Analytics workspaces.

Viktiga överväganden

  • Behåll gamla nyckelversioner åtminstone under bevarandeperioden för databassäkerhetskopior. Att återställa en äldre backup kräver den skyddsmodul som krypterade den.
  • Behåll gamla nycklar även om du byter tillbaka till en tjänsthanterad skyddsmodul.
  • En pausad dedikerad SQL-pool måste startas innan rotation.
  • Det sammanlagda nyckelvalvets namn och nyckelnamn får inte överstiga 94 tecken.

Prerequisites

  • Den här artikeln utgår från att du redan använder en nyckel från Azure Key Vault som TDE-skydd för Azure SQL Database eller Azure Synapse Analytics. För mer information, se Customer-managed TDE for Azure Synapse Analytics.
  • Du måste ha Azure PowerShell installerat och igång.

Tip

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ör att lära dig mer, se instruktionerna för att använda en hårdvarusäkerhetsmodul (HSM) och Azure Key Vault.

Gå till Azure-portal.

Automatisk nyckelrotation

Aktivera automatisk rotation för TDE-skyddet när du konfigurerar TDE-skyddet för servern eller databasen. Du kan aktivera automatisk rotation från Azure-portalen eller genom att använda följande PowerShell- eller Azure CLI-kommandon. När du aktiverar automatisk rotation kontrollerar servern eller databasen kontinuerligt nyckelvalvet för nya versioner av nyckeln som används som TDE-skydd. Om servern eller databasen upptäcker en ny version av nyckeln roterar den automatiskt TDE-skyddet till den senaste nyckelversionen inom 24 timmar.

Använd automatisk rotation i en server, databas eller hanterad instans med automatisk nyckelrotation i Azure Key Vault för att möjliggöra end-to-end zero-touch-rotation för TDE-nycklar.

Azure portal

Använd portalen Azure:

  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-skyddet.
  3. Markera kryssrutan Auto-rotate key.
  4. Välj Spara.

PowerShell

Installationsinstruktioner för Az PowerShell-moduler finns i Installera Azure PowerShell.

För att möjliggöra automatisk rotation för TDE-skyddet med PowerShell, se följande skript. Du kan hämta den <keyVaultKeyId> från Azure Key Vault.

Använd Set-AzSqlServerTransparentDataEncryptionProtector:

Set-AzSqlServerTransparentDataEncryptionProtector -Type AzureKeyVault -KeyId <keyVaultKeyId> `
   -ServerName <logicalServerName> -ResourceGroup <SQLDatabaseResourceGroupName> `
    -AutoRotationEnabled <boolean>

Azure CLI

För information om installation av den aktuella versionen av Azure CLI, se Installera Azure CLI.

För att möjliggöra automatisk rotation för TDE-skyddet genom att använda Azure CLI, se följande skript.

Använd az sql server tde-key set:

az sql server tde-key set --server-key-type AzureKeyVault
                          --auto-rotation-enabled true
                          [--kid] <keyVaultKeyId>
                          [--resource-group] <SQLDatabaseResourceGroupName> 
                          [--server] <logicalServerName>

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. Du kan också använda Azure-portalen för att manuellt rotera nycklar.

När du manuellt roterar nycklar och skapar en ny nyckelversion i Key Vault (antingen manuellt eller genom en automatisk nyckelrotationspolicy) måste du manuellt ställa in den nyckelversionen som TDE protector på servern.

Note

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

Azure portal

  1. Öppna transparent datakryptering på SQL-servern.
  2. Välj Kundhanterad nyckel.
  3. Välj alternativet Kundhanterad nyckelhantering och välj nyckelvalvet och nyckeln som ska användas som det nya TDE-skyddet.
  4. Välj Spara.

PowerShell

Använd kommandot Add-AzKeyVaultKey för att lägga till en ny nyckel i nyckelvalvet.

# add a new key to Azure Key Vault
Add-AzKeyVaultKey -VaultName <keyVaultName> -Name <keyVaultKeyName> -Destination <hardwareOrSoftware>

Använd följande kommandon:


# add the new key from Azure Key Vault to the server
Add-AzSqlServerKeyVaultKey -KeyId <keyVaultKeyId> -ServerName <logicalServerName> -ResourceGroup <SQLDatabaseResourceGroupName>
  
# set the key as the TDE protector for all resources under the server
Set-AzSqlServerTransparentDataEncryptionProtector -Type AzureKeyVault -KeyId <keyVaultKeyId> `
   -ServerName <logicalServerName> -ResourceGroup <SQLDatabaseResourceGroupName>

Azure CLI

Använd kommandot az keyvault key create för att lägga till en ny nyckel i nyckelvalvet.

# add a new key to Azure Key Vault
az keyvault key create --name <keyVaultKeyName> --vault-name <keyVaultName> --protection <hsmOrSoftware>

Använd följande kommandon:

# add the new 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>

Växla TDE-skyddsläge

Azure portal

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

  1. Gå till menyn Transparent datakryptering för en befintlig server eller hanterad enhet.
  2. Välj alternativet kundhanterad nyckel.
  3. Välj nyckelvalvet och nyckeln som ska användas som TDE-skydd.
  4. Välj Spara.

PowerShell

  • Om du vill växla TDE-skyddet från Microsoft-hanterat till BYOK-läge använder du kommandot Set-AzSqlServerTransparentDataEncryptionProtector.

    Set-AzSqlServerTransparentDataEncryptionProtector -Type AzureKeyVault `
         -KeyId <keyVaultKeyId> -ServerName <logicalServerName> -ResourceGroup <SQLDatabaseResourceGroupName>
    
  • Om du vill växla TDE-skyddet från BYOK-läge till Microsoft-hanterat använder du kommandot Set-AzSqlServerTransparentDataEncryptionProtector.

    Set-AzSqlServerTransparentDataEncryptionProtector -Type ServiceManaged `
         -ServerName <logicalServerName> -ResourceGroup <SQLDatabaseResourceGroupName>
    

Azure CLI

I de följande exemplen används az sql server tde-key set.

  • Så här växlar du TDE-skyddet från Microsoft-hanterat till BYOK-läge:

    az sql server tde-key set --server-key-type AzureKeyVault --kid <keyVaultKeyId> --resource-group <SQLDatabaseResourceGroupName> --server <logicalServerName>
    
  • Så här växlar du TDE-skyddet från BYOK-läge till Microsoft-hanterad:

    az sql server tde-key set --server-key-type ServiceManaged --resource-group <SQLDatabaseResourceGroupName> --server <logicalServerName>