Durchführen einer Rotation in der TDE-Schutzvorrichtung (Transparent Data Encryption)
Gilt für: Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics (nur dedizierte SQL-Pools)
Dieser Artikel beschreibt die Schlüsselrotation für einen Server mithilfe einer TDE-Schutzvorrichtung aus Azure Key Vault. Die Rotation der logischen TDE-Schutzvorrichtung für einen Server bewirkt einen Wechsel zu einem neuen asymmetrischen Schlüssel, der die Datenbanken auf dem Server schützt. Die Schlüsselrotation ist ein Onlinevorgang, der in wenigen Sekunden abgeschlossen sein sollte, da nur der Datenverschlüsselungsschlüssel der Datenbank entschlüsselt und wieder verschlüsselt wird, aber 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.
Wichtige Überlegungen beim Rotieren der TDE-Schutzvorrichtung
- Wenn die TDE-Schutzvorrichtung geändert/rotiert wird, werden alte Sicherungen der Datenbank – einschließlich gesicherter Protokolldateien – nicht zur Verwendung der neuesten TDE-Schutzvorrichtung aktualisiert. Zum Wiederherstellen einer Sicherung, die mit einer TDE-Schutzvorrichtung aus Key Vault verschlüsselt ist, stellen Sie sicher, dass das Schlüsselmaterial für den Zielserver verfügbar ist. Es wird daher empfohlen, alle alten Versionen der TDE-Schutzvorrichtung in Azure Key Vault (AKV) beizubehalten, damit Datenbanksicherungen wiederhergestellt werden können.
- Behalten Sie selbst dann alle zuvor verwendeten Schlüssel in AKV bei, wenn Sie von einem kundenseitig verwalteten Schlüssel (CMK) auf einen dienstseitig verwalteten Schlüssel umstellen. So wird sichergestellt, dass Datenbanksicherungen (einschließlich gesicherter Protokolldateien) mit den in Azure Key Vault gespeicherten TDE-Schutzvorrichtungen wiederhergestellt werden können.
- Neben alten Sicherungen benötigen Transaktionsprotokolldateien möglicherweise ebenfalls Zugriff auf die ältere TDE-Schutzvorrichtung. Überprüfen Sie nach Ausführung der Schlüsselrotation mithilfe der dynamische Verwaltungssicht (Dynamic Management View, DMV) sys.dm_db_log_info, ob noch Protokolle vorhanden sind, die weiterhin den älteren Schlüssel benötigen. Diese DMV gibt Informationen zur virtuellen Protokolldatei (VLF) des Transaktionsprotokolls zusammen mit dem Fingerabdruck des Verschlüsselungsschlüssels der VLF zurück.
- Ältere Schlüssel müssen in AKV aufbewahrt werden und dem Server gemäß der Aufbewahrungsfrist für Sicherungskopien zur Verfügung stehen, die im Rahmen der Aufbewahrungsrichtlinien für Sicherungskopien in der Datenbank konfiguriert wurde. Dadurch wird sichergestellt, dass LTR-Sicherungen (Long Term Retention, Langzeitaufbewahrung) auf dem Server weiterhin mit den älteren Schlüsseln wiederhergestellt werden können.
Hinweis
Ein angehaltener dedizierter SQL-Pool in Azure Synapse Analytics muss vor Schlüsselrotationen fortgesetzt werden.
Dieser Artikel gilt für Azure SQL-Datenbank, Azure SQL Managed Instance und Azure Synapse Analytics (dedizierte SQL-Pools (vormals SQL DW)). Die Dokumentation zu Transparent Data Encryption (TDE) für dedizierte SQL-Pools in Synapse-Arbeitsbereichen finden Sie unter Verschlüsselung für Azure Synapse Analytics-Arbeitsbereiche.
Wichtig
Löschen Sie keine vorherigen Versionen des Schlüssels nach einem Rollover. Bei einem Rollover von Schlüsseln sind einige Daten noch immer mit den vorherigen Schlüsseln verschlüsselt, z. B. ältere Datenbanksicherungen, gesicherte Protokolldateien und Transaktionsprotokolldateien.
Voraussetzungen
- In diesem Leitfaden wird davon ausgegangen, dass Sie bereits einen Schlüssel aus Azure Key Vault als TDE-Schutzvorrichtung für Azure SQL-Datenbank oder Azure Synapse Analytics verwenden. Siehe Transparent Data Encryption mit BYOK-Unterstützung.
- Azure PowerShell muss installiert sein und ausgeführt werden.
Tipp
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 erhalten Sie, wenn Sie die Anweisungen zur Verwendung eines Hardwaresicherheitsmodells (HSM) und Key Vault befolgen.
Automatische Schlüsselrotation
Die automatische Rotation für die TDE-Schutzvorrichtung kann bei der Konfiguration der TDE-Schutzvorrichtung für den Server oder die Datenbank, über das Azure-Portal oder über die unten aufgeführten PowerShell- oder Azure CLI-Befehle aktiviert werden. Nach der Aktivierung überprüft der Server oder die Datenbank den Schlüsseltresor kontinuierlich auf neue Versionen des Schlüssels, die als TDE-Schutzvorrichtung verwendet werden. Wenn eine neue Version des Schlüssels erkannt wird, erfolgt innerhalb von 24 Stunden automatisch eine Rotation der TDE-Schutzvorrichtung auf dem Server in die neueste Schlüsselversion.
Die automatische Rotation in einem Server, einer Datenbank oder einer verwalteten Instanz kann zusammen mit der automatischen Schlüsselrotation in Azure Key Vault verwendet werden, um eine End-to-End-Zero-Touch-Rotation für TDE-Schlüssel zu ermöglichen.
Hinweis
Wenn auf dem Server oder der verwalteten Instanz die Georeplikation konfiguriert ist, müssen vor dem Aktivieren der automatischen Rotation zusätzliche Richtlinien wie hier beschrieben befolgt werden.
Verwenden des Azure-Portals:
- Navigieren Sie zum Abschnitt Transparente Datenverschlüsselung für einen vorhandenen Server oder eine verwaltete Instanz.
- 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.
- Aktivieren Sie das Kontrollkästchen Automatische Schlüsselrotation .
- Wählen Sie Speichern aus.
Automatische Schlüsselrotation auf Datenbankebene
Die automatische Schlüsselrotation kann auch auf Datenbankebene für Azure SQL-Datenbank aktiviert werden. Dies ist nützlich, wenn Sie die automatische Schlüsselrotation nur für eine oder eine Teilmenge von Datenbanken auf einem Server aktivieren möchten. Weitere Informationen finden Sie unter Identitäts- und Schlüsselverwaltung für TDE mit kundenseitig verwalteten Schlüsseln auf Datenbankebene.
Azure-Portal Informationen zum Einrichten der automatischen Schlüsselrotation auf Datenbankebene finden Sie unter Aktualisieren einer vorhandenen Azure SQL-Datenbank-Instanz mit kundenseitig verwalteten Schlüsseln auf Datenbankebene.
Automatische Schlüsselrotation für Georeplikationskonfigurationen
In einer Azure SQL Datenbank-Georeplikationskonfiguration, bei der der primäre Server auf die Verwendung von TDE mit CMK festgelegt ist, muss der sekundäre Server auch so konfiguriert werden, dass TDE mit CMK mit demselben Schlüssel aktiviert wird, der auf dem primären Server verwendet wird.
Verwenden des Azure-Portals:
Navigieren Sie zum Abschnitt Transparente Datenverschlüsselung (Transparent Data Encryption, TDE) für den primären Server.
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.
Aktivieren Sie das Kontrollkästchen Automatische Schlüsselrotation .
Wählen Sie Speichern aus.
Navigieren Sie zum Abschnitt Transparente Datenverschlüsselung (Transparent Data Encryption, TDE) für den sekundären Server.
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. Verwenden Sie denselben Schlüssel wie für den primären Server.
Deaktivieren Sie die Einstellung Legen Sie diesen Schlüssel als TDE-Standardschutzvorrichtung fest.
Wählen Sie Speichern aus.
Wenn der Schlüssel auf dem primären Server rotiert wird, wird er automatisch an den sekundären Server übertragen.
Verwenden Sie unterschiedlicher Schlüssel für jeden Server
Es ist möglich, den primären und sekundären Server mit einem anderen Schlüsseltresorschlüssel zu konfigurieren, wenn TDE mit CMK im Azure-Portal konfiguriert wird. Es ist im Azure-Portal nicht ersichtlich, dass der zum Schutz des primären Servers verwendete Schlüssel auch derselbe Schlüssel ist, der die primäre Datenbank schützt, die auf den sekundären Server repliziert wurde. Sie können jedoch PowerShell, die Azure CLI oder REST-APIs verwenden, um Details zu Schlüsseln abzurufen, die auf dem Server verwendet werden. Dies zeigt, dass automatisch rotierte Schlüssel vom primären Server auf den sekundären Server übertragen werden.
Hier sehen Sie ein Beispiel für die Verwendung von PowerShell-Befehlen, um nach Schlüsseln zu suchen, die nach der Schlüsselrotation vom primären Server auf den sekundären Server übertragen werden.
Führen Sie den folgenden Befehl auf dem primären Server aus, um die wichtigsten Details eines Servers anzuzeigen:
Get-AzSqlServerKeyVaultKey -ServerName <logicalServerName> -ResourceGroupName <SQLDatabaseResourceGroupName>
Das Ergebnis sollte etwa wie folgt aussehen:
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
Führen Sie denselben
Get-AzSqlServerKeyVaultKey
-Befehl auf dem sekundären Server aus:Get-AzSqlServerKeyVaultKey -ServerName <logicalServerName> -ResourceGroupName <SQLDatabaseResourceGroupName>
Wenn der sekundäre Server über eine TDE-Standardschutzvorrichtung verfügt, die einen anderen Schlüssel als der primäre Server verwendet, sollten zwei (oder mehr) Schlüssel angezeigt werden. Der erste Schlüssel ist die TDE-Standardschutzvorrichtung, und der zweite Schlüssel ist der Schlüssel, der auf dem primären Server verwendet wird, der zum Schutz der replizierten Datenbank verwendet wird.
Wenn der Schlüssel auf dem primären Server rotiert wird, wird er automatisch an den sekundären Server übertragen. Wenn Sie den Befehl
Get-AzSqlServerKeyVaultKey
auf dem primären Server erneut ausführen würden, sollten zwei Schlüssel angezeigt werden. Der erste Schlüssel ist der ursprüngliche Schlüssel, und der zweite Schlüssel ist der aktuelle Schlüssel, der im Rahmen der Schlüsselrotation generiert wurde.Durch die Ausführung des
Get-AzSqlServerKeyVaultKey
-Befehls auf dem sekundären Server sollten auch die gleichen Schlüssel angezeigt werden, die auf dem primären Server vorhanden sind. Dadurch wird bestätigt, dass die rotierten Schlüssel auf dem primären Server automatisch an den sekundären Server übertragen und zum Schutz des Datenbankreplikats verwendet werden.
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. Bei diesem Ansatz kann derselbe Schlüssel unterschiedlichen Schlüsseltresoren hinzugefügt werden, um Hochverfügbarkeit und geografisch verteilte Notfallwiederherstellungen zu unterstützen. Manuelle Schlüsselrotation kann auch über das Azure-Portal erfolgen.
Bei der manuellen Schlüsselrotation muss bei Erzeugung einer neuen Schlüsselversion im Schlüsseltresor (entweder manuell oder über die Richtlinie für die automatische Schlüsselrotation im Schlüsseltresor) dieselbe manuell auf dem Server als TDE-Schutzvorrichtung festgelegt werden.
Hinweis
Die kombinierte Länge für den Schlüsseltresornamen und Schlüsselnamen darf 94 Zeichen nicht überschreiten.
Über das Azure-Portal:
- Navigieren Sie zum Menü Transparente Datenverschlüsselung für einen vorhandenen Server oder eine verwaltete Instanz.
- 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.
- Wählen Sie Speichern aus.
Wechseln des TDE-Schutzmodus
Verwenden Sie das Azure-Portal, um die TDE-Schutzvorrichtung aus der Microsoft-Verwaltung in den BYOK-Modus (Bring Your Own Key) zu wechseln:
- Navigieren Sie zum Menü Transparente Datenverschlüsselung für einen vorhandenen Server oder eine verwaltete Instanz.
- Wählen Sie die Option Kundenseitig verwalteter Schlüssel aus.
- Wählen Sie den Schlüsseltresor und den Schlüssel aus, die als TDE-Schutzvorrichtung verwendet werden sollen.
- Wählen Sie Speichern aus.
Zugehöriger Inhalt
Im Falle eines Sicherheitsrisikos, erfahren Sie unter Entfernen eines möglicherweise kompromittierten Schlüssels wie Sie eine möglicherweise kompromittierten TDE-Schutzvorrichtung entfernen können.
Erste Schritte mit der Azure Key Vault-Integration und BYOK-Unterstützung (Bring Your Own Key) für TDE: Aktivieren von TDE mit BYOK aus Key Vault mithilfe von PowerShell.