Übersicht über die Sicherheitsfunktionen von Azure SQL-Datenbank und SQL Managed Instance

Gilt für: Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics

In diesem Artikel werden die Grundlagen zum Schutz der Datenschicht einer Anwendung mit Azure SQL-Datenbank, Azure SQL Managed Instance und Azure Synapse Analytics beschrieben. Die beschriebene Sicherheitsstrategie folgt dem Defense-in-Depth-Schichtenmodell, das in der folgenden Abbildung dargestellt ist und von außen nach innen durchlaufen wird:

Diagramm des Defense-in-Depth-Schichtenmodells. Kundendaten werden in Schichten von Netzwerksicherheit, Zugriffsverwaltung sowie Bedrohungs- und Informationsschutz umschlossen.

Netzwerksicherheit

Microsoft Azure SQL-Datenbank, SQL Managed Instance und Azure Synapse Analytics bieten einen Dienst für relationale Datenbanken für Cloud- und Unternehmensanwendungen. Zum Schutz von Kundendaten verhindern Firewalls den Netzwerkzugriff auf den Server, bis der Zugriff explizit basierend auf der IP-Adresse oder dem Ursprung des Datenverkehrs im virtuellen Azure-Netzwerk gewährt wird.

IP-Firewallregeln

IP-Firewallregeln gewähren den Datenbankzugriff auf der Grundlage der Ursprungs-IP-Adresse der jeweiligen Anforderung. Weitere Informationen finden Sie unter Übersicht über Firewallregeln für Azure SQL-Datenbank und Azure Synapse Analytics.

Firewallregeln für virtuelle Netzwerke

VNET-Dienstendpunkte erweitern Ihre VNET-Konnektivität über den Azure-Backbone hinaus und ermöglichen Azure SQL-Datenbank, das Subnetz des virtuellen Netzwerks zu identifizieren, aus dem der Datenverkehr stammt. Wenn Sie Datenverkehr an Azure SQL-Datenbank zulassen möchten, verwenden Sie die SQL-Diensttags, um ausgehenden Datenverkehr über Netzwerksicherheitsgruppen zu ermöglichen.

Mithilfe von VNET-Regeln kann Azure SQL-Datenbank nur Verbindungen akzeptieren, die von ausgewählten Subnetzen innerhalb eines virtuellen Netzwerks stammen.

Hinweis

Die Zugriffssteuerung mit Firewallregeln gilt nicht für SQL Managed Instance. Weitere Informationen zur erforderlichen Netzwerkkonfiguration finden Sie unter Herstellen einer Verbindung mit einer verwalteten Instanz.

Zugriffsverwaltung

Wichtig

Die Verwaltung von Datenbanken und Servern in Azure wird über die Rollenzuweisungen in Ihrem Portalbenutzerkonto gesteuert. Weitere Informationen zu diesem Artikel finden Sie unter Rollenbasierte Zugriffssteuerung in Azure im Azure-Portal.

Authentifizierung

