Schützen Ihrer Daten

Abgeschlossen

Nachdem Netzwerk- und Identitätszugriff konfiguriert und sicher sind, müssen Sie als nächstes darüber nachdenken, wie Sie Ihre Daten schützen und ob diese ruhen, übertragen werden oder von Benutzern und Administratoren angezeigt werden.

Datenverschlüsselung

Verschlüsselte Verbindungen werden von Azure SQL-Datenbank erzwungen, mit der Option, zusätzlich die TLS-Mindestversion (Transport Layer Security) (>1.0, >1.1 oder >1.2) für eingehende Daten anzugeben. Es wird empfohlen, die Verschlüsselung auf dem Client zu erzwingen, um eine Serveraushandlung zu vermeiden, und dem Serverzertifikat nicht als bewährte Methode zu vertrauen.

Transparent Data Encryption

Transparent Data Encryption (TDE) bietet Verschlüsselung für ruhende Daten und ist standardmäßig für alle neuen Datenbanken in Azure SQL-Datenbank aktiviert. Sie können TDE für alle Bereitstellungsoptionen über einen Parameter im Azure-Portal konfigurieren, wie hier gezeigt:

Screenshot of confirming TDE is on in the Azure portal.

Auf Serverebene können Sie auch einen dienstseitig verwalteten Schlüssel oder BYOK (Bring Your Own Key) mithilfe der Option Kundenseitig verwalteter Schlüssel verwenden. Die Standardeinstellung ist die Verwaltung des Schlüssels durch den Azure-Dienst. Azure generiert automatisch einen Schlüssel zum Verschlüsseln Ihrer Datenbanken und verwaltet die Schlüsselrotationen. Sie haben hier erfahren, wie Sie dies im Azure-Portal durchführen, aber Sie können auch Azure PowerShell, die Azure CLI, Transact-SQL (T-SQL) oder REST-APIs verwenden.

Screenshot of the TDE options server view.

Kundenseitig verwaltete Schlüssel mit TDE

Sie können alternativ BYOK verwenden und die Vorteile eines Azure-Schlüsseltresors nutzen. Es folgen die Vorteile der Verwendung kundenseitig verwalteter Schlüssel:

  • Vollständige und präzise Kontrolle über Nutzung und Verwaltung der TDE-Schutzvorrichtung
  • Transparenz der Nutzung der TDE-Schutzvorrichtung
  • Möglichkeit der Trennung von Aufgaben bei der Verwaltung von Schlüsseln und Daten innerhalb der Organisation
  • Der Schlüsseltresoradministrator kann Schlüsselzugriffsberechtigungen widerrufen, um den Zugriff auf die verschlüsselte Datenbank zu verhindern
  • Zentrale Verwaltung von Schlüsseln in Azure Key Vault
  • Mehr Vertrauen der Endkunden, da Azure Key Vault so entworfen wurde, dass Microsoft die Verschlüsselungsschlüssel weder einsehen noch extrahieren kann

Sie können auch die Verwendung einer benutzerseitig zugewiesenen verwalteten Identität mit kundenseitig verwalteten Schlüsseln für TDE nutzen:

  • Ermöglicht die Vorautorisierung des Zugriffs auf den Schlüsseltresor für logische Azure SQL-Server durch Erstellen einer benutzerseitig zugewiesenen verwalteten Identität und Zuweisung des Zugriffs auf den Schlüsseltresor, noch bevor der Server oder die Datenbank erstellt wurde
  • Ermöglicht die Erstellung eines logischen Azure SQL-Servers mit aktiviertem TDE und CMK
  • Ermöglicht es, dieselbe benutzerseitig zugewiesene verwaltete Identität mehreren Servern zu übertragen, sodass es nicht erforderlich ist, die systemseitig zugewiesene verwaltete Identität für jeden logischen Azure SQL-Server einzeln zu aktivieren und den Zugriff auf den Schlüsseltresor zu ermöglichen
  • Bietet die Möglichkeit, CMK zur Servererstellungszeit mit einer verfügbaren integrierten Azure-Richtlinie zu erzwingen

Die automatische Schlüsselrotation wurde für kundenseitig verwaltete Schlüssel unter Verwendung von TDE eingeführt. Wenn diese Option aktiviert ist, überprüft der Server kontinuierlich den Schlüsseltresor auf neue Versionen des Schlüssels, der als TDE-Schutz verwendet wird. Wenn eine neue Version des Schlüssels erkannt wird, wird die TDE-Schutzkomponente auf dem Server innerhalb von 60 Minuten automatisch in die neueste Schlüsselversion rotiert.

Always Encrypted

Sie können auch die Vorteile der Verschlüsselung auf Spaltenebene nutzen, die in Azure SQL genauso wie in SQL Server unterstützt wird. Dieser Prozess umfasst die clientseitige Verschlüsselung vertraulicher Daten mithilfe von Schlüsseln, die niemals dem Datenbanksystem zugewiesen werden. Außerdem verschlüsselt der Clienttreiber die Abfrageparameter transparent und entschlüsselt die verschlüsselten Ergebnisse. Derzeit werden verschlüsselte Daten für den Gleichheitsvergleich unterstützt, einschließlich der Operatoren JOIN, GROUP BY und DISTINCT durch die deterministische Verschlüsselung.

Always Encrypted mit Secure Enclaves erweitert die Confidential Computing-Funktionen von Always Encrypted, indem die direkte Verschlüsselung und umfangreichere vertrauliche Abfragen ermöglicht werden. Das Always Encrypted-Feature mit Secure Enclaves ist jetzt für Azure SQL-Datenbank verfügbar, wird aber noch nicht für Azure SQL Managed Instance unterstützt.

Dynamische Datenmaskierung

Gelegentlich möchten Sie bestimmte Daten maskieren oder ändern, sodass nicht berechtigte Benutzer sie nicht anzeigen können, aber sie können trotzdem Abfragen durchführen, die diese Daten enthalten. Diese Funktion wird genau wie in SQL Server unterstützt. Im Azure-Portal gibt es jedoch zusätzliche Funktionen und Ansichten, mit denen Sie Empfehlungen von Feldern zum maskieren anzeigen können.

Screenshot of Dynamic Data Masking recommendations in the Azure portal.

Sehen wir uns ein Beispiel an, bei dem die Daten vertrauliche Informationen wie Namen und E-Mail-Adressen enthalten. Sie können eine Maske auf diese Spalten im Azure-Portal anwenden, indem Sie das Menü Dynamische Datenmaskierung unter Sicherheit im Konfigurationsbereich Ihrer SQL-Datenbank-Instanz auswählen oder die folgenden T-SQL-Befehle verwenden:

ALTER TABLE Data.Membership ALTER COLUMN FirstName
ADD MASKED WITH (FUNCTION = 'partial(1, "xxxxx", 1)')

ALTER TABLE Data.Membership ALTER COLUMN Email
ADD MASKED WITH (FUNCTION = 'email()')

ALTER TABLE Data.Membership ALTER COLUMN DiscountCode 
ADD MASKED WITH (FUNCTION = 'random(1, 100)')
 
GRANT UNMASK to DataOfficers

Aus den vorhergehenden Befehlen können Sie ersehen, dass es mehrere Möglichkeiten gibt, eine Maske über Funktionen anzuwenden.

Einige Benutzer können möglicherweise die maskierten Daten anzeigen, wenn ihnen z. B. eine Rolle wie DataOfficers (dies ist ein Beispiel, keine offizielle Rolle) zugewiesen ist. Sie können ihnen mit dem folgenden T-SQL-Befehl UNMASK-Berechtigungen erteilen:

GRANT UNMASK TO DataOfficers

Abhängig davon, wer die Abfrage stellt, lauten die Ergebnisse wie hier gezeigt:

Screenshot of an example of users with unmask access.

Mit der Einführung präziser Berechtigungen für die dynamische Datenmaskierung können Sie einem Datenbankbenutzer, einer Microsoft Entra-Identität, einer Microsoft Entra-Gruppe oder einer Datenbankrolle die UNMASK-Berechtigung auf Datenbank-, Schema-, Tabellen- oder Spaltenebene erteilen oder entziehen.

Aufgaben für den Schutz von Daten

Zum Einrichten und Konfigurieren des Schutzes von Daten sollten Sie folgende Schritte ausführen:

  • Stellen Sie sicher, dass Ihre Anwendungen die Verbindungsverschlüsselung erzwingen, und verwenden Sie die höchste TLS-Version, die mit Ihren Anwendungen, Clients und Treibern kompatibel ist.
  • Auswerten und Aktivieren von TDE Dies ist die Standardeinstellung für neue Datenbanken, aber bei der Migration müssen Sie sie möglicherweise aktivieren.
  • Nutzen der dynamischen Datenmaskierung
  • Für erweiterten Schutz können Sie das Feature Always Encrypted mit Secure Enclaves konfigurieren.

Wissensbeurteilung

1.

Wie können Sie die Benutzer verwalten, die Zugriff auf die Ansicht maskierter Daten haben?

2.

Welche Operatoren werden derzeit in Azure SQL unterstützt, wenn Sie Übereinstimmungsvergleiche für verschlüsselte Daten mit Always Encrypted durchführen?