Den Transparent-Data-Encryption-Schutz in Azure Synapse Analytics rotieren

Tip

Microsoft Fabric Data Warehouse ist ein relationales Enterprise-Warehouse auf einem Data Lake-Fundament mit zukunftsfähiger Architektur, integrierter KI und neuen Features. Wenn Sie mit Data Warehouse noch nicht vertraut sind, beginnen Sie mit Fabric Data Warehouse. Vorhandene dedizierte SQL-Pool-Workloads können auf Fabric aktualisieren, um neue Funktionen in den Bereichen Data Science, Echtzeitanalyse und Berichterstellung zu nutzen.

Gilt für: Dedizierte SQL-Pools (früher SQL DW) in Azure Synapse Analytics

Dieser Artikel beschreibt die Schlüsselrotation für einen SQL-Server, der einen TDE-Schutz aus Azure Key Vault verwendet. Das Drehen der logischen TDE-Schutzkomponente für einen Server bedeutet, zu einem neuen unterstützten Schlüssel zu wechseln, der die Datenbanken auf dem Server schützt. Je nach Konfiguration kann die TDE-Schutzkomponente durch einen unterstützten asymmetrischen (RSA) oder symmetrischen (AES)-Schlüssel gesichert werden, der in Azure Key Vault oder Azure Key Vault verwalteten HSM gespeichert ist. Die Schlüsselrotation ist eine Online-Operation und sollte nur wenige Sekunden dauern, da diese Operation nur den Datenverschlüsselungsschlüssel der Datenbank entschlüsselt und neu verschlüsselt, nicht die gesamte Datenbank.

In diesem Artikel werden sowohl automatisierte als auch manuelle Methoden für die Rotation der TDE-Schutzvorrichtung auf dem Server erläutert.

Note

Dieser Artikel behandelt eigenständige dedizierte SQL-Pools (früher SQL DW). Für dedizierte SQL-Pools in einem Synapse-Arbeitsbereich siehe Verschlüsselung für Azure Synapse Analytics-Arbeitsbereiche.

Wichtige Überlegungen

  • Speichern Sie alte Schlüsselversionen mindestens für die Aufbewahrungszeit des Datenbankbackups. Das Wiederherstellen eines älteren Backups erfordert die Schutzvorrichtung, die es verschlüsselt hat.
  • Behalte alte Schlüssel, auch wenn du wieder zu einem Service-Managed Protector wechselst.
  • Ein pausierter dedizierter SQL-Pool muss vor der Rotation fortgesetzt werden.
  • Der kombinierte Schlüsseltresorname und der Schlüsselname dürfen 94 Zeichen nicht überschreiten.

Prerequisites

  • Dieser Artikel geht davon aus, dass Sie bereits einen Schlüssel aus Azure Key Vault als TDE-Schutz für Azure SQL-Datenbank oder Azure Synapse Analytics verwenden. Weitere Informationen finden Sie unter Customer-managed TDE für Azure Synapse Analytics.
  • Azure PowerShell muss installiert sein und ausgeführt werden.

Tip

Empfohlen, aber optional: Erstellen Sie das Schlüsselmaterial für die TDE-Schutzvorrichtung zunächst in einem Hardwaresicherheitsmodul (HSM) oder einem lokalen Schlüsselspeicher, und importieren Sie das Schlüsselmaterial in Azure Key Vault. Weitere Informationen finden Sie in den Anweisungen zur Verwendung eines Hardware-Sicherheitsmoduls (HSM) und Azure Key Vault.

Gehen Sie zu Azure-Portal.

Automatische Schlüsselrotation

Aktiviere die automatische Rotation der TDE-Schutzvorrichtung, wenn du die TDE-Schutzvorrichtung für den Server oder die Datenbank konfigurierst. Sie können die automatische Rotation über das Azure-Portal aktivieren oder die folgenden PowerShell- oder Azure CLI-Befehle verwenden. Wenn Sie die automatische Rotation aktivieren, überprüft der Server oder die Datenbank kontinuierlich den Key Vault auf neue Versionen des Schlüssels, der als TDE-Schutzvorrichtung verwendet wird. Wenn der Server oder die Datenbank eine neue Version des Schlüssels erkennt, rotiert er die TDE-Schutzvorrichtung innerhalb von 24 Stunden automatisch zur neuesten Schlüsselversion.

Verwenden Sie automatische Rotation in einem Server, einer Datenbank oder einer verwalteten Instanz mit automatischer Schlüsselrotation in Azure Key Vault, um eine End-to-End-Zero-Touch-Rotation für TDE-Schlüssel zu ermöglichen.

Azure portal