Die Authentifizierung ist der Prozess, bei dem bestätigt wird, dass der Benutzer derjenige ist, der er zu sein vorgibt. Azure SQL-Datenbank und Azure SQL Managed Instance unterstützen sowohl die SQL-Authentifizierung als auch die Azure AD-Authentifizierung. SQL Managed Instance unterstützt darüber hinaus die Windows-Authentifizierung für Azure AD-Prinzipale.

  • SQL-Authentifizierung:

    Der Begriff SQL-Authentifizierung bezieht sich auf die Authentifizierung eines Benutzers beim Herstellen einer Verbindung mit Azure SQL-Datenbank oder Azure SQL Managed Instance mithilfe von Benutzername und Kennwort. Beim Erstellen des Servers müssen Anmeldeinformationen für einen Serveradministrator mit einem Benutzernamen und einem Kennwort angegeben werden. Mit diesen Anmeldeinformationen kann sich ein Serveradministrator bei jeder Datenbank auf diesem Server oder dieser Instanz als Datenbankbesitzer authentifizieren. Danach können zusätzliche SQL-Anmeldungen und -Benutzer durch den Serveradministrator erstellt werden, sodass Benutzer eine Verbindung mithilfe von Benutzername und Kennwort herstellen können.

  • Azure Active Directory-Authentifizierung:

    Die Azure Active Directory-Authentifizierung ist ein Mechanismus zum Herstellen einer Verbindung mit Azure SQL-Datenbank, Azure SQL Managed Instance und Azure Synapse Analytics unter Verwendung von Identitäten in Azure Active Directory (Azure AD). Die Azure AD-Authentifizierung ermöglicht Administratoren die zentrale Verwaltung der Identitäten und Berechtigungen von Datenbankbenutzern und anderen Azure-Diensten. Dies umfasst auch die Minimierung der Kennwortspeicherung und ermöglicht Richtlinien zur zentralisierten Kennwortrotation.

    Sie müssen einen Serveradministrator (der als Active Directory-Administrator bezeichnet wird) erstellen, um die Azure AD-Authentifizierung mit SQL-Datenbank verwenden zu können. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit SQL-Datenbank unter Verwendung der Azure Active Directory-Authentifizierung. Die Azure AD-Authentifizierung unterstützt sowohl verwaltete als auch Verbundkonten. Verbundkonten unterstützen Windows-Benutzer und -Gruppen für eine benutzerdefinierte Domäne im Verbund mit Azure AD.

    Zu den weiteren verfügbaren Optionen der Azure AD-Authentifizierung gehören Verbindungen mit der universellen Active Directory-Authentifizierung für SQL Server Management Studio, einschließlich Multi-Faktor Authentifizierung und bedingtem Zugriff.

  • Windows-Authentifizierung für Azure AD-Prinzipale (Vorschau):

    Kerberos-Authentifizierung für Azure AD-Prinzipale (Vorschau) aktiviert die Windows-Authentifizierung für Azure SQL Managed Instance. Die Windows-Authentifizierung für verwaltete Instanzen versetzt Kunden in die Lage, vorhandene Dienste in die Cloud zu verlagern und dabei eine nahtlose Benutzererfahrung beizubehalten, und bietet die Grundlage für die Modernisierung der Infrastruktur.

    Um die Windows-Authentifizierung für Azure Active Directory-Prinzipale (Azure AD) zu aktivieren, müssen Sie Ihren Azure AD-Mandanten in einen unabhängigen Kerberos-Bereich umwandeln und eine eingehende Vertrauensstellung in der Kundendomäne erstellen. Erfahren Sie mehr über das Implementieren der Windows-Authentifizierung für Azure SQL Managed Instance mit Azure Active Directory und Kerberos.

Wichtig

Die Verwaltung von Datenbanken und Servern in Azure wird über die Rollenzuweisungen in Ihrem Portalbenutzerkonto gesteuert. Weitere Informationen zu diesem Artikel finden Sie unter Rollenbasierte Zugriffssteuerung in Azure im Azure-Portal. Die Zugriffssteuerung mit Firewallregeln gilt nicht für SQL Managed Instance. Weitere Informationen zur erforderlichen Netzwerkkonfiguration finden Sie im Artikel zum Herstellen einer Verbindung mit einer verwalteten Instanz.

Authorization

Die Autorisierung bezieht sich auf die Steuerung des Zugriffs auf Ressourcen und Befehle innerhalb einer Datenbank. Dies erfolgt durch Zuweisen von Berechtigungen zu einem Benutzer innerhalb einer Datenbank in einer Azure SQL-Datenbank oder einer Azure SQL Managed Instance. Berechtigungen werden idealerweise verwaltet, indem Benutzerkonten zu Datenbankrollen hinzugefügt und diesen Rollen Berechtigungen auf Datenbankebene zugewiesen werden. Alternativ können einem einzelnen Benutzer auch bestimmte Berechtigungen auf Objektebene erteilt werden. Weitere Informationen finden Sie unter Anmeldungen und Benutzer.

