Verschlüsselung für Azure Synapse Analytics-Arbeitsbereiche

In diesem Artikel wird Folgendes beschrieben:

  • Verschlüsselung ruhender Daten in Synapse Analytics-Arbeitsbereichen
  • Konfiguration von Synapse-Arbeitsbereichen zum Aktivieren der Verschlüsselung mit einem vom Kunden verwalteten Schlüssel
  • Verwalten von Schlüsseln, die zum Verschlüsseln von Daten in Arbeitsbereichen verwendet werden

Verschlüsselung für ruhende Daten

Mit einer Komplettlösung für die Verschlüsselung ruhender Daten wird sichergestellt, dass die Daten niemals in unverschlüsselter Form gespeichert werden. Die doppelte Verschlüsselung ruhender Daten verringert Bedrohungen durch zwei separate Verschlüsselungsebenen, um vor Kompromittierungen einer einzelnen Ebene zu schützen. Azure Synapse Analytics bietet eine zweite Verschlüsselungsebene für die Daten in Ihrem Arbeitsbereich mit einem vom Kunden verwalteten Schlüssel. Dieser Schlüssel wird in Ihrer Azure Key Vault-Instanz geschützt, sodass Sie den Besitz der Schlüsselverwaltung und -rotation übernehmen können.

Die erste Verschlüsselungsebene für Azure-Dienste wird mit plattformseitig verwalteten Schlüsseln aktiviert. Standardmäßig werden Azure-Datenträger und Daten in Azure Storage-Konten automatisch im Ruhezustand verschlüsselt. Weitere Informationen zur Verwendung der Verschlüsselung in Microsoft Azure finden Sie in der Übersicht über die Azure-Verschlüsselung.

Hinweis

Einige Elemente, die als Kundeninhalte betrachtet werden, z. B. Tabellen-, Objekt- und Indexnamen, werden zwecks Support und Problembehandlung durch Microsoft möglicherweise in Protokolldateien übertragen.

Azure Synapse-Verschlüsselung

Dieser Abschnitt vermittelt Ihnen ein besseres Verständnis dafür, wie die Verschlüsselung mit einem vom Kunden verwalteten Schlüssel in Synapse-Arbeitsbereichen aktiviert und erzwungen wird. Bei dieser Verschlüsselung werden vorhandene Schlüssel oder neue Schlüssel verwendet, die in Azure Key Vault generiert wurden. Alle Daten in einem Arbeitsbereich werden mit einem einzigen Schlüssel verschlüsselt. Synapse-Arbeitsbereiche unterstützen RSH-Schlüssel mit 2048 und 3072 Bytes sowie RSA-HSM-Schlüssel.

Hinweis

Synapse-Arbeitsbereiche unterstützen nicht die Verwendung von EC-, EC-HSM- und oct-HSM-Schlüsseln für die Verschlüsselung.

Die Daten in den folgenden Synapse-Komponenten werden mit dem vom Kunden verwalteten Schlüssel verschlüsselt, der auf der Arbeitsbereichsebene konfiguriert wurde:

  • SQL-Pools
    • Dedizierte SQL-Pools
    • Serverlose SQL-Pools
  • Datenexplorer-Pools
  • Apache Spark-Pools
  • Integration Runtimes, Pipelines und Datasets von Azure Data Factory.

Konfiguration der Arbeitsbereichsverschlüsselung

Bei der Erstellung können Arbeitsbereiche so konfiguriert werden, dass die doppelte Verschlüsselung mit einem vom Kunden verwalteten Schlüssel aktiviert wird. Wenn Sie einen neuen Arbeitsbereich erstellen, aktivieren Sie auf der Registerkarte „Sicherheit“ die Mehrfachverschlüsselung mit einem kundenseitig verwalteten Schlüssel. Sie können einen Schlüsselbezeichner-URI eingeben oder aus einer Liste von Schlüsseltresoren auswählen, die sich in derselben Region befinden wie der Arbeitsbereich. Für den Schlüsseltresor selbst muss der Löschschutz aktiviert sein.

Wichtig

Die Konfigurationseinstellung für die doppelte Verschlüsselung kann nach der Einstellung des Arbeitsbereichs nicht mehr geändert werden.

