Konfigurieren der Spaltenverschlüsselung mit dem Always Encrypted-Assistenten

Gilt für: SQL Server (alle unterstützten Versionen) 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.

Dabei verschiebt der Assistent Daten aus der Datenbank und führt kryptografische Vorgänge innerhalb des SSMS-Prozesses aus. 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.

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. Informationen hierzu finden Sie unter Konfigurieren der Spaltenverschlüsselung mithilfe von Always Encrypted mit PowerShell.

Hinweis

Wenn Sie SQL Server 2019 (15.x) 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. Informationen hierzu finden Sie unter Konfigurieren einer direkten Spaltenverschlüsselung mithilfe von Always Encrypted mit Secure Enclaves. Beachten Sie, dass der Assistent keine direkte Verschlüsselung unterstützt.

Die Verwendung von PowerShell wird für die folgenden Szenarios empfohlen:

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 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.
  1. Stellen Sie eine Verbindung mit Ihrem SQL Server in der Objekt-Explorer-Komponente von SQL Server Management Studioher.

  2. Führen Sie je nach gewünschter Verschlüsselung einen den folgenden Schritte aus:

    1. 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.
    2. 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.
    3. 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

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.

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.

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 Bereitstellen von Spaltenhauptschlüsseln mit dem Dialogfeld „Neuer Spaltenhauptschlüssel“ und Bereitstellen von Spaltenverschlüsselungsschlüsseln mit dem Dialogfeld „Neuer Spaltenverschlüsselungsschlüssel“.

Nächste Schritte

Weitere Informationen