Transparente Datenverschlüsselung für SQL-Datenbanken und SQL Managed Instance

Gilt für:Azure SQL-DatenbankAzure SQL Managed Instance

Transparente Datenverschlüsselung (TDE) hilft, Azure SQL-Datenbank und Azure SQL Managed Instance vor der Bedrohung bösartiger Offline-Aktivitäten zu schützen, indem sie ruhende Daten verschlüsselt. 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.

  • Standardmäßig ist TDE für alle neu bereitgestellten Datenbanken in Azure SQL-Datenbank aktiviert und muss für ältere Datenbanken manuell aktiviert werden.
  • Für Azure SQL Managed Instance ist TDE auf Instanzebene und für neu erstellte Datenbanken aktiviert.

Hinweis

Fügen Sie keine persönlichen, sensiblen oder vertraulichen Informationen in Ressourcennamen (zum Beispiel Tabellenname, Datenbankname) und Ressourcen-Tags hinzu. Die Daten, die Sie in diese Felder eingeben, gelten nicht als Kundendaten.

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.

  • Für die Azure SQL-Datenbank ist der TDE-Schutz auf der Ebene des logischen Servers gesetzt und von allen mit diesem Server verbundenen Datenbanken übernommen.
  • 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 Database und SQL Managed Instance müssen Berechtigungen für den kundeneigenen Key Vault erhalten, um den DEK zu entschlüsseln und zu verschlüsseln. 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. Um mehr über BYOK für Azure SQL-Datenbank und Azure SQL Managed Instance zu erfahren, siehe Azure SQL transparente Datenverschlüsselung mit kundenverwaltetem 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 die Azure SQL-Datenbank können Sie TDE für die Datenbank im Azure-Portal verwalten, nachdem Sie sich mit dem Azure Administrator- oder Contributor-Konto eingeloggt haben. Suchen Sie die TDE-Einstellungen in Ihrer Benutzerdatenbank. Standardmäßig wird der Server-Verschlüsselungsschlüssel 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. 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.

TDE in Azure Synapse Analytics

Informationen zur transparenten Datenverschlüsselung in Azure Synapse Analytics finden Sie unter Transparente Datenverschlüsselung.