Konfigurieren der Spaltenverschlüsselung mit dem Always Encrypted-Assistenten
Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance
Der Always Encrypted-Assistent ist ein leistungsstarkes Tool, mit dem Sie die gewünschte Always Encrypted-Konfiguration für ausgewählte Datenbankspalten festlegen können. Der Assistent kann Spalten je nach aktueller Konfiguration und gewünschter Zielkonfiguration verschlüsseln, entschlüsseln (die Verschlüsselung entfernen) oder erneut verschlüsseln (z. B. mithilfe eines neuen Spaltenverschlüsselungsschlüssels oder eines anderen Verschlüsselungstyps als dem aktuellen, der für die Spalte konfiguriert ist). Während einer einzigen Ausführung des Assistenten können mehrere Spalten konfiguriert werden.
Mit dem Assistenten können Sie Spalten mit vorhandenen Spaltenverschlüsselungsschlüsseln verschlüsseln, einen neuen Spaltenverschlüsselungsschlüssel generieren oder zusätzlich zu diesem auch einen neuen Spaltenhauptschlüssel generieren.
Wenn die Datenbank die Sie verwenden und Ihre SQL Server-Instanz mit Secure Enclave konfiguriert ist, können Sie kryptografische Vorgänge direkt ausführen, ohne Daten aus der Datenbank zu verschieben. Der Assistent entfernt alle Abhängigkeiten, die die Schema-Änderung der zu verschlüsselnden Spalte blockieren. Sie stellt eine direkte Verschlüsselung für jede Spalte mithilfe der Enklave innerhalb des Datenbankmoduls aus. Nach Abschluss der Verschlüsselung erstellt der Assistent die Abhängigkeiten neu. Weitere Informationen zu Always Encrypted mit Secure Enclaves finden Sie unter Always Encrypted mit Secure Enclaves.
Wenn Ihre Datenbank nicht mit einer sicheren Enklave konfiguriert ist, bietet Ihnen der Assistent die Möglichkeit, eine sichere Enklave zu aktivieren. Wenn Sie keine sichere Enklave aktivieren oder keine Enklaven-fähigen Schlüssel verwenden, funktioniert der Assistent, indem Daten aus der Datenbank verschoben und kryptografische Vorgänge innerhalb des SSMS-Prozesses ausgeführt werden. Der Assistent erstellt eine oder mehrere neue Tabellen mit der gewünschten Verschlüsselungskonfiguration in der Datenbank, lädt alle Daten aus den ursprünglichen Tabellen, führt die angeforderten kryptografischen Vorgänge aus, lädt die Daten in die neuen Tabellen hoch und vertauscht dann die ursprünglichen mit den neuen Tabellen.
Tipp
Die Verwendung der direkten Verschlüsselung mit Always Encrypted mit sicheren Enklaven, falls in Ihrer Umgebung verfügbar, kann die Zeit und die Zuverlässigkeit kryptografischer Vorgänge erheblich reduzieren.
Hinweis
Das Ausführen kryptografischer Vorgänge kann einige Zeit in Anspruch nehmen. Während dieser Zeit steht die Datenbank nicht zum Schreiben von Transaktionen zur Verfügung. PowerShell wird als Tool für kryptografische Vorgänge in größeren Tabellen empfohlen. Siehe Siehe Konfigurieren der Spaltenverschlüsselung mit Always Encrypted mit PowerShell oder Konfigurieren der direkten Spaltenverschlüsselung mit PowerShell..
Eine End-to-End-Vorgehensweise, die das Konfigurieren von Always Encrypted mit dem Assistenten sowie die Verwendung von Always Encrypted in einer Clientanwendung veranschaulicht, finden Sie in den folgenden Tutorials zu Azure SQL-Datenbank:
Informationen zu Always Encrypted-Schlüsseln finden Sie unter Übersicht über die Schlüsselverwaltung für Always Encrypted.
Informationen zu Verschlüsselungstypen, die in Always Encrypted unterstützt werden, finden Sie unter Auswählen der deterministischen oder zufälligen Verschlüsselung.
Berechtigungen
Zum Ausführen von kryptografischen Vorgängen mithilfe des Assistenten müssen Sie über die Berechtigungen VIEW ANY COLUMN MASTER KEY DEFINITION und VIEW ANY COLUMN ENCRYPTION KEY DEFINITION verfügen. Außerdem benötigen Sie Schlüsselspeicherberechtigungen, um Ihren Spaltenhauptschlüssel zu erstellen, auf ihn zuzugreifen und diesen zu verwenden. Ausführliche Informationen zu Schlüsselspeicherberechtigungen finden Sie unter Erstellen und Speichern von Spaltenhauptschlüsseln für Always Encrypted oder und im für Ihren Schlüsselspeicher relevanten Abschnitt.
Öffnen des Always Encrypted-Assistenten
Der Assistent kann auf drei verschiedenen Ebenen gestartet werden:
- Auf Datenbankebene zum Verschlüsseln mehrerer Spalten, die sich in verschiedenen Tabellen befinden.
- Auf Tabellenebene zum Verschlüsseln mehrerer Spalten, die sich in derselben Tabelle befinden.
- Auf Spaltenebene zum Verschlüsseln einer bestimmten Spalte.
Stellen Sie mit der Objekt-Explorer-Komponente von SQL Server Management Studio eine Verbindung zu Ihrem SQL Server her.
Führen Sie je nach gewünschter Verschlüsselung einen den folgenden Schritte aus:
- Wenn Sie mehrere Spalten in unterschiedlichen Tabellen einer Datenbank verschlüsseln möchten, klicken Sie mit der rechten Maustaste auf die Datenbank, zeigen Sie auf Aufgaben, und klicken Sie dann auf Spalten verschlüsseln.
- Wenn Sie mehrere Spalten in derselben Tabelle verschlüsseln möchten, navigieren Sie zu der Tabelle, klicken Sie mit der rechten Maustaste darauf, und klicken Sie dann auf Spalten verschlüsseln.
- Wenn Sie eine einzelne Spalte verschlüsseln möchten, navigieren Sie zu der Spalte, klicken Sie mit der rechten Maustaste darauf, und klicken Sie dann auf Spalten verschlüsseln.
Die Seite „Spaltenauswahl“
Auf dieser Seite können Sie Spalten auswählen, die Sie verschlüsseln, erneut verschlüsseln oder entschlüsseln möchten. Anschließend definieren Sie die Konfiguration der Zielverschlüsselung für die ausgewählten Spalten.
Wählen Sie zum Verschlüsseln einer Klartextspalte (einer nicht verschlüsselten Spalte) einen Verschlüsselungstyp (Deterministisch oder Zufällig) und einen Verschlüsselungsschlüssel für die Spalte aus.
Wenn Sie einen Verschlüsselungstyp ändern oder einen Spaltenverschlüsselungsschlüssel für eine bereits verschlüsselte Spalte rotieren lassen (ändern), wählen Sie den gewünschten Verschlüsselungstyp und den Schlüssel aus.
Wählen Sie zum Verschlüsseln oder erneuten Verschlüsseln einer oder mehrerer Spalten mit einem neuen Spaltenverschlüsselungsschlüssel durch den Assistenten einen Schlüssel aus, dessen Name (Neu) enthält. Der Assistent generiert den Schlüssel.
Wählen Sie zum Entschlüsseln einer derzeit verschlüsselten Spalte als Verschlüsselungstyp Klartext aus.
Hinweis
Wenn Sie die direkte Verschlüsselung nutzen und vorhandene Schlüssel verwenden möchten, stellen Sie sicher, dass Sie enklavenfähige Schlüssel auswählen – kommentiert mit (Enklave-aktiviert).
Hinweis
Der Assistent unterstützt keine kryptografischen Vorgänge in temporalen und In-Memory-Tabellen. Erstellen Sie hierfür leere temporale oder In-Memory-Tabellen mit Transact-SQL, und fügen Sie Daten mithilfe Ihrer Anwendung ein.
Die Seite „Konfigurieren des Hauptschlüssels“
Wenn Sie auf der vorherigen Seite einen automatisch generierten Spaltenverschlüsselungsschlüssel für eine beliebige Spalte ausgewählt haben, müssen Sie auf dieser Seite entweder einen vorhandenen Spaltenhauptschlüssel auswählen oder einen neuen Spaltenhauptschlüssel konfigurieren, mit dem der Spaltenverschlüsselungsschlüssel verschlüsselt wird.
Wenn Sie einen neuen Spaltenhauptschlüssel konfigurieren, können Sie entweder einen vorhandenen Schlüssel im Windows-Zertifikatspeicher oder in Azure Key Vault auswählen und mit dem Assistenten nur ein Metadatenobjekt für den Schlüssel in der Datenbank erstellen, oder Sie generieren sowohl den Schlüssel als auch das Metadatenobjekt, das den Schlüssel in der Datenbank beschreibt.
Um die direkte Verschlüsselung zu verwenden, stellen Sie sicher, dass Sie Enklavenberechnungen zulassen für einen neuen Spaltenmasterschlüssel auswählen. Das Aktivieren dieses Kontrollkästchens ist nur zulässig, wenn Ihre Datenbank mit einer sicheren Enklave konfiguriert ist.
Weitere Informationen zum Erstellen und Speichern von Spaltenhauptschlüsseln im Windows-Zertifikatspeicher, in Azure Key Vault oder in anderen Schlüsselspeichern finden Sie unter Erstellen und Speichern von Spaltenhauptschlüsseln für Always Encrypted. oder Verwalten Sie Schlüssel für Always Encrypted mit Secure Enclaves.
Tipp
Mit dem Assistenten können Sie Schlüssel nur im Windows-Zertifikatspeicher und in Azure Key Vault suchen und erstellen. Außerdem werden die Namen der neuen Schlüssel und der Metadatenobjekte, die die Schlüssel in der Datenbank beschreiben, automatisch generiert. Wenn Sie mehr Kontrolle über die Bereitstellungsweise der Schlüssel wünschen (und mehr Auswahlmöglichkeiten beim Schlüsselspeicher für Ihren Spaltenhauptschlüssel), können Sie mithilfe der Dialogfelder Neuer Spaltenhauptschlüssel und Neuer Spaltenverschlüsselungsschlüssel zunächst die Schlüssel erstellen und anschließend den Assistenten ausführen, um die erstellten Schlüssel auszuwählen. Weitere Informationen finden Sie unter Spaltenhauptschlüssel mit dem Dialogfeld Neuer Spaltenhauptschlüssel bereitstellen oder Enklave-fähige Schlüssel bereitstellen und Spaltenverschlüsselungsschlüssel mit dem Dialogfeld Neuer Spaltenverschlüsselungsschlüssel bereitstellen..
In-Place-Verschlüsselung Einstellungen Seite
Wenn Sie eine sichere Enklave in Ihrer Datenbank konfiguriert haben und Enklaven-fähige Schlüssel verwenden, können Sie auf dieser Seite die Enklavennachweisparameter angeben, die für die direkte Verschlüsselung erforderlich sind. Wenn Sie keine direkte Verschlüsselung verwenden möchten, deaktivieren Sie die Option Direkte Verschlüsselung verwenden für berechtigte Spalten, um mit der clientseitigen Verschlüsselung fortzufahren. Es wird empfohlen, dieses Kontrollkästchen aktiviert zu lassen, damit der Assistent die direkte Verschlüsselung verwenden kann.
Weitere Informationen zum Enklavennachweis finden Sie unter Configure attestation for Always Encrypted using Azure Attestation
Nächste Schritte
- Abfragen von Spalten mit Always Encrypted und SQL Server Management Studio
- Ausführen von Transact-SQL-Anweisungen mit Secure Enclaves
- Entwickeln von Anwendungen mit Always Encrypted
- Tutorial: Entwickeln einer .NET-Anwendung mithilfe von Always Encrypted mit Secure Enclaves
Weitere Informationen
- Always Encrypted
- Always Encrypted mit Secure Enclaves
- Übersicht über die Schlüsselverwaltung für Always Encrypted
- Konfigurieren von Always Encrypted mithilfe von SQL Server Management Studio
- Konfigurieren und Verwenden von Always Encrypted mit Secure Enclaves
- Bereitstellen von Always Encrypted-Schlüsseln mithilfe von PowerShell
- Bereitstellen Enclave-fähiger Schlüssel mit PowerShell
- Konfigurieren der Spaltenverschlüsselung mithilfe von Always Encrypted mit PowerShell
- Direktes Konfigurieren der Spaltenverschlüsselung mit PowerShell
- Konfigurieren der Spaltenverschlüsselung unter Verwendung von Always Encrypted mit einem DAC-Paket
- Direktes Konfigurieren der Spaltenverschlüsselung mit DAC-Paket
- Direkte Konfiguration der Spaltenverschlüsselung mit Transact-SQL