Freigeben über


TDE (Transparent Data Encryption) für SQL-Datenbank, SQL Managed Instance und Azure Synapse Analytics

Gilt für:Azure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse Analytics

Transparente Datenverschlüsselung (Transparent Data Encryption, TDE) trägt durch die Verschlüsselung von ruhenden Daten zum Schutz von Azure SQL-Datenbank, Azure SQL Managed Instance und Azure Synapse Analytics vor der Bedrohung durch schädliche Offlineaktivitäten bei. Die Datenbank, die zugehörigen Sicherungen und die Transaktionsprotokolldateien werden im Ruhezustand in Echtzeit ver- und entschlüsselt, ohne dass Änderungen an der Anwendung erforderlich sind. TDE ist standardmäßig für alle neu bereitgestellten Azure SQL-Datenbank-Instanzen aktiviert und muss für ältere Datenbanken in Azure SQL-Datenbank manuell aktiviert werden. Bei Azure SQL Managed Instance ist TDE auf Instanzebene und in neu erstellten Datenbanken aktiviert. Für Azure Synapse Analytics muss TDE manuell aktiviert werden.

Hinweis

Dieser Artikel gilt für Azure SQL-Datenbank, Azure SQL Managed Instance und Azure Synapse Analytics (dedizierte SQL-Pools (vormals SQL DW)). Die Dokumentation zu Transparent Data Encryption für dedizierte SQL-Pools in Synapse-Arbeitsbereichen finden Sie unter Verschlüsselung für Azure Synapse Analytics-Arbeitsbereiche.

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.

Die TDE führt die E/A-Verschlüsselung und -Entschlüsselung der Daten auf Seitenebene in Echtzeit durch. Jede Seite wird entschlüsselt, wenn sie in den Speicher gelesen wird, und dann verschlüsselt, bevor sie auf den Datenträger geschrieben wird. TDE verschlüsselt den Speicher einer gesamten Datenbank mithilfe eines symmetrischen Schlüssels, der als Datenbank-Verschlüsselungsschlüssel (Database Encryption Key, DEK) bezeichnet wird. Beim Datenbankstart wird der verschlüsselte DEK entschlüsselt und dann für die Entschlüsselung und erneute Verschlüsselung der Datenbankdateien im Prozess der SQL Server-Datenbank-Engine verwendet. Der DEK ist durch die TDE-Schutzvorrichtung geschützt. TDE-Schutz ist entweder ein vom Dienst verwaltetes Zertifikat (dienstverwaltete transparente Datenverschlüsselung) oder ein asymmetrischer Schlüssel, der in Azure Key Vault oder azure Key Vault Managed HSM (vom Kunden verwaltete transparente Datenverschlüsselung) gespeichert ist.

Bei Azure SQL-Datenbank und Azure Synapse ist der TDE-Schutz auf der Serverebene festgelegt und wird von allen Datenbanken übernommen, die diesem Server zugeordnet sind. Bei Azure SQL Managed Instance ist die TDE-Schutzvorrichtung auf Instanzebene festgelegt und wird von allen verschlüsselten Datenbanken auf dieser Instanz geerbt. In diesem Dokument bezieht sich der Begriff Server sowohl auf den Server als auch die Instanz (sofern nicht anders angegeben).

Wichtig

Alle neu erstellten SQL-Datenbanken werden standardmäßig mithilfe der von einem Dienst verwalteten transparenten Datenverschlüsselung verschlüsselt. Wenn die Datenbankquelle verschlüsselt ist, werden die Zieldatenbanken, die durch Wiederherstellen, Georeplikation und Datenbankkopie erstellt wurden, standardmäßig verschlüsselt. Wenn die Datenbankquelle jedoch nicht verschlüsselt ist, werden die Zieldatenbanken, die durch Wiederherstellen, Georeplikation und Datenbankkopie erstellt wurden, standardmäßig nicht verschlüsselt. Vorhandene SQL-Datenbanken, die vor Mai 2017 erstellt wurden, und vorhandene SQL Managed Instance-Datenbanken, die vor Februar 2019 erstellt wurden, werden standardmäßig nicht verschlüsselt. SQL Managed Instance-Datenbanken, die durch Wiederherstellung erstellt wurden, erben den Verschlüsselungsstatus von der Quelle. Wenn Sie eine vorhandene verschlüsselte Datenbank wiederherstellen möchten, müssen Sie zunächst das erforderliche TDE-Zertifikat in SQL Managed Instance importieren. Um den Verschlüsselungsstatus einer Datenbank zu ermitteln, führen Sie eine Select-Abfrage aus der DMV sys.dm_database_encryption_keys aus und prüfen den Status der Spalte encryption_state_desc.

