Aktivieren von TDE in SQL Server mithilfe von EKM
Gilt für:SQL Server
In diesem Artikel wird beschrieben, wie Sie die transparente Datenverschlüsselung (TDE) in SQL Server aktivieren, um einen Datenbankverschlüsselungsschlüssel mithilfe eines asymmetrischen Schlüssels zu schützen, der in einem EKM-Modul (Extensible Key Management) mit Transact-SQL gespeichert ist.
TDE verschlüsselt die Speicherung einer gesamten Datenbank, indem ein symmetrischer Schlüssel verwendet wird, der als Datenbankverschlüsselungsschlüssel bezeichnet wird. Der Verschlüsselungsschlüssel für die Datenbank kann auch mithilfe eines Zertifikats geschützt werden, das mit dem Datenbankhauptschlüssel der Masterdatenbank geschützt wird. Weitere Informationen zum Schutz des Datenbankverschlüsselungsschlüssels mithilfe des Datenbankmasterschlüssels finden Sie unter Transparent Data Encryption (TDE). Informationen zum Konfigurieren von TDE, wenn SQL Server auf einer Azure-VM ausgeführt wird, finden Sie unter Extensible Key Management Using Azure Key Vault (SQL Server). Informationen zum Konfigurieren von TDE mithilfe eines Schlüssels im Azure-Schlüsseltresor finden Sie unter Verwenden von SQL Server-Connector mit SQL-Verschlüsselungsfunktionen.
Vorbereitungen
Einschränkungen
Sie müssen ein Benutzer mit hohen Privilegien (z. B. ein Systemadministrator) sein, um einen Verschlüsselungsschlüssel für die Datenbank erstellen und eine Datenbank verschlüsseln zu können. Dieser Benutzer muss vom EKM-Modul authentifiziert werden können.
Beim Starten des Datenbankmoduls muss die Datenbank geöffnet werden. Dafür sollten Sie Anmeldeinformationen erstellen, die vom EKM authentifiziert werden, und sie einer Anmeldung hinzufügen, die auf einem asymmetrischen Schlüssel basiert. Benutzer können sich nicht mit dieser Anmeldung anmelden, aber das Datenbankmodul kann sich selbst beim EKM-Gerät authentifizieren.
Wenn der im EKM-Modul gespeicherte asymmetrische Schlüssel verloren geht, kann die Datenbank nicht von SQL Server geöffnet werden. Wenn der EKM-Anbieter eine Sicherung des asymmetrischen Schlüssels erlaubt, sollten Sie eine Sicherung erstellen und diese an einem sicheren Ort aufbewahren.
Die für Ihren EKM-Anbieter erforderlichen Optionen und Parameter können sich von denen im unten angegebenen Codebeispiel unterscheiden. Weitere Informationen erhalten Sie vom Anbieter für erweiterbare Schlüsselverwaltung.
Sicherheit
Berechtigungen
In diesem Artikel werden die folgenden Berechtigungen verwendet:
Zum Ändern einer Konfigurationsoption und Ausführen der RECONFIGURE-Anweisung muss Ihnen die ALTER SETTINGS-Berechtigung auf Serverebene erteilt worden sein. Die ALTER SETTINGS-Berechtigung ist in den festen Serverrollen sysadmin und serveradmin eingeschlossen.
Erfordert die ALTER ANY CREDENTIAL-Berechtigung.
Erfordert die ALTER ANY LOGIN-Berechtigung.
Erfordert die CREATE ASYMMETRIC KEY-Berechtigung.
Erfordert die CONTROL-Berechtigung für die Datenbank, um die Datenbank zu verschlüsseln.
Verwenden von Transact-SQL
So aktivieren Sie TDE unter Verwendung von EKM
Kopieren Sie die vom EKM-Anbieter bereitgestellten Dateien an einen geeigneten Speicherort auf dem SQL Server-Computer. In diesem Beispiel wird der Ordner C:\EKM_Files verwendet.
Installieren Sie Zertifikate auf dem Computer, die ggf. vom Anbieter für erweiterbare Schlüsselverwaltung benötigt werden.
Hinweis
SQL Server stellt keinen EKM-Anbieter zur Verfügung. Jeder Anbieter für erweiterbare Schlüsselverwaltung kann andere Prozeduren zum Installieren, Konfigurieren und Autorisieren von Benutzern verwenden. Schlagen Sie in der Dokumentation Ihres Anbieters für erweiterbare Schlüsselverwaltung nach, um diesen Schritt auszuführen.
Stellen Sie im Objekt-Explorer eine Verbindung mit einer Datenbank-Engine-Instanz her.
Klicken Sie in der Standardleiste auf Neue Abfrage.
Kopieren Sie das folgende Beispiel, fügen Sie es in das Abfragefenster ein, und klicken Sie auf Ausführen.
-- Enable advanced options. sp_configure 'show advanced options', 1 ; GO RECONFIGURE ; GO -- Enable EKM provider sp_configure 'EKM provider enabled', 1 ; GO RECONFIGURE ; GO -- Create a cryptographic provider, which we have chosen to call "EKM_Prov," based on an EKM provider CREATE CRYPTOGRAPHIC PROVIDER EKM_Prov FROM FILE = 'C:\EKM_Files\KeyProvFile.dll' ; GO -- Create a credential that will be used by system administrators. CREATE CREDENTIAL sa_ekm_tde_cred WITH IDENTITY = 'Identity1', SECRET = 'q*gtev$0u#D1v' FOR CRYPTOGRAPHIC PROVIDER EKM_Prov ; GO -- Add the credential to a high privileged user such as your -- own domain login in the format [DOMAIN\login]. ALTER LOGIN Contoso\Mary ADD CREDENTIAL sa_ekm_tde_cred ; GO -- create an asymmetric key stored inside the EKM provider USE master ; GO CREATE ASYMMETRIC KEY ekm_login_key FROM PROVIDER [EKM_Prov] WITH ALGORITHM = RSA_512, PROVIDER_KEY_NAME = 'SQL_Server_Key' ; GO -- Create a credential that will be used by the Database Engine. CREATE CREDENTIAL ekm_tde_cred WITH IDENTITY = 'Identity2' , SECRET = 'jeksi84&sLksi01@s' FOR CRYPTOGRAPHIC PROVIDER EKM_Prov ; -- Add a login used by TDE, and add the new credential to the login. CREATE LOGIN EKM_Login FROM ASYMMETRIC KEY ekm_login_key ; GO ALTER LOGIN EKM_Login ADD CREDENTIAL ekm_tde_cred ; GO -- Create the database encryption key that will be used for TDE. USE AdventureWorks2022; GO CREATE DATABASE ENCRYPTION KEY WITH ALGORITHM = AES_128 ENCRYPTION BY SERVER ASYMMETRIC KEY ekm_login_key ; GO -- Alter the database to enable transparent data encryption. ALTER DATABASE AdventureWorks2022 SET ENCRYPTION ON ; GO
Weitere Informationen finden Sie unter
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für