Freigeben über


Datenverschlüsselung in sql-Datenbank in Microsoft Fabric

Gilt für:SQL-Datenbank in Microsoft Fabric

Von Bedeutung

Dieses Feature befindet sich in der Vorschauphase.

Microsoft Fabric verschlüsselt alle ruhenden Daten mit von Microsoft verwalteten Schlüsseln. Alle SQL-Datenbankdaten werden in Azure Storage-Remotekonten gespeichert. Um verschlüsselungsbasierte Anforderungen mit von Microsoft verwalteten Schlüsseln zu erfüllen, wird jedes azure Storage-Konto, das von der SQL-Datenbank verwendet wird, mit aktivierter dienstseitiger Verschlüsselung konfiguriert.

Mit vom Kunden verwalteten Schlüsseln für Fabric-Arbeitsbereiche können Sie Ihre Azure Key Vault-Schlüssel verwenden, um den Daten in Ihren Microsoft Fabric-Arbeitsbereichen, einschließlich aller Daten in der SQL-Datenbank in Microsoft Fabric, eine weitere Schutzebene hinzuzufügen. Ein vom Kunden verwalteter Schlüssel bietet mehr Flexibilität, sodass Sie seine Rotation verwalten, den Zugriff steuern und die Nutzung überwachen können. Vom Kunden verwaltete Schlüssel helfen Organisationen auch bei der Erfüllung der Anforderungen an die Datengovernance und die Einhaltung von Datenschutz- und Verschlüsselungsstandards.

  • Wenn ein vom Kunden verwalteter Schlüssel für einen Arbeitsbereich in Microsoft Fabric konfiguriert ist, wird die transparente Datenverschlüsselung automatisch für alle SQL-Datenbanken (und tempdb) innerhalb dieses Arbeitsbereichs mithilfe des angegebenen vom Kunden verwalteten Schlüssels aktiviert. Dieser Prozess ist völlig nahtlos und erfordert keinen manuellen Eingriff.
    • Während der Verschlüsselungsprozess automatisch für alle vorhandenen SQL-Datenbanken beginnt, ist er nicht sofort verfügbar. die Dauer hängt von der Größe jeder SQL-Datenbank ab, wobei größere SQL-Datenbanken mehr Zeit benötigen, um die Verschlüsselung abzuschließen.
    • Nachdem der vom Kunden verwaltete Schlüssel konfiguriert wurde, werden alle im Arbeitsbereich erstellten SQL-Datenbanken auch mit dem vom Kunden verwalteten Schlüssel verschlüsselt.
  • Wenn der vom Kunden verwaltete Schlüssel entfernt wird, wird der Entschlüsselungsprozess für alle SQL-Datenbanken im Arbeitsbereich ausgelöst. Wie die Verschlüsselung hängt die Entschlüsselung auch von der Größe der SQL-Datenbank ab und kann Zeit in Anspruch nehmen. Nach der Entschlüsselung wechseln die SQL-Datenbanken zur Verschlüsselung mit von Microsoft verwalteten Schlüsseln zurück.

Funktionsweise der transparenten Datenverschlüsselung in der SQL-Datenbank in Microsoft Fabric

Transparente Datenverschlüsselung führt echtzeitbasierte Verschlüsselung und Entschlüsselung der Datenbank, der zugehörigen Sicherungen und der ruhenden Transaktionsprotokolldateien durch.

  • Dieser Vorgang erfolgt auf Seitenebene, d. h. jede Seite wird entschlüsselt, wenn sie in den Arbeitsspeicher gelesen und erneut verschlüsselt wird, bevor sie wieder auf den Datenträger geschrieben werden.
  • Transparente Datenverschlüsselung sichert die gesamte Datenbank mithilfe eines symmetrischen Schlüssels, der als Datenbankverschlüsselungsschlüssel (DEK) bezeichnet wird.
  • Wenn die Datenbank gestartet wird, wird die verschlüsselte DEK entschlüsselt und vom SQL Server-Datenbankmodul zum Verwalten von Verschlüsselungs- und Entschlüsselungsvorgängen verwendet.
  • Die DEK selbst ist durch die transparente Datenverschlüsselungskomponente geschützt, bei der es sich um einen vom Kunden verwalteten asymmetrischen Schlüssel handelt, insbesondere durch den vom Kunden verwalteten Schlüssel, der auf Arbeitsbereichsebene konfiguriert ist.

Diagramm der Verschlüsselung für DIE SQL-Datenbank in Microsoft Fabric.

Sichern und Wiederherstellen

Sobald eine SQL-Datenbank mit einem vom Kunden verwalteten Schlüssel verschlüsselt ist, werden alle neu generierten Sicherungen auch mit demselben Schlüssel verschlüsselt.

Wenn der Schlüssel geändert wird, werden alte Sicherungen der SQL-Datenbank nicht aktualisiert, um den neuesten Schlüssel zu verwenden. Um eine mit einem kundenverwalteten Schlüssel verschlüsselte Sicherung wiederherzustellen, stellen Sie sicher, dass das Schlüsselmaterial im Azure Key Vault verfügbar ist. Daher wird empfohlen, dass Kunden alle alten Versionen der vom Kunden verwalteten Schlüssel in Azure Key Vault beibehalten, damit SQL-Datenbanksicherungen wiederhergestellt werden können.

Der SQL-Datenbank-Wiederherstellungsprozess berücksichtigt immer die vom Kunden verwalteten Arbeitsbereichseinstellungen. In der folgenden Tabelle werden verschiedene Wiederherstellungsszenarien basierend auf den vom Kunden verwalteten Schlüsseleinstellungen und der Verschlüsselung der Sicherung beschrieben.

