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.
Gilt für:SQL Server
In diesem Artikel wird beschrieben, wie Sie den asymmetrischen Schlüssel, der von Transparent Data Encryption (TDE) mit Extensible Key Management (EKM) und Azure Key Vault verwendet wird, manuell drehen.
Verwenden Sie dieses Verfahren, nachdem Sie TDE mit Azure Key Vault konfiguriert haben. Erste Einrichtungsanweisungen finden Sie unter Einrichten von Transparent Data Encryption mit Azure Key Vault für SQL Server.
Important
SQL Server dreht nicht automatisch den für TDE verwendeten asymmetrischen Schlüssel. Drehung ist ein manueller Vorgang.
Das Drehen der logischen TDE-Schutzkomponente ist ein Onlinevorgang und wird in der Regel schnell abgeschlossen, da SQL Server nur den Datenbankverschlüsselungsschlüssel (DEK) erneut verschlüsselt, nicht die gesamte Datenbank.
Löschen Sie nach der Schlüsselrotation keine vorherigen Schlüsselversionen. Frühere Versionen müssen möglicherweise weiterhin ältere Sicherungen, Transaktionsprotokolle oder andere Wiederherstellungsartefakte wiederherstellen.
Bevor Sie anfangen
- Schließen Sie das anfängliche EKM- und TDE-Setup ab.
- Stellen Sie sicher, dass SQL Server derzeit auf den Schlüsseltresor zugreifen kann.
- Stellen Sie sicher, dass Sie über berechtigungen zum Erstellen von Anmeldeinformationen, Anmeldungen und asymmetrischen Schlüsseln in SQL Server verfügen.
- Stellen Sie sicher, dass Ihr Authentifizierungsmodell noch gültig ist:
- Dienstprinzipal: Die App-Registrierung und der geheime Clientschlüssel sind gültig.
- Verwaltete Identität: Die SQL Server verwaltete Identität ist weiterhin aktiviert und verfügt über die erforderlichen Schlüsselberechtigungen.
Drehen der Taste
Wählen Sie Ihr Authentifizierungsmodell aus, und führen Sie die entsprechenden Schritte aus.
Drehen Sie in Azure Key Vault oder verwaltetem HSM den Schlüssel:
- Erstellen einer neuen Version desselben Schlüsselnamens oder
- Geben Sie einen neuen Schlüsselnamen ein.
Erstellen Sie bei Bedarf in SQL Server eine Anmeldeinformation für den Rotationsvorgang.
CREATE CREDENTIAL <new_credential_name> WITH IDENTITY = <key_vault_name_or_uri_without_https>, SECRET = '<client_id_without_hyphens><client_secret>' FOR CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM;Fügen Sie die Anmeldeinformationen dem Setup-Prinzipal hinzu, der den nächsten asymmetrischen Schlüssel erstellt.
ALTER LOGIN [<domain>\<login>] ADD CREDENTIAL [<new_credential_name>];Erstellen Sie den neuen SQL Server asymmetrischen Schlüssel aus Azure Key Vault.
Note
Für die manuelle Rotation unterstützt SQL Server sowohl einen versionslosen Schlüsselnamen als auch eine versionierte Schlüsselreferenz:
- Versionslos: Verwendung
<key_name>, um SQL Server die höchste verfügbare Schlüsselversion in Azure Key Vault verwenden zu lassen. - Versioniert: Verwenden Sie
<key_name>/<version>, um Verschlüsselungsvorgänge an eine bestimmte Schlüsselversion zu binden.
Sie müssen keinen anderen AKV-Schlüsselnamen für die Rotation erstellen. Rotieren Sie Schlüssel, indem Sie eine neue Schlüsselversion erstellen und anschließend einen neuen asymmetrischen SQL Server-Schlüssel erstellen, der auf die versionslose oder versionierte Form verweist.
Verwenden Sie entweder einen Versionslosen Schlüsselnamen oder eine bestimmte Schlüsselversion:
CREATE ASYMMETRIC KEY <new_ekm_key_name> FROM PROVIDER [AzureKeyVault_EKM] WITH PROVIDER_KEY_NAME = '<key_name_or_key_name/version>', CREATION_DISPOSITION = OPEN_EXISTING;- Versionslos: Verwendung
Erstellen Sie eine neue Anmeldung aus dem neuen asymmetrischen Schlüssel.
CREATE LOGIN <new_login_name> FROM ASYMMETRIC KEY <new_ekm_key_name>;Verschieben Sie die Anmeldeinformationszuordnung von der Setupanmeldung in die neue asymmetrische Schlüsselanmeldung.
ALTER LOGIN [<domain>\<login>] DROP CREDENTIAL [<new_credential_name>]; ALTER LOGIN <new_login_name> ADD CREDENTIAL [<new_credential_name>];Verschlüsseln Sie den Datenbankverschlüsselungsschlüssel (DEK) mithilfe des neuen asymmetrischen Schlüssels erneut.
USE [<database_name>]; GO ALTER DATABASE ENCRYPTION KEY ENCRYPTION BY SERVER ASYMMETRIC KEY <new_ekm_key_name>;
Rotation prüfen
Überprüfen Sie die Verschlüsselungsmetadaten für die Datenbank.
SELECT encryptor_type, encryption_state_desc, encryptor_thumbprint FROM sys.dm_database_encryption_keys WHERE database_id = DB_ID('<database_name>');Überprüfen Sie den Fingerabdruck des asymmetrischen Schlüssels von SQL Server.
SELECT name, algorithm_desc, thumbprint FROM sys.asymmetric_keys WHERE name = '<new_ekm_key_name>';Vergewissern Sie sich, dass die Fingerabdruckabdrücke übereinstimmen.