Es hat sich bewährt, benutzerdefinierte Rollen bei Bedarf zu erstellen. Fügen Sie Benutzer dann derjenigen Rolle hinzu, die die geringsten Berechtigungen besitzt, um die erforderliche Aufgabe noch erfüllen zu können. Weisen Sie Benutzern Berechtigungen nicht direkt zu. Das Serveradministratorkonto gehört zur integrierten Rolle „db_owner“, die über umfassende Berechtigungen verfügt und nur wenigen Benutzern mit administrativen Aufgaben erteilt werden sollte. Um den Umfang der Möglichkeiten eines Benutzers weiter einzuschränken, kann AUSFÜHREN ALS verwendet werden, um den Ausführungskontext des aufgerufenen Moduls anzugeben. Das Befolgen dieser bewährten Methoden ist auch ein grundlegender Schritt in Richtung Aufgabentrennung.

Sicherheit auf Zeilenebene

Mithilfe der Sicherheit auf Zeilenebene können Kunden den Zugriff auf die Zeilen in einer Datenbanktabelle auf Grundlage der Merkmale des Benutzers steuern, der eine Abfrage ausführt (z.B. Gruppenmitgliedschaft oder Ausführungskontext). Sicherheit auf Zeilenebene kann auch verwendet werden, um benutzerdefinierte bezeichnungsbasierte Sicherheitskonzepte zu implementieren. Weitere Informationen finden Sie unter Sicherheit auf Zeilenebene.

Das Diagramm zeigt, dass die Sicherheit auf Zeilenebene einzelne Zeilen einer SQL-Datenbank vor dem Zugriff durch Benutzer über eine Client-App schützt.

Bedrohungsschutz

Zum Schutz der Kundendaten stellen SQL-Datenbank und SQL Managed Instance Funktionen für die Überwachung und Bedrohungserkennung bereit.

SQL-Überwachung in Azure Monitor-Protokollen und Event Hubs

Bei der Überwachung von SQL-Datenbank und SQL Managed Instance werden Datenbankaktivitäten nachverfolgt, und Sie erhalten Unterstützung bei der Einhaltung von Sicherheitsstandards, indem Datenbankereignisse in einem Überwachungsprotokoll in einem Azure Storage-Konto des Kunden aufgezeichnet werden. Dank der Überwachung können Benutzer die fortlaufenden Datenbankaktivitäten überwachen und die Verlaufsaktivität analysieren und untersuchen, um potenzielle Bedrohungen oder vermutete Missbrauchsfälle und Sicherheitsverletzungen zu identifizieren. Weitere Informationen finden Sie in den ersten Schritten unter Überwachung von SQL-Datenbank.

Erweiterter Schutz vor Bedrohungen

Advanced Threat Protection analysiert Ihre Protokolle auf ungewöhnliches Verhalten und potenziell schädliche Zugriffs- oder Offenlegungsversuche bei Datenbanken. Warnungen werden für verdächtige Aktivitäten wie SQL-Injektion, potenzielle Dateninfiltration und Brute-Force-Angriffe oder für Anomalien in den Zugriffsmustern erstellt, um Berechtigungserweiterungen und die Verwendung gefährdeter Anmeldeinformationen zu erfassen. Sie können die Warnungen in Microsoft Defender für Cloud anzeigen. Dort finden Sie Details zu verdächtigen Aktivitäten und Empfehlungen für weitere Untersuchungen sowie zu Aktionen, mit denen das Risiko minimiert werden kann. Advanced Threat Protection kann pro Server für eine zusätzliche Gebühr aktiviert werden. Weitere Informationen finden Sie unter Erste Schritte mit Advanced Threat Protection von SQL-Datenbank.

Das Diagramm zeigt, dass die SQL-Bedrohungserkennung den Zugriff auf die SQL-Datenbank für eine Web-App von einem externen Angreifer und böswilligen Insider überwacht.

Informationsschutz und -verschlüsselung

Transport Layer Security (Verschlüsselung bei der Übertragung)

SQL-Datenbank, SQL Managed Instance und Azure Synapse Analytics schützen Kundendaten durch das Verschlüsseln von Daten bei der Übertragung mit Transport Layer Security (TLS).

SQL-Datenbank, SQL Managed Instance und Azure Synapse Analytics erzwingen die Verschlüsselung (SSL/TLS) jederzeit und für alle Verbindungen. Dadurch wird sichergestellt, dass alle Daten „im Übergang“ zwischen Client und Server verschlüsselt werden, und zwar unabhängig von der Einstellung von Encrypt oder TrustServerCertificate in der Verbindungszeichenfolge.