Hinweis

TDE kann nicht verwendet werden, um Systemdatenbanken wie die master-Datenbank in SQL-Datenbank und SQL Managed Instance zu verschlüsseln. Die master-Datenbank enthält Objekte, die zum Ausführen der TDE-Vorgänge auf Benutzerdatenbanken erforderlich sind. Es wird empfohlen, keine vertraulichen Daten in Systemdatenbanken zu speichern. Die Ausnahme ist tempdb, die immer durch einen speziellen asymmetrischen Schlüssel verschlüsselt wird, der microsoft gehört. Dies ist beabsichtigt und stellt sicher, dass temporäre Objekte geschützt sind.

Von einem Dienst verwaltete transparente Datenverschlüsselung

In Azure ist die TDE standardmäßig so eingerichtet, dass der DEK durch ein integriertes Serverzertifikat geschützt ist. Das integrierte Serverzertifikat ist für jeden Server eindeutig, und der verwendete Verschlüsselungsalgorithmus ist AES 256 im CBC-Modus (Cipher Block Chaining). Wenn sich eine Datenbank in einer Georeplikationsbeziehung befindet, werden sowohl die primäre als auch die sekundäre Geodatenbank vom übergeordneten Serverschlüssel der primären Datenbank geschützt. Sind zwei Datenbanken mit dem gleichen Server verbunden, verwenden sie auch das gleiche integrierte Zertifikat. Microsoft rotiert diese Zertifikate einmal pro Jahr gemäß der internen Sicherheitsrichtlinie automatisch, und der Stammschlüssel wird von einem Microsoft-internen Geheimnisspeicher geschützt. Kunden können die Compliance von SQL-Datenbank und SQL Managed Instance mit internen Sicherheitsrichtlinien in Überwachungsberichten unabhängiger Drittanbieter überprüfen, die im Microsoft Trust Center zur Verfügung stehen.

Microsoft verschiebt und verwaltet auch die Schlüssel nahtlos, die für die Georeplikation und Wiederherstellung benötigt werden.

Vom Kunden selbst verwaltete transparente Datenverschlüsselung – BYOK (Bring Your Own Key)

Die vom Kunden verwaltete transparente Datenverschlüsselung wird auch als BYOK-Unterstützung für TDE bezeichnet. In diesem Szenario ist die TDE-Schutzvorrichtung, die den DEK verschlüsselt, ein kundenseitig verwalteter asymmetrischer Schlüssel, der in einer kundeneigenen und kundenseitig verwalteten Azure Key Vault-Instanz – dem cloudbasierten externen Schlüsselverwaltungssystem von Azure – gespeichert ist und diesen Schlüsseltresor niemals verlässt. Der TDE-Schutz kann vom Schlüsseltresor generiert oder von einem lokalen HSM-Gerät (Hardwaresicherheitsmodul) in den Schlüsseltresor übertragen werden. Alternativ können Kunden azure Managed HSM verwenden, um die TDE-Schutzkomponente zu speichern und zu verwalten. SQL-Datenbank, SQL Managed Instance und Azure Synapse müssen Berechtigungen für den Schlüsseltresor des Kunden gewährt werden, damit der DEK ver- und entschlüsselt werden kann. Wenn die Serverberechtigungen für den Schlüsseltresor widerrufen werden, ist kein Zugriff auf die Datenbank möglich, und alle Daten werden verschlüsselt.

Mit TDE und einer Integration von Azure Key Vault oder verwaltetem Azure-HSM können Benutzende Aufgaben der Schlüsselverwaltung steuern, z. B. Schlüsselrotationen, Schlüsseltresorberechtigungen und Schlüsselsicherungen. Außerdem können sie die Überwachung und Berichterstellung für alle TDE-Schutzvorrichtungen aktivieren, die Funktionen von Azure Key Vault oder verwaltetem Azure-HSM nutzen. Azure Key Vault und azure Managed HSM bieten zentrale Schlüsselverwaltung, nutzt streng überwachte HSMs und ermöglicht die Trennung von Aufgaben zwischen der Verwaltung von Schlüsseln und Daten, um die Einhaltung der Sicherheitsrichtlinien zu erfüllen. Weitere Informationen zu BYOK für Azure SQL-Datenbank und Azure Synapse finden Sie unter transparenter Azure SQL-Datenverschlüsselung mit vom Kunden verwaltetem Schlüssel.

