Die Schutzvorrichtung für die transparente Datenverschlüsselung 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, mit der es verschlüsselt wurde.
  • 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

Aktivieren Sie die automatische Rotation der TDE-Schutzvorrichtung, wenn Sie die TDE-Schutzvorrichtung für den Server oder die Datenbank konfigurieren. 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 Schlüsseltresor 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, wird die TDE-Schutzvorrichtung auf dem Server oder der Datenbank innerhalb von 24 Stunden automatisch auf die neueste Schlüsselversion rotiert.

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 Kundenseitig verwaltete Schlüssel aus, und legen Sie dann den Schlüsseltresor und den Schlüssel fest, die als TDE-Schutzvorrichtung verwendet werden sollen.
  3. Aktivieren Sie das Kontrollkästchen Automatische Schlüsselrotation.
  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. Sie können die <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 von Azure CLI finden Sie unter Azure CLI installieren.

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 rotieren und eine neue Schlüsselversion in Key Vault erstellen (entweder manuell oder über eine automatische Schlüsselrotationsrichtlinie), 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 Transparente Datenverschlüsselung auf dem SQL-Server.
  2. Wählen Sie den kundenseitig verwalteten Schlüssel.
  3. Wählen Sie die Option Kundenseitig verwaltete Schlüssel aus, und legen Sie dann den Schlüsseltresor und den Schlüssel fest, 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 aus der Microsoft-Verwaltung in den BYOK-Modus (Bring Your Own Key) 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>