Transparente Datenverschlüsselung in Azure SQL-Datenbank

Azure SQL Transparente Datenverschlüsselung (Vorschau) der Datenbank schützt vor der Bedrohung durch böswillige Aktivitäten, indem sie die Datenbank, die zugehörigen Sicherungen und ruhenden Transaktionsprotokolldateien in Echtzeit ohne Änderungen an der Anwendung in Echtzeit verschlüsselt und entschlüsselt.

TDE verschlüsselt die Speicherung einer gesamten Datenbank, indem ein symmetrischer Schlüssel verwendet wird, der als Datenbankverschlüsselungsschlüssel bezeichnet wird. In SQL-Datenbank wird der Datenbankverschlüsselungsschlüssel mit einem integrierten Serverzertifikat geschützt. Das integrierte Serverzertifikat ist für jeden SQL-Datenbank-Server eindeutig. Wenn sich eine Datenbank in einer GeoDR-Beziehung befindet, ist sie auf jedem Server durch einen anderen Schlüssel geschützt. Wenn zwei Datenbanken mit dem gleichen Server verbunden sind, verwenden sie das gleiche integrierte Zertifikat. Microsoft tauscht diese Zertifikate mindestens alle 90 Tage automatisch untereinander. Eine allgemeine Beschreibung von TDE finden Sie unter Transparente Datenverschlüsselung (TDE).

Azure SQL Database unterstützt keine Azure Key Vault-Integration mit TDE. SQL Server, die auf einem virtuellen Azure-Computer ausgeführt werden, können einen asymmetrischen Schlüssel aus dem Key Vault verwenden. Weitere Informationen finden Sie unter Example A: Transparent Data Encryption by Using an Asymmetric Key from the Key Vault.

Gilt für: SQL-Datenbank V12 (Vorschau in einigen Regionen).

Wichtig

Dies ist zurzeit eine Vorschaufunktion. Ich erkenne an und stimme zu, dass die Implementierung SQL-Datenbank transparenten Datenverschlüsselung in meinen Datenbanken den Vorschaubedingungen in meinem Lizenzvertrag (z. B. der Enterprise Agreement, der Microsoft Azure-Vereinbarung oder der Microsoft Online-Abonnementvereinbarung) sowie allen anwendbaren zusätzlichen Nutzungsbedingungen für Microsoft Azure Preview unterliegt.

Die Vorschauversion von status von TDE gilt auch in der Teilmenge der geografischen Regionen, in denen die V12-Version von SQL-Datenbank angekündigt wird, da sie jetzt status allgemein verfügbar ist. TDE für SQL-Datenbank ist erst für die Verwendung in Produktionsdatenbanken vorgesehen, bis Microsoft ankündigt, dass TDE von der Vorschauversion in die Allgemeine Verfügbarkeit (GA) höhergestuft wird. Weitere Informationen zu SQL-Datenbank V12 finden Sie unter Neuigkeiten in Azure SQL Datenbank.

Berechtigungen

Um sich für die Vorschau zu registrieren und TDE über das Azure-Portal mithilfe der REST-API oder mithilfe von PowerShell zu konfigurieren,müssen Sie als Azure-Besitzer, Azure-Mitwirkender oder SQL-Sicherheitsmanager verbunden sein.

Zum Konfigurieren von TDE mithilfe von Transact-SQL ist Folgendes erforderlich:

  • Sie müssen bereits für die TDE-Vorschau registriert sein.

  • Um den Datenbankverschlüsselungsschlüssel zu erstellen, müssen Sie ein SQL-Datenbank Administrator sein, oder Sie müssen Mitglied der Rolle dbmanager in der master Datenbank sein und über die CONTROL-Berechtigung für die Datenbank verfügen.

  • Zum Ausführen der Anweisung ALTER DATABASE mit der Option SET ist lediglich die Mitgliedschaft in der Rolle dbmanager erforderlich.

Registrieren für die Vorschau von TDE und Aktivieren von TDE für eine Datenbank

  1. Besuchen Sie das Azure-Portal unter, https://portal.azure.com und melden Sie sich mit Ihrem Azure-Administrator- oder Mitwirkendenkonto an.

  2. Klicken Sie auf dem linken Banner auf DURCHSUCHEN, und klicken Sie dann auf SQL-Datenbanken.

  3. Klicken Sie auf Ihre Benutzerdatenbank, während im linken Bereich SQL-Datenbanken ausgewählt ist.

  4. Klicken Sie auf dem Datenbankblatt auf Alle Einstellungen.

  5. Klicken Sie auf dem Blatt Einstellungen auf das Part Transparente Datenverschlüsselung (Vorschau) , um das Blatt Transparente Datenverschlüsselung VORSCHAU zu öffnen. Wenn Sie sich noch nicht für die TDE-Vorschau registriert haben, sind die Einstellungen für die Datenverschlüsselung deaktiviert, bis Sie die Registrierung abgeschlossen haben.

  6. Klicken Sie auf VORSCHAUBESTIMMUNGEN.

  7. Lesen Sie die Bedingungen der Vorschau, und wenn Sie den Bedingungen zustimmen, aktivieren Sie das Kontrollkästchen Transparente DatenverschlüsselungVorschaubegriffe , und klicken Sie dann unten auf der Seite auf OK . Kehren Sie zum Blatt DatenverschlüsselungPREVIEW zurück, auf dem die Schaltfläche Datenverschlüsselung jetzt aktiviert werden soll.

  8. Schieben Sie auf dem Blatt Datenverschlüsselung VORSCHAU den Schalter Datenverschlüsselung auf Ein, und klicken Sie dann auf Speichern (oben auf der Seite), um die Einstellung zu übernehmen. Der Verschlüsselungsstatus ist eine ungefähre Angabe zum Fortschritt der transparenten Datenverschlüsselung.

    SQLDB_TDE_TermsNewUI

    Sie können den Fortschritt der Verschlüsselung auch überwachen, indem Sie eine Verbindung mit SQL-Datenbank mithilfe eines Abfragetools wie SQL Server Management Studio als Datenbankbenutzer mit der Berechtigung VIEW DATABASE STATE herstellen. Fragen Sie die encryption_state Spalte der sys.dm_database_encryption_keys-Ansicht ab.

Aktivieren von TDE für SQL-Datenbank mithilfe von Transact-SQL

In den folgenden Schritten wird angenommen, dass Sie sich bereits für die Vorschau registriert haben.

  1. Stellen Sie eine Verbindung mit der Datenbank mithilfe eines Kontos her, das ein Administratorkonto oder ein Mitglied der Rolle dbmanager in der Masterdatenbank ist.

  2. Führen Sie die folgenden Anweisungen aus, um einen Datenbankverschlüsselungsschlüssel zu erstellen und die Datenbank zu verschlüsseln.

    -- Create the database encryption key that will be used for TDE.
    CREATE DATABASE ENCRYPTION KEY 
    WITH ALGORITHM = AES_256 
    ENCRYPTION BY SERVER CERTIFICATE ##MS_TdeCertificate##;
    
    -- Enable encryption
    ALTER DATABASE [AdventureWorks] SET ENCRYPTION ON;
    GO
    
  3. Um den Fortschritt der Verschlüsselung auf SQL-Datenbank zu überwachen, können Datenbankbenutzer mit der Berechtigung VIEW DATABASE STATE die encryption_state Spalte der sys.dm_database_encryption_keys Ansicht abfragen.

Aktivieren von TDE für SQL-Datenbank mithilfe von PowerShell

Mithilfe von Azure PowerShell können Sie den folgenden Befehl ausführen, um TDE ein- oder auszuschalten. Sie müssen eine Verbindung Ihres Kontos mit dem PS-Fenster herstellen, bevor Sie den Befehl ausführen. In den folgenden Schritten wird angenommen, dass Sie sich bereits für die Vorschau registriert haben. Weitere Informationen zu PowerShell finden Sie unter Installieren und Konfigurieren von Azure PowerShell.

  1. Um TDE zu aktivieren, geben Sie den TDE-Status zurück, und zeigen Sie die Veschlüsselungsaktivität an.

    Switch-AzureMode -Name AzureResourceManager
    Set-AzureSqlDatabaseTransparentDataEncryption -ServerName "myserver" -ResourceGroupName "Default-SQL-WestUS" -DatabaseName "database1" -State "Enabled"
    
    Get-AzureSqlDatabaseTransparentDataEncryption -ServerName "myserver" -ResourceGroupName "Default-SQL-WestUS" -DatabaseName "database1"
    Get-AzureSqlDatabaseTransparentDataEncryptionActivity -ServerName "myserver" -ResourceGroupName "Default-SQL-WestUS" -DatabaseName "database1"
    
  2. So deaktivieren Sie TDE:

    Set-AzureSqlDatabaseTransparentDataEncryption -ServerName "myserver" -ResourceGroupName "Default-SQL-WestUS" -DatabaseName "database1" -State "Disabled"
    Switch-AzureMode -Name AzureServiceManagement
    

Entschlüsseln einer durch TDE geschützten Datenbank in SQL-Datenbank

So deaktivieren Sie TDE mithilfe des Azure-Portals

  1. Besuchen Sie das Azure-Portal unter, https://portal.azure.com und melden Sie sich mit Ihrem Azure-Administrator- oder Mitwirkendenkonto an.

  2. Klicken Sie auf dem linken Banner auf DURCHSUCHEN, und klicken Sie dann auf SQL-Datenbanken.

  3. Klicken Sie auf Ihre Benutzerdatenbank, während im linken Bereich SQL-Datenbanken ausgewählt ist.

  4. Klicken Sie auf dem Datenbankblatt auf Alle Einstellungen.

  5. Klicken Sie auf dem Blatt Einstellungen auf das Part Transparente Datenverschlüsselung (Vorschau) , um das Blatt Transparente Datenverschlüsselung VORSCHAU zu öffnen.

  6. Schieben Sie auf dem Blatt Transparente Datenverschlüsselung VORSCHAU den Schalter Datenverschlüsselung auf Aus, und klicken Sie dann auf Speichern (oben auf der Seite), um die Einstellung zu übernehmen. Der Verschlüsselungsstatus zeigt annähernd den Status der transparenten Datenentschlüsselung an.

    Sie können den Fortschritt der Entschlüsselung auch überwachen, indem Sie eine Verbindung mit SQL-Datenbank herstellen, indem Sie ein Abfragetool wie Management Studio als Datenbankbenutzer mit der BERECHTIGUNG VIEW DATABASE STATE verwenden. Fragen Sie die encryption_state Spalte der sys.dm_database_encryption_keysAnsicht ab.

So deaktivieren Sie TDE mithilfe von Transact-SQL

  1. Stellen Sie eine Verbindung mit der Datenbank mithilfe eines Kontos her, das ein Administratorkonto oder ein Mitglied der Rolle dbmanager in der Masterdatenbank ist.

  2. Führen Sie die folgenden Anweisungen aus, um die Datenbank zu entschlüsseln.

    -- Enable encryption
    ALTER DATABASE [AdventureWorks] SET ENCRYPTION OFF;
    GO
    
  3. Um den Fortschritt der Verschlüsselung auf SQL-Datenbank zu überwachen, können Datenbankbenutzer mit der Berechtigung VIEW DATABASE STATE die encryption_state Spalte der sys.dm_database_encryption_keys Ansicht abfragen.

Arbeiten mit durch TDE geschützten Datenbanken auf SQL-Datenbank

Für Vorgänge in Azure brauchen Datenbanken nicht entschlüsselt zu werden. Die TDE-Einstellungen für die Quelldatenbank oder die primäre Datenbank werden transparent an das Ziel vererbt. Dazu gehören auch Vorgänge, die dieses beinhalten:

  • Geowiederherstellung

  • Self-Service-Point-In-Time-Wiederherstellung

  • Wiederherstellung einer gelöschten Datenbank

  • Aktive Georeplikation

  • Erstellen einer Datenbankkopie

Verschieben von durch TDE geschützten Datenbanken mithilfe von BACPAC-Dateien

Beim Exportieren einer TDE-geschützten Datenbank mithilfe der Funktion Datenbank exportieren im Azure SQL Datenbankportal oder dem SQL Server Import-/Export-Assistenten wird der Inhalt der Datenbank nicht verschlüsselt. Die Inhalte werden in BACPAC-Dateien gespeichert, die nicht verschlüsselt sind. Achten Sie darauf, die BACPAC-Dateien in geeigneter Weise zu schützen und TDE zu aktivieren, sobald der Import der neuen Datenbank abgeschlossen ist.

Aktivieren von TDE mit EKM

Weitere Informationen

Transparente Datenverschlüsselung (TDE)CREATE CREDENTIAL (Transact-SQL)CREATE ASYMMETRIC KEY (Transact-SQL)CREATE DATABASE ENCRYPTION KEY (Transact-SQL)ALTER DATABASE (Transact-SQL)ALTER DATABASE SET Options (Transact-SQL)