Informationen zur Verwendung von TDE mit der Azure Key Vault-Integration finden Sie in der Anleitung zu PowerShell und Azure CLI: Aktivieren der transparenten Datenverschlüsselung mit vom Kunden verwaltetem Schlüssel aus Azure Key Vault.

Verschieben einer durch die transparente Datenverschlüsselung gesicherte Datenbank

Für Vorgänge in Azure müssen Datenbanken nicht entschlüsselt werden. Die TDE-Einstellungen für die Quelldatenbank oder die primäre Datenbank werden transparent an das Ziel vererbt. Dies gilt für folgende Vorgänge:

  • Geowiederherstellung
  • Self-Service-Point-in-Time-Wiederherstellung
  • Wiederherstellung einer gelöschten Datenbank
  • Aktive Georeplikation
  • Erstellung einer Datenbankkopie
  • Wiederherstellen einer Sicherungsdatei in der verwalteten Azure SQL-Instanz

Wichtig

Die manuelle COPY-ONLY Sicherung einer Datenbank, die durch vom Dienst verwaltete TDE verschlüsselt wurde, wird in azure SQL Managed Instance nicht unterstützt, da auf das zertifikat, das für die Verschlüsselung verwendet wird, nicht zugegriffen werden kann. Verwenden Sie die Point-in-Time-Wiederherstellung, um diese Art von Datenbank auf eine andere SQL Managed Instance zu verschieben, oder wechseln Sie zu einem kundenseitig verwalteten Schlüssel.

Wenn Sie eine TDE-geschützte Datenbank in eine BACPAC-Datei exportieren, wird der exportierte Inhalt der Datenbank nicht verschlüsselt. Wenn Sie in eine vorhandene leere Datenbank importieren, hängt die Verschlüsselung davon ab, ob TDE für diese Datenbank aktiviert ist oder nicht. Wenn während des Imports eine neue Datenbank erstellt wird, verwendet sie die Standard-TDE-Einstellungen des logischen Servers für Azure SQL-Datenbank oder azure SQL Managed Instance.

Verwalten von Transparent Data Encryption

Verwalten Sie TDE im Azure-Portal.

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

Aktivieren und Deaktivieren Sie TDE auf Datenbankebene. Verwenden Sie für Azure SQL Managed Instance Transact-SQL (T-SQL), um TDE für eine Datenbank zu aktivieren oder zu deaktivieren. Für Azure SQL-Datenbank und Azure Synapse können Sie TDE für die Datenbank im Azure-Portal verwalten, nachdem Sie sich mit einem Konto als Azure-Administrator oder Azure-Mitwirkender angemeldet haben. Suchen Sie die TDE-Einstellungen in Ihrer Benutzerdatenbank. Standardmäßig wird der Verschlüsselungsschlüssel auf Serverebene verwendet. Für den Server, der die Datenbank enthält, wird automatisch ein TDE-Zertifikat generiert.

Screenshot des Datenverschlüsselungsmenüs im Azure-Portal für eine Datenbank.

Sie legen den TDE-Hauptschlüssel, der auch als TDE-Schutz bezeichnet wird, auf Server- oder Instanzebene fest. Um TDE mit BYOK-Unterstützung zu verwenden und Ihre Datenbanken mit einem Schlüssel aus Azure Key Vault oder azure Managed HSM zu schützen, öffnen Sie die TDE-Einstellungen unter Ihrem Server oder ihrer verwalteten Instanz.

Screenshot des Menüs für Trasparent Data Encryption im Azure-Portal für einen Server.

Sie können auch einen kundenseitig verwalteten Schlüssel für TDE auf Datenbankebene für Azure SQL-Datenbank verwenden. Weitere Informationen finden Sie unter Transparente Datenverschlüsselung (Transparent Data Encryption, TDE) mit kundenseitig verwalteten Schlüsseln auf Datenbankebene.