Als bewährte Methode wird empfohlen, in der von der Anwendung verwendeten Verbindungszeichenfolge eine verschlüsselte Verbindung anzugeben und dem Serverzertifikat nicht zu vertrauen. Dies erzwingt, dass Ihre Anwendung das Serverzertifikat überprüft, und verhindert somit, dass Ihre Anwendung für Angriffe vom Typ „Man-in-the-Middle“ anfällig ist.

Bei Verwendung des ADO.NET-Treibers erfolgt dies z. B. über Encrypt=True und TrustServerCertificate=False. Wenn Sie Ihre Verbindungszeichenfolge über das Azure-Portal abrufen, verfügt sie bereits über die richtigen Einstellungen.

Wichtig

Beachten Sie, dass einige Nicht-Microsoft-Treiber möglicherweise TLS nicht standardmäßig verwenden oder eine ältere Version von TLS (kleiner 1.2) benötigen, damit sie funktionieren. In diesem Fall erlaubt der Server weiterhin das Herstellen einer Verbindung mit der Datenbank. Wir empfehlen Ihnen jedoch, die Sicherheitsrisiken auszuwerten, die damit verbunden sind, wenn Sie solchen Treibern und Anwendungen eine Verbindung mit der SQL-Datenbank ermöglichen, insbesondere wenn Sie vertrauliche Daten speichern.

Weitere Informationen zu TLS und zur Konnektivität finden Sie unter Überlegungen zu TLS.

Transparent Data Encryption (Verschlüsselung im Ruhezustand)

Transparent Data Encryption (TDE) für SQL-Datenbank, SQL Managed Instance und Azure Synapse Analytics fügt eine zusätzliche Sicherheitsebene zum Schutz ruhender Daten vor nicht autorisiertem oder Offlinezugriff auf Rohdatendateien oder Sicherungen hinzu. Entsprechende Szenarien umfassen häufig den Diebstahl im Rechenzentrum oder die unsichere Entsorgung von Hardware oder Medien, wie z. B. Festplatten und Sicherungsbändern.  TDE verschlüsselt die gesamte Datenbank mit einem AES-Verschlüsselungsalgorithmus. Dies erfordert von den Anwendungsentwicklern keine Änderungen an vorhandenen Anwendungen.

In Azure werden standardmäßig alle neu erstellten Datenbanken verschlüsselt, und der Datenbankverschlüsselungsschlüssel wird mit einem integrierten Serverzertifikat geschützt. Zertifikatwartung und -rotation werden vom Dienst verwaltet und erfordern keine Eingaben des Benutzers. Kunden, die volle Kontrolle über die Verschlüsselungsschlüssel benötigen, können die Schlüssel in Azure Key Vault verwalten.

Schlüsselverwaltung mit Azure Key Vault

BYOK-Unterstützung (Bring Your Own Key) fürTransparent Data Encryption (TDE) ermöglicht Kunden, die Schlüsselverwaltung und -rotation mit Azure Key Vault, dem externen, cloudbasierten Schlüsselverwaltungssystem von Azure, selbst zu übernehmen. Wenn der Zugriff der Datenbank auf den Schlüsseltresor widerrufen wird, kann eine Datenbank nicht entschlüsselt und in den Speicher gelesen lesen. Azure Key Vault bietet eine zentrale Plattform für die Schlüsselverwaltung, verwendet streng überwachte Hardwaresicherheitsmodule (HSMs) und ermöglicht die Aufgabentrennung zwischen dem Verwalten von Schlüsseln und Daten, um Sicherheitsbestimmungen zu erfüllen.

Always Encrypted (Verschlüsselung während der Verwendung)

Das Diagramm zeigt die Grundlagen des Always Encrypted Features. Auf eine SQL-Datenbank mit einer Sperre wird nur von einer App zugegriffen, die einen Schlüssel enthält.

