TDE (Transparent Data Encryption) für SQL-Datenbank, SQL Managed Instance und Azure Synapse Analytics
Gilt für: Azure SQL-Datenbank
Azure SQL Managed Instance
Azure 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. TDE ver- und entschlüsselt die Datenbank, die zugehörigen Sicherungen und die Transaktionsprotokolldateien im Ruhezustand in Echtzeit, 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 und auf Seitenebene 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. Beim TDE-Schutzvorrichtung handelt es sich entweder um ein von einem Dienst verwaltetes Zertifikat (dienstseitig verwaltete transparente Datenverschlüsselung) oder um einen asymmetrischen Schlüssel, der in Azure Key Vault gespeichert ist (kundenseitig verwaltete transparente Datenverschlüsselung).
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 für diese 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, nicht standardmäßig verschlüsselt. Bestehende SQL-Datenbanken, die vor Mai 2017 erstellt wurden und bestehende SQL Managed Instance-Datenbanken, die vor Februar 2019 erstellt wurden, werden standardmäßig nicht verschlüsselt. Azure SQL Managed Instance-Datenbanken, die durch Wiederherstellen 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 zum Verschlüsseln von Systemdatenbanken wie die master
in SQL-Datenbank und SQL Managed Instance verwendet werden. Die master
-Datenbank enthält Objekte, die zum Ausführen der TDE-Vorgänge auf Benutzerdatenbanken erforderlich sind. Es wird davon abgeraten, vertrauliche Daten in Systemdatenbanken zu speichern. Die Ausnahme ist tempdb
, die immer mit TDE verschlüsselt wird, um die dort gespeicherten Daten zu schützen.
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. 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 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 verwaltete Transparent Data Encryption – 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. 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 Azure Key Vault-Integration können Benutzer 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 Azure Key Vault-Funktionalität nutzen. Key Vault bietet eine zentrale Schlüsselverwaltung, verwendet streng überwachte HSMs und ermöglicht die Aufgabentrennung zwischen dem Verwalten von Schlüsseln und Daten, um Sicherheitsrichtlinien einzuhalten. Weitere Informationen zu BYOK für Azure SQL-Datenbank und Azure Synapse finden Sie unter Transparente Datenverschlüsselung mit Azure Key Vault-Integration.
Wenn Sie mit der Verwendung von TDE mit Azure Key Vault-Integration beginnen möchten, sehen Sie sich die Schrittanleitung Aktivieren der transparenten Datenverschlüsselung mithilfe Ihres eigenen Schlüssels aus Key Vault an.
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 über einen vom Dienst verwalteten TDE-Vorgang verschlüsselt wurde, wird in Azure SQL Managed Instance nicht unterstützt, da nicht auf das für die Verschlüsselung genutzte Zertifikat 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 exportieren, wird der exportierte Inhalt der Datenbank nicht verschlüsselt. Diese exportierten Inhalte werden in unverschlüsselten BACPAC-Dateien gespeichert. Achten Sie darauf, die BACPAC-Dateien in geeigneter Weise zu schützen und TDE zu aktivieren, sobald der Import der neuen Datenbank abgeschlossen ist.
Beispiel: Wenn die BACPAC-Datei von einer SQL Server-Instanz exportiert wird, wird der importierte Inhalt der neuen Datenbank nicht automatisch verschlüsselt. Wenn die BACPAC-Datei in eine SQL Server-Instanz exportiert wird, wird die neue Datenbank auch nicht automatisch verschlüsselt.
Eine Ausnahme besteht beim Exportieren einer Datenbank in und aus SQL-Datenbank. TDE ist für die neue Datenbank aktiviert, die BACPAC-Datei selbst ist allerdings noch nicht verschlüsselt.
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.
Sie legen den TDE-Hauptschlüssel, der auch als TDE-Schutz bezeichnet wird, auf Server- oder Instanzebene fest. Öffnen Sie die TDE-Einstellungen unter Ihrem Server oder Ihrer verwalteten Instanz, um TDE mit BYOK-Unterstützung zu verwenden und Ihre Datenbanken mit einem Schlüssel aus Azure Key Vault zu schützen.
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.