Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Für SQL-Always On sind zusätzliche Schritte erforderlich, wenn die BitLocker-Informationen gemäß den Anweisungen unter Verschlüsseln von Wiederherstellungsdaten in der Datenbank verschlüsselt werden. Die zusätzlichen Schritte stellen sicher, dass alle Always On Knoten den Datenbankhauptschlüssel (Database Master Key, DMK) automatisch öffnen können, wenn ein Failoverereignis auftritt. Die folgenden Schritte ermöglichen den nahtlosen Abruf von BitLocker-Schlüsseln ohne manuellen Eingriff.
Übersicht über SQL-Always On, wenn BitLocker-Wiederherstellungsdaten in der Datenbank verschlüsselt sind
SQL Server verschlüsselt Daten mithilfe einer hierarchischen Infrastruktur und wird unter Verschlüsselungshierarchie ausführlich beschrieben.
- Standorthauptschlüssel (Site Master Key, SMK): Dieser Schlüssel ist ein pro instance Schlüssel, der für jeden SQL Server Always On Knoten eindeutig ist und nicht repliziert wird. Es wird verwendet, um die Datenbank master Schlüssel zu verschlüsseln.
- Datenbankhauptschlüssel (Database Master Key, DMK): Dieser Schlüssel wird in der Datenbank gespeichert und repliziert. Es wird verwendet, um die BitLockerManagement_CERT zu verschlüsseln.
- BitLockerManagement_CERT : Dieses Zertifikat wird in der Datenbank gespeichert und repliziert. Es wird verwendet, um einige BitLocker-bezogene Daten wie Wiederherstellungsschlüssel zu verschlüsseln.
Das SMK verschlüsselt das DMK-Kennwort. SMKs sind knotenspezifisch. Wenn ein Failoverereignis auftritt, kann der neue primäre Knoten das DMK-Kennwort nicht entschlüsseln, da es mit einem anderen SMK verschlüsselt wurde. Durch Festlegen des DMK-Kennworts auf jedem Knoten kann der Knoten das Kennwort beim Failover entschlüsseln.
Hinweis
Die BitLockerManagement_CERT führt die Verschlüsselung der Spalten durch. Wenn dieses Zertifikat verloren geht oder gelöscht wird, oder wenn das DMK, das es verschlüsselt hat, verloren geht oder gelöscht wird, müssen BitLocker-Schlüssel verworren und erneut verschlüsselt werden.
Wenn das Datenbankhauptschlüsselkennwort (DMK) bekannt ist
Führen Sie den folgenden Befehl auf jedem Knoten in der Verfügbarkeitsgruppe aus, der die Configuration Manager-Datenbank hostet:
Wichtig
Hinweise zum folgenden Befehl:
- Ersetzen Sie
passwordüberall durch ein sicheres Kennwort Ihrer Wahl. Stellen Sie sicher, dass Sie das Kennwort zur späteren Referenz sicher speichern. - Ersetzen Sie durch
CM_XXXden Namen der Configuration Manager-Datenbank (CM).
EXEC sp_control_dbmasterkey_password
@db_name = N'CM_XXX',
@password = N'password',
@action = N'add';
Dieser Befehl registriert das DMK-Kennwort mit dem lokalen Diensthauptschlüssel (Service Master Key, SMK), sodass SQL Server den DMK automatisch öffnen kann, wenn ein Failoverereignis auftritt. Dadurch wird sichergestellt, dass das DMK nach einem Failover oder Neustart automatisch auf diesem Knoten entschlüsselt werden kann.
Um zu überprüfen, ob alle Knoten den Datenbankhauptschlüssel (Database Master Key, DMK) automatisch öffnen und die Daten entschlüsseln können, lesen Sie den Abschnitt Überprüfen, ob alle Knoten den Datenbank-Hauptschlüssel (Database Master Key, DMK) automatisch öffnen und die Daten in diesem Artikel entschlüsseln können.
Wenn das vorhandene DMK-Kennwort (Database Master Key) unbekannt ist
Wenn das vorhandene DMK-Kennwort unbekannt ist, muss das vorhandene DMK gelöscht und ein neues mit einem bekannten Kennwort erstellt werden. Diese Schritte dokumentieren, wie sie dieses Verfahren ausführen.
Suchen eines gültigen DMK
Wenn unbekannt ist, welcher Knoten über ein gültiges DMK verfügt, führen Sie die folgenden Schritte aus, um zu ermitteln, wo das vorhandene DMK geöffnet ist:
Wichtig
In den folgenden Abfragen und Befehlen:
- Ersetzen Sie
passwordüberall durch ein sicheres Kennwort Ihrer Wahl. Stellen Sie sicher, dass Sie das Kennwort zur späteren Referenz sicher an einem bekannten Speicherort speichern. - Ersetzen Sie durch
CM_XXXden Namen der Configuration Manager-Datenbank (CM).
Führen Sie die folgende Abfrage auf dem primären Knoten aus:
SELECT TOP 5 RecoveryAndHardwareCore.DecryptString(RecoveryKey, DEFAULT) FROM RecoveryAndHardwareCore_Keys ORDER BY LastUpdateTime DESCIn der resultierenden Abfrage:
- Wenn das DMK geöffnet ist, gibt die Abfrage Nur-Text-Werte für alle Zeilen zurück, in denen ein gültiger Schlüssel enthalten ist. Dieser Knoten ist der Knoten, auf dem gestartet werden soll, und der nächste Schritt kann übersprungen werden.
- Wenn das DMK nicht geöffnet ist, gibt die Abfrage NULL-Werte für alle Zeilen zurück. Der aktuelle Knoten ist nicht der Knoten, auf dem der DMK geöffnet ist. Führen Sie den nächsten Schritt aus, um den Knoten zu finden, auf dem das DMK geöffnet ist.
Wenn die Abfrage alle NULL-Werte zurückgibt, führen Sie ein Failover zu jedem sekundären Knoten aus, und wiederholen Sie die vorherigen Schritte, bis der Knoten gefunden wird, der RecoveryAndHardwareCore_Keys erfolgreich entschlüsseln kann. Dieser Knoten ist der Knoten, auf dem gestartet werden soll.
Erstellen eines neuen Datenbankhauptschlüssels (DMK)
Sobald der richtige Knoten mit dem geöffneten DMK identifiziert wurde, führen Sie die folgenden Schritte aus:
Führen Sie auf dem Knoten, der in den vorherigen Schritten identifiziert wurde, die folgende Abfrage aus, um das BitLockerManagement_CERT Zertifikat mit seinem privaten Schlüssel zu exportieren. Stellen Sie sicher, dass Sie ein sicheres Kennwort verwenden:
BACKUP CERTIFICATE BitLockerManagement_CERT TO FILE = 'C:\Windows\Temp\BitLockerManagement_CERT' WITH PRIVATE KEY ( FILE = 'C:\Windows\Temp\BitLockerManagement_CERT_KEY', ENCRYPTION BY PASSWORD = 'password' );Sichern Sie den vorhandenen Datenbankhauptschlüssel (Database Master Key, DMK), indem Sie die folgende Abfrage ausführen, um das vorhandene DMK zu exportieren:
BACKUP MASTER KEY TO FILE = 'C:\Windows\Temp\DMK' ENCRYPTION BY PASSWORD = 'password';Hinweis
Dieser Schritt ist optional, wird jedoch empfohlen. Stellen Sie sicher, dass Sie die Sicherung an einem sicheren bekannten Speicherort aufbewahren.
Führen Sie die folgende Abfrage aus, um das vorhandene Zertifikat und dmK zu löschen:
DROP CERTIFICATE BitLockerManagement_CERT; DROP MASTER KEY;In diesem Schritt werden die alten Schlüssel entfernt.
Führen Sie die folgende Abfrage aus, um ein neues DMK zu erstellen. Stellen Sie sicher, dass Sie ein sicheres Kennwort verwenden:
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'password';Führen Sie die folgende Abfrage aus, um das neue DMK-Kennwort beim lokalen SMK zu registrieren:
EXEC sp_control_dbmasterkey_password @db_name = N'CM_XXX', @password = N'password', @action = N'add';Führen Sie die folgende Abfrage aus, um das zuvor exportierte BitLockerManagement_CERT Zertifikat zu importieren:
CREATE CERTIFICATE BitLockerManagement_CERT AUTHORIZATION RecoveryAndHardwareCore FROM FILE = 'C:\Windows\Temp\BitLockerManagement_CERT' WITH PRIVATE KEY ( FILE = 'C:\Windows\Temp\BitLockerManagement_CERT_KEY', DECRYPTION BY PASSWORD = 'password' );Führen Sie die folgende Abfrage aus, um die erforderlichen Steuerungsberechtigungen für das Zertifikat zu gewähren:
GRANT CONTROL ON CERTIFICATE::BitLockerManagement_CERT TO RecoveryAndHardwareRead; GRANT CONTROL ON CERTIFICATE::BitLockerManagement_CERT TO RecoveryAndHardwareWrite;Führen Sie ein Failover auf den nächsten Knoten durch.
Führen Sie die folgende Abfrage aus, um das DMK-Kennwort beim lokalen SMK zu registrieren. Einmal pro Replikat ausführen:
EXEC sp_control_dbmasterkey_password @db_name = N'CM_XXX', @password = N'password', @action = N'add';Führen Sie die beiden vorherigen Schritte auf allen verbleibenden Knoten aus.
Führen Sie ein Failover auf den ursprünglichen Knoten aus.
Um zu überprüfen, ob alle Knoten automatisch den Datenbankhauptschlüssel (Database Master Key, DMK) öffnen und die Daten entschlüsseln können, lesen Sie den nächsten Abschnitt Überprüfen, ob alle Knoten den Datenbankhauptschlüssel (Database Master Key, DMK) automatisch öffnen und die Daten in diesem Artikel entschlüsseln können.
Überprüfen Sie, ob alle Knoten den Datenbankhauptschlüssel (Database Master Key, DMK) automatisch öffnen und die Daten entschlüsseln können.
So überprüfen Sie, ob alle Knoten automatisch den Datenbankhauptschlüssel (Database Master Key, DMK) öffnen und die Daten entschlüsseln können:
Führen Sie ein Failover auf einen Knoten durch.
Führen Sie die folgende Abfrage aus:
SELECT TOP 5 RecoveryAndHardwareCore.DecryptString(RecoveryKey, DEFAULT) FROM RecoveryAndHardwareCore_Keys ORDER BY LastUpdateTime DESCWenn die Abfrage Nur-Text-Werte für Zeilen zurückgibt, in denen ein gültiger Schlüssel enthalten ist, kann der Knoten automatisch den Datenbank-Hauptschlüssel (Database Master Key, DMK) öffnen und die Daten entschlüsseln.
Wiederholen Sie die vorherigen drei Schritte für jeden zusätzlichen Knoten.
Tipp
Um die Sicherheit zu verbessern, speichern Sie das sichere DMK-Kennwort. Beispielsweise in Azure Key Vault oder einem anderen sicheren Geheimnisspeicher. Vermeiden Sie außerdem die Hartcodierung des DMK-Kennworts im Nur-Text-Format in Skripts oder Konfigurationsdateien.