Verwenden des Azure-Portals:

  1. Navigieren Sie zum Abschnitt Transparente Datenverschlüsselung für einen vorhandenen Server oder eine verwaltete Instanz.
  2. Wählen Sie die Option "Kundenverwalteter Schlüssel " und wählen Sie den Schlüsseltresor und den Schlüssel aus, die als TDE-Schutzvorrichtung verwendet werden.
  3. Wählen Sie das Kontrollkästchen „Auto-Drehen-Taste“ aus.
  4. Wählen Sie Speichern.

PowerShell

Anweisungen zur Installation des Az PowerShell-Moduls finden Sie unter Install Azure PowerShell (Installieren von Azure PowerShell).

Um die automatische Rotation des TDE-Protektors mittels PowerShell zu ermöglichen, siehe das folgende Skript. Du kannst das <keyVaultKeyId> aus Azure Key Vault abrufen.

Verwenden Sie Set-AzSqlServerTransparentDataEncryptionProtector:

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

Azure CLI

Informationen zur Installation der aktuellen Version der Azure CLI finden Sie unter Installieren der Azure CLI.

Um die automatische Rotation des TDE-Schutzes mithilfe der Azure CLI zu ermöglichen, siehe das folgende Skript.

Verwenden Sie 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>

Manuelle Schlüsselrotation

Die manuelle Schlüsselrotation nutzt die folgenden Befehle zum Hinzufügen eines neuen Schlüssels, der unter einem neuen Schlüsselnamen oder sogar in einem anderen Schlüsseltresor gespeichert werden kann. Du kannst auch das Azure-Portal nutzen, um Schlüssel manuell zu rotieren.

Wenn Sie Schlüssel manuell drehen und eine neue Schlüsselversion in Key Vault erstellen (entweder manuell oder über eine automatische Schlüsselrotations-Policy), müssen Sie diese Schlüsselversion manuell als TDE-Schutzvorrichtung auf dem Server festlegen.

Note

Die kombinierte Länge für den Schlüssel-Vault-Namen und den Schlüsselnamen darf 94 Zeichen nicht überschreiten.

Azure portal

  1. Öffnen Sie Transparent Datenverschlüsselung auf dem SQL-Server.
  2. Wählen Sie vom Kunden verwalteten Schlüssel.
  3. Wählen Sie die Option Kundenverwalteter Schlüssel und wählen Sie den Schlüsseltresor und den Schlüssel aus, die als neue TDE-Schutzvorrichtung verwendet werden sollen.
  4. Wählen Sie Speichern.

PowerShell

Verwenden Sie den Befehl Add-AzKeyVaultKey, um einen neuen Schlüssel zum Schlüsseltresor hinzuzufügen.

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

Verwenden Sie die folgenden Befehle:


# 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

Verwenden Sie den Befehl az keyvault key create, um einen neuen Schlüssel in den Schlüsseltresor hinzuzufügen.

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

Verwenden Sie die folgenden Befehle:

# 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>

Wechseln des TDE-Schutzmodus

Azure portal

Verwenden Sie das Azure-Portal, um die TDE-Schutzvorrichtung vom Microsoft-verwalteten in den BYOK-Modus zu wechseln:

  1. Navigieren Sie zum Menü Transparente Datenverschlüsselung für einen vorhandenen Server oder eine verwaltete Instanz.
  2. Wählen Sie die Option Kundenseitig verwalteter Schlüssel aus.
  3. Wählen Sie den Key Vault und den Schlüssel aus, die als TDE-Schutzvorrichtung verwendet werden sollen.
  4. Wählen Sie Speichern.

PowerShell

  • Um die TDE-Schutzvorrichtung vom durch Microsoft verwalteten Modus in den BYOK-Modus zu ändern, verwenden Sie den Befehl Set-AzSqlServerTransparentDataEncryptionProtector.

    Set-AzSqlServerTransparentDataEncryptionProtector -Type AzureKeyVault `
         -KeyId <keyVaultKeyId> -ServerName <logicalServerName> -ResourceGroup <SQLDatabaseResourceGroupName>
    
  • Um die TDE-Schutzvorrichtung vom BYOK-Modus zum durch Microsoft verwalteten Modus zu ändern, verwenden Sie den Befehl Set-AzSqlServerTransparentDataEncryptionProtector.

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

Azure CLI

In den folgenden Beispielen wird der Befehl az sql server tde-key set verwendet,

  • So wechseln Sie die TDE-Schutzvorrichtung aus der Microsoft-Verwaltung in den BYOK-Modus (Bring Your Own Key):

    az sql server tde-key set --server-key-type AzureKeyVault --kid <keyVaultKeyId> --resource-group <SQLDatabaseResourceGroupName> --server <logicalServerName>
    
  • So wechseln Sie die TDE-Schutzvorrichtung aus dem BYOK-Modus (Bring Your Own Key) in die Microsoft-Verwaltung:

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