Die Sicherung ist... Einstellung des vom Kunden verwalteten Schlüsselarbeitsbereichs Verschlüsselungsstatus nach der Wiederherstellung
Nicht verschlüsselt Disabled SQL-Datenbank ist nicht verschlüsselt
Nicht verschlüsselt Enabled SQL-Datenbank wird mit vom Kunden verwaltetem Schlüssel verschlüsselt
Verschlüsselt mit vom Kunden verwaltetem Schlüssel Disabled SQL-Datenbank ist nicht verschlüsselt
Verschlüsselt mit vom Kunden verwaltetem Schlüssel Enabled SQL-Datenbank wird mit vom Kunden verwaltetem Schlüssel verschlüsselt
Verschlüsselt mit vom Kunden verwaltetem Schlüssel Aktiviert, aber unterschiedlicher vom Kunden verwalteter Schlüssel SQL-Datenbank wird mit dem neuen vom Kunden verwalteten Schlüssel verschlüsselt

Überprüfen des erfolgreichen vom Kunden verwalteten Schlüssels

Sobald Sie die vom Kunden verwaltete Schlüsselverschlüsselung im Arbeitsbereich aktivieren, wird die vorhandene Datenbank verschlüsselt. Eine neue Datenbank in einem Arbeitsbereich wird auch verschlüsselt, wenn der vom Kunden verwaltete Schlüssel aktiviert ist. Führen Sie die folgende T-SQL-Abfrage aus, um zu überprüfen, ob Ihre Datenbank erfolgreich verschlüsselt wurde:

SELECT DB_NAME(database_id) as DatabaseName, * 
FROM sys.dm_database_encryption_keys 
WHERE database_id <> 2;
  • Eine Datenbank ist verschlüsselt, wenn das encryption_state_desc-Feld ENCRYPTED anzeigt, wobei ASYMMETRIC_KEY als encryptor_type fungiert.
  • Wenn der Status lautet ENCRYPTION_IN_PROGRESS, gibt die percent_complete Spalte den Fortschritt der Änderung des Verschlüsselungszustands an. Dies wird 0 sein, wenn keine Zustandsänderung im Gange ist.
  • Wenn sie nicht verschlüsselt ist, wird eine Datenbank nicht in den Abfrageergebnissen von sys.dm_database_encryption_keysangezeigt.

Problembehandlung für nicht zugänglichen vom Kunden verwalteten Schlüssel

Wenn ein vom Kunden verwalteter Schlüssel für einen Arbeitsbereich in Microsoft Fabric konfiguriert ist, ist ein kontinuierlicher Zugriff auf den Schlüssel erforderlich, damit die SQL-Datenbank online bleibt. Wenn die SQL-Datenbank den Zugriff auf den Schlüssel im Azure Key Vault verliert, beginnt die SQL-Datenbank in bis zu 10 Minuten, alle Verbindungen zu verweigern und den Status in "Nicht zugänglich" zu ändern. Benutzer erhalten eine entsprechende Fehlermeldung wie "Datenbank <database ID>.database.fabric.microsoft.com ist aufgrund eines kritischen Azure Key Vault-Fehlers nicht zugänglich".

  • Wenn der Schlüsselzugriff innerhalb von 30 Minuten wiederhergestellt wird, wird die SQL-Datenbank innerhalb der nächsten Stunde automatisch wiederhergestellt.
  • Wenn der Schlüsselzugriff nach mehr als 30 Minuten wiederhergestellt wird, ist die automatische Wiederherstellung der SQL-Datenbank nicht möglich. Das Zurücksetzen der SQL-Datenbank erfordert zusätzliche Schritte und kann je nach Größe der SQL-Datenbank eine erhebliche Zeit in Anspruch nehmen.

Führen Sie die folgenden Schritte aus, um den vom Kunden verwalteten Schlüssel erneut zu überprüfen:

  1. Klicken Sie in Ihrem Arbeitsbereich mit der rechten Maustaste auf die SQL-Datenbank oder auf das ... Kontextmenü. Wählen Sie "Einstellungen" aus.
  2. Wählen Sie Verschlüsselung (Vorschau) aus.
  3. Um zu versuchen, den kundenseitig verwalteten Schlüssel erneut zu validieren, wählen Sie die Schaltfläche "Kundenseitig verwalteter Schlüssel erneut validieren" aus. Wenn die Erneute Überprüfung erfolgreich ist, kann das Wiederherstellen des Zugriffs auf Ihre SQL-Datenbank einige Zeit in Anspruch nehmen.

Hinweis

Wenn Sie den Schlüssel für eine SQL-Datenbank erneut überprüfen, wird der Schlüssel automatisch für alle SQL-Datenbanken innerhalb Ihres Arbeitsbereichs neu überprüft.

Einschränkungen

Aktuelle Einschränkungen bei der Verwendung von vom Kunden verwaltetem Schlüssel für eine SQL-Datenbank in Microsoft Fabric:

  • 4.096-Bit-Schlüssel werden für SQL-Datenbank in Microsoft Fabric nicht unterstützt. Unterstützte Schlüssellängen sind 2.048 Bit und 3.072 Bit.
  • Der vom Kunden verwaltete Schlüssel muss ein RSA- oder RSA-HSM asymmetrischer Schlüssel sein.
  • Derzeit ist die vom Kunden verwaltete Schlüsselverschlüsselung in den folgenden Regionen verfügbar:
    • USA: Ost-US 2, Nord-Mittel-USA, Süd-Zentral-USA
    • Asien: Australien Ost, Südostasien, VAE Nord
    • Europa: Nordeuropa, Westeuropa