In diesem Diagramm sehen Sie die Option, die ausgewählt werden muss, um einen Arbeitsbereich für die doppelte Verschlüsselung mit einem vom Kunden verwalteten Schlüssel zu aktivieren.

Schlüsselzugriff und Arbeitsbereichsaktivierung

Beim Azure Synapse-Verschlüsselungsmodell mit vom Kunden verwalteten Schlüsseln greift der Arbeitsbereich auf die Schlüssel in Azure Key Vault zu, um nach Bedarf Ver- und Entschlüsselungsvorgänge auszuführen. Die Schlüssel werden dem Arbeitsbereich entweder über eine Zugriffsrichtlinie oder mit Azure Key Vault RBAC zugänglich gemacht. Wenn Sie Berechtigungen über eine Azure Key Vault-Zugriffsrichtlinie erteilen, wählen Sie während der Richtlinienerstellung die Option Nur Anwendung aus. (Wählen Sie die verwaltete Identität des Arbeitsbereichs aus, und fügen Sie diese nicht als autorisierte Anwendung hinzu.)

Der verwalteten Identität des Arbeitsbereichs müssen die erforderlichen Berechtigungen für den Schlüsseltresor erteilt werden, bevor der Arbeitsbereich aktiviert werden kann. Durch diesen phasenbasierten Ansatz für die Arbeitsbereichsaktivierung wird sichergestellt, dass die Daten im Arbeitsbereich mit dem vom Kunden verwalteten Schlüssel verschlüsselt werden. Verschlüsselung kann für einzelne dedizierte SQL-Pools aktiviert oder deaktiviert werden. Jeder dedizierte Pool ist standardmäßig nicht für die Verschlüsselung aktiviert.

Verwenden einer benutzerseitig zugewiesenen verwalteten Identität

Arbeitsbereiche können so konfiguriert werden, dass sie eine benutzerseitig zugewiesene verwaltete Identität verwenden, um auf Ihren kundenseitig verwalteten Schlüssel zuzugreifen, der in Azure Key Vault gespeichert ist. Konfigurieren Sie eine benutzerseitig zugewiesene verwaltete Identität, um eine Aktivierung Ihres Azure Synapse-Arbeitsbereichs in mehreren Stufen zu vermeiden, wenn Sie die Mehrfachverschlüsselung mit kundenseitig verwalteten Schlüsseln verwenden. Die integrierte Rolle „Mitwirkender für verwaltete Identitäten“ ist erforderlich, um einem Azure Synapse-Arbeitsbereich eine benutzerseitig zugewiesene verwaltete Identität zuzuweisen.

Hinweis

Eine benutzerseitig zugewiesene verwaltete Identität kann nicht für den Zugriff auf kundenseitig verwaltete Schlüssel konfiguriert werden, wenn Azure Key Vault sich hinter einer Firewall befindet.

Dieses Diagramm zeigt die Option, die ausgewählt werden muss, um einem Arbeitsbereich die Verwendung einer benutzerseitig zugewiesenen verwalteten Identität für die Mehrfachverschlüsselung mit einem kundenseitig verwalteten Schlüssel zu ermöglichen.

Berechtigungen

Um ruhende Daten verschlüsseln oder entschlüsseln zu können, muss die verwaltete Identität über die folgenden Berechtigungen verfügen. Wenn Sie eine Resource Manager-Vorlage verwenden, um einen neuen Schlüssel zu erstellen, muss der Parameter „keyOps“ der Vorlage über die folgenden Berechtigungen verfügen:

  • WrapKey (um beim Erstellen eines neuen Schlüssels einen Schlüssel in Key Vault einzufügen)
  • UnwrapKey (um den Schlüssel für die Entschlüsselung abzurufen)
  • Get (um den öffentlichen Teil eines Schlüssels zu lesen)

Arbeitsbereichsaktivierung

Wenn Sie während der Arbeitsbereichserstellung keine benutzerseitig zugewiesene verwaltete Identität für den Zugriff auf kundenseitig verwaltete Schlüssel konfigurieren, verbleibt Ihr Arbeitsbereich im Status „Ausstehend“, bis die Aktivierung erfolgreich ist. Der Arbeitsbereich muss aktiviert werden, damit Sie alle Funktionen vollständig nutzen können. Beispielsweise können Sie erst nach erfolgreicher Aktivierung einen neuen dedizierten SQL-Pool erstellen. Gewähren Sie der verwalteten Identität des Arbeitsbereichs Zugriff auf den Schlüsseltresor, und wählen Sie im Azure-Portal auf dem Arbeitsbereichsbanner den Aktivierungslink aus. Nachdem die Aktivierung erfolgreich abgeschlossen wurde, kann Ihr Arbeitsbereich mit der Gewissheit verwendet werden, dass alle darin enthaltenen Daten durch Ihren vom Kunden verwalteten Schlüssel geschützt sind. Wie bereits erwähnt, muss für den Schlüsseltresor der Löschschutz aktiviert sein, damit die Aktivierung erfolgreich durchgeführt werden kann.

In diesem Diagramm ist das Banner mit dem Aktivierungslink für den Arbeitsbereich dargestellt.

Verwalten des vom Kunden verwalteten Schlüssels für den Arbeitsbereich

Sie können den vom Kunden verwalteten Schlüssel, der zum Verschlüsseln von Daten verwendet wird, im Azure-Portal auf der Seite Verschlüsselung ändern. Hier können Sie auch einen neuen Schlüssel mithilfe eines Schlüsselbezeichners auswählen oder einen Schlüssel aus Schlüsseltresoren auswählen, auf die Sie Zugriff haben und die sich in derselben Region befinden wie der Arbeitsbereich. Wenn Sie einen Schlüssel in einem anderen Schlüsseltresor als den zuvor verwendeten auswählen, erteilen Sie der verwalteten Identität des Arbeitsbereichs die Berechtigungen zum Abrufen, Packen und Entpacken von Schlüsseln für den neuen Schlüsseltresor. Der Arbeitsbereich überprüft den Zugriff auf den neuen Schlüsseltresor, und alle Daten im Arbeitsbereich werden mit dem neuen Schlüssel erneut verschlüsselt.

In diesem Diagramm sehen Sie den Bereich „Verschlüsselung“ für den Arbeitsbereich im Azure-Portal.

Wichtig

Wenn Sie den Verschlüsselungsschlüssel eines Arbeitsbereichs ändern, behalten Sie den alten Schlüssel bei, bis Sie ihn im Arbeitsbereich durch einen neuen Schlüssel ersetzen. Dies ermöglicht das Entschlüsseln von Daten mit dem alten Schlüssel, bevor sie mit dem neuen Schlüssel erneut verschlüsselt werden. Der Status des SQL-Pools (Online/Offline) wirkt sich nicht auf den CMK-Rotationsprozess (Customer Managed Key, kundenseitig verwalteter Schlüssel) des Arbeitsbereichs aus.

  • SQL-Pools, die während der CMK-Rotation offline sind, bleiben mit dem alten Schlüssel oder der alten Schlüsselversion verschlüsselt. Wenn der alte Schlüssel oder die alte Schlüsselversion deaktiviert oder abgelaufen ist, werden die Pools nicht fortgesetzt, da die Entschlüsselung nicht möglich ist. Bei der Fortsetzung dieser Pools muss Folgendes zutreffen: Der alte Schlüssel oder die alte Schlüsselversion muss 1) aktiviert sein und 2) über ein Ablaufdatum in der Zukunft verfügen, um die Entschlüsselung und nachfolgende erneute Verschlüsselung mit dem neuen Schlüssel oder der neuen Schlüsselversion zu ermöglichen.

  • Wenn einige SQL-Pools während des Prozesses offline sind, sollte zum Sicherstellen einer reibungslosen CMK-Rotation der alte Schlüssel oder die alte Schlüsselversion aktiviert bleiben und ein Ablaufdatum in der Zukunft festgelegt sein. Dies ist entscheidend, bis die Offlinepools erfolgreich fortgesetzt und mit dem neuen Schlüssel oder der neuen Schlüsselversion erneut verschlüsselt werden.

  • Es wird dringend empfohlen, alte Schlüssel oder Schlüsselversionen nicht zu löschen, da sie möglicherweise noch zum Entschlüsseln von Sicherungen erforderlich sind. Nachdem alle SQL-Pools mit dem neuen Schlüssel oder der neuen Schlüsselversion neu verschlüsselt wurden, deaktivieren Sie stattdessen den alten Schlüssel oder die alte Schlüsselversion. Dadurch wird sichergestellt, dass der alte Schlüssel oder die alte Schlüsselversion bei Bedarf für die Entschlüsselung älterer Sicherungen verfügbar bleibt.

Azure Key Vault-Richtlinien für die automatische, regelmäßige Rotation von Schlüsseln oder Aktionen für die Schlüssel können zur Erstellung neuer Schlüsselversionen führen. Sie können auswählen, dass alle Daten im Arbeitsbereich mit der aktuellen Version des aktiven Schlüssels erneut verschlüsselt werden. Wenn die Daten erneut verschlüsselt werden sollen, ändern Sie im Azure-Portal den Schlüssel in einen temporären Schlüssel, und wechseln Sie dann zurück zu dem Schlüssel, den Sie für die Verschlüsselung verwenden möchten. Wenn Sie beispielsweise die Datenverschlüsselung mit der neuesten Version des aktiven Schlüssels „Schlüssel1“ aktualisieren möchten, ändern Sie den vom Kunden verwalteten Schlüssel für den Arbeitsbereich in den temporären Schlüssel „Schlüssel2“. Warten Sie, bis die Verschlüsselung mit Schlüssel2 abgeschlossen ist. Ändern Sie dann den vom Kunden verwalteten Schlüssel für den Arbeitsbereich wieder in Schlüssel1. Die Daten im Arbeitsbereich werden dann mit der neuesten Version von Schlüssel1 erneut verschlüsselt.

Hinweis

Azure Synapse Analytics verschlüsselt die Daten nicht automatisch neu, wenn neue Schlüsselversionen erstellt werden. Erzwingen Sie zur Gewährleistung der Konsistenz in Ihrem Arbeitsbereich die erneute Verschlüsselung der Daten mit dem oben beschriebenen Vorgang.

SQL Transparent Data Encryption mit dienstseitig verwalteten Schlüsseln

SQL Transparent Data Encryption (TDE) ist für dedizierte SQL-Pools in Arbeitsbereichen verfügbar, die nicht für die doppelte Verschlüsselung aktiviert sind. Bei diesem Typ von Arbeitsbereich wird ein vom Dienst verwalteter Schlüssel verwendet, um die doppelte Verschlüsselung der Daten in den dedizierten SQL-Pools zu ermöglichen. TDE mit dem vom Dienst verwalteten Schlüssel kann für einzelne dedizierte SQL-Pools aktiviert oder deaktiviert werden.

Cmdlets für Azure SQL-Datenbank und Azure Synapse

Um TDE über PowerShell zu konfigurieren, müssen Sie als Azure-Besitzer, Azure-Mitwirkender oder SQL-Sicherheitsmanager verbunden sein.

Verwenden Sie die folgenden Cmdlets für den Azure Synapse-Arbeitsbereich.

Cmdlet Beschreibung
Set-AzSynapseSqlPoolTransparentDataEncryption Aktiviert oder deaktiviert die transparente Datenverschlüsselung für einen SQL-Pool.
Get-AzSynapseSqlPoolTransparentDataEncryption Ruft den Status der transparenten Datenverschlüsselung für einen SQL-Pool ab.
New-AzSynapseWorkspaceKey Fügt einem Arbeitsbereich einen Key Vault-Schlüssel hinzu.
Get-AzSynapseWorkspaceKey Ruft die Key Vault-Schlüssel für einen Arbeitsbereich ab.
Update-AzSynapseWorkspace Legt den Schutz der transparenten Datenverschlüsselung für einen Arbeitsbereich fest.
Get-AzSynapseWorkspace Ruft die Schutzvorrichtung für die transparente Datenverschlüsselung ab
Remove-AzSynapseWorkspaceKey Entfernt einen Key Vault-Schlüssel aus einem Arbeitsbereich.