Always Encrypted ist eine Funktion zum Schutz vor dem Zugriff auf vertrauliche Daten (z.B. Kreditkartennummern, nationale Identifikationsnummern oder Daten, die nur bei Bedarf bekannt sein sollten), die in bestimmten Datenbankspalten gespeichert sind. Dies schließt Datenbankadministratoren und anderen privilegierte Benutzer ein, die autorisiert sind, für Verwaltungsaufgaben auf die Datenbank zuzugreifen, jedoch keinen Zugriff auf die entsprechenden Daten in den verschlüsselten Spalten benötigen. Die Daten werden immer verschlüsselt. Das bedeutet, dass die verschlüsselten Daten nur für die Verarbeitung durch Clientanwendungen mit Zugriff auf den Verschlüsselungsschlüssel entschlüsselt werden. Der Verschlüsselungsschlüssel wird nie gegenüber SQL-Datenbank oder SQL Managed Instance offengelegt und kann im Windows-Zertifikatspeicher oder in Azure Key Vault gespeichert werden.

Dynamische Datenmaskierung

Das Diagramm veranschaulicht die dynamische Datenmaskierung. Eine Geschäftsanwendung sendet Daten an eine SQL-Datenbank, die die Daten vor dem Zurücksenden an die Anwendung maskiert.

Die dynamische Datenmaskierung beschränkt die Offenlegung vertraulicher Daten, indem sie für nicht berechtigte Benutzer maskiert werden. Mit der dynamischen Datenmaskierung werden in Azure SQL-Datenbank und SQL Managed Instance automatisch potenziell vertrauliche Daten ermittelt und direkt umsetzbare Empfehlungen bereitgestellt, um diese Felder mit minimalen Auswirkungen auf die Anwendungsschicht zu maskieren. Hierzu werden die sensiblen Daten im Resultset einer Abfrage in festgelegten Datenbankfeldern verborgen, ohne dass die Daten in der Datenbank geändert werden. Weitere Informationen finden Sie unter Erste Schritte mit der dynamischen Datenmaskierung für SQL-Datenbank und SQL Managed Instance.

Sicherheitsverwaltung

Sicherheitsrisikobewertung

Die Sicherheitsrisikobewertung ist ein einfach zu konfigurierender Dienst, mit dem potenzielle Schwachstellen in der Datenbank ermittelt, nachverfolgt und behoben werden können. Damit soll die allgemeine Datenbanksicherheit proaktiv verbessert werden. Die Schwachstellenbewertung (VA) ist Teil des Microsoft Defender für SQL-Angebots, einem einheitlichen Paket für erweiterte SQL-Sicherheitsfunktionen. Der Zugriff auf die Sicherheitsrisikobewertung und ihre Verwaltung sind über das Microsoft Defender für SQL-Portal möglich.

Datenermittlung und -klassifizierung

Datenerkennung und -klassifizierung (derzeit in der Vorschau) bietet grundlegende Funktionen, die in Azure SQL Database und SQL Managed Instance integriert sind, um sensible Daten in Ihren Datenbanken zu erkennen, zu klassifizieren und zu kennzeichnen. Das Ermitteln und Klassifizieren Ihrer vertraulichen Daten (Geschäfts-/Finanz-/Gesundheits-, personenbezogene Daten usw.) kann eine entscheidende Rolle in der Strategie Ihrer Organisation zum Datenschutz spielen. Sie kann für Folgendes als Infrastruktur gelten:

  • Verschiedene Sicherheitsszenarien, z.B. Überwachung und Warnungen bei abweichendem Zugriff auf sensible Daten
  • Steuern des Zugriffs auf und Härten der Sicherheit von Datenbanken, die sensible Daten enthalten
  • Unterstützen der Einhaltung von Datenschutzstandards und gesetzlicher Bestimmungen

Weitere Informationen finden Sie unter Erste Schritte mit der Datenermittlung und -klassifizierung.

Compliance

Zusätzlich zu den oben aufgeführten Features und Funktionen, mit denen Ihre Anwendung eine Reihe von Sicherheitsanforderungen erfüllen kann, wird Azure SQL-Datenbank außerdem regelmäßigen Überprüfungen unterzogen und ist für eine Reihe von Compliancestandards zertifiziert. Weitere Informationen finden Sie im Microsoft Azure Trust Center, wo die aktuellste Liste von Compliance-Zertifizierungen für SQL-Datenbank angezeigt wird.

Nächste Schritte