Freigeben über


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

Gilt für:Azure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse Analytics

In diesem Artikel werden die Grundlagen der Sicherung der Datenebene einer Anwendung beschrieben, die Azure SQL-Datenbank, azure SQL Managed Instance und Azure Synapse Analytics verwendet. Die in diesem Artikel beschriebene Sicherheitsstrategie folgt dem mehrschichtigen Verteidigungs-in-der-Tiefe-Ansatz, wie im unten stehenden Diagramm dargestellt, und bewegt sich von außen nach innen.

Diagramm der mehrschichtigen Verteidigungstiefe. Kundendaten werden in Ebenen von Netzwerksicherheit, Zugriffsverwaltung und Bedrohungs- und Informationsschutzebenen eingeschlossen.

Netzwerksicherheit

Azure SQL-Datenbank, Azure SQL Managed Instance und Azure Synapse Analytics bieten einen relationalen Datenbankdienst für Cloud- und Unternehmensanwendungen. Um Kundendaten zu schützen, verhindern Firewalls den Netzwerkzugriff auf den Server, bis Sie basierend auf der IP-Adresse oder dem Ursprung des virtuellen Azure-Netzwerkdatenverkehrs explizit Zugriff gewähren.

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.
  • Das Steuern des Zugriffs mit Firewallregeln gilt nicht für die verwaltete SQL-Instanz. Weitere Informationen zur erforderlichen Netzwerkkonfiguration finden Sie unter Herstellen einer Verbindung mit einer verwalteten Instanz.

Hinweis

Das Steuern des Zugriffs mit Firewallregeln gilt nicht für die verwaltete SQL-Instanz. Weitere Informationen zur erforderlichen Netzwerkkonfiguration finden Sie unter Herstellen einer Verbindung mit einer verwalteten Instanz.

Netzwerksicherheitsperimeter

Ein Azure-Netzwerksicherheitsperimeter erstellt logische Netzwerkgrenzen um Ihre PaaS-Ressourcen (Platform-as-a-Service), die Sie außerhalb Ihrer virtuellen Netzwerke bereitstellen.

  • Ein Azure-Netzwerksicherheitsperimeter hilft Ihnen beim Steuern des öffentlichen Netzwerkzugriffs auf azure SQL-Datenbank.
  • Das Steuern des Zugriffs mit einem Azure-Netzwerksicherheitsperimeter gilt nicht für azure SQL Managed Instance.

Wichtig

Azure SQL-Datenbank mit Netzwerksicherheitsperimeter befindet sich derzeit in der Vorschauversion. Die Vorabversionen werden ohne Service-Level-Vereinbarung bereitgestellt und sind nicht für Produktionsumgebungen empfohlen. Manche Features werden möglicherweise nicht unterstützt oder sind nur eingeschränkt verwendbar. Weitere Informationen finden Sie unter Zusätzliche Nutzungsbestimmungen für Microsoft Azure-Vorschauen.

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 SQL Managed Instance unterstützen die Authentifizierung mit Microsoft Entra ID (früher Azure Active Directory) und SQL-Authentifizierung. SQL Managed Instance unterstützt darüber hinaus die Windows-Authentifizierung für Microsoft Entra-Prinzipale.

  • Microsoft Entra-Authentifizierung:

    Die Microsoft Entra-Authentifizierung ist ein Mechanismus zum Herstellen einer Verbindung mit Azure SQL-Datenbank, azure SQL Managed Instance und Azure Synapse Analytics mithilfe von Identitäten in Microsoft Entra ID. Die Microsoft Entra-Authentifizierung ermöglicht Administratoren die zentrale Verwaltung der Identitäten und Berechtigungen von Datenbankbenutzern und anderen Azure-Diensten. Dieses Feature kann dazu beitragen, die Verwendung von Geheimschlüsseln und Kennwörtern zu beseitigen.

    Um die Microsoft Entra-Authentifizierung mit SQL-Datenbank zu verwenden, erstellen Sie einen Serveradministrator namens Microsoft Entra-Administrator. Weitere Informationen finden Sie unter Herstellen einer Verbindung zur SQL-Datenbank mit Microsoft Entra-Authentifizierung. Die Microsoft Entra-Authentifizierung unterstützt sowohl verwaltete als auch Verbundkonten. Verbundkonten unterstützen Windows-Benutzer und -Gruppen für eine benutzerdefinierte Domäne im Verbund mit Microsoft Entra ID.

    Microsoft Entra unterstützt mehrere verschiedene Authentifizierungsoptionen, einschließlich Multi-Faktor-Authentifizierung, integrierte Windows-Authentifizierung und bedingten Zugriff.

  • Windows-Authentifizierung für Microsoft Entra-Prinzipale:

    Kerberos-Authentifizierung für Microsoft Entra-Prinzipale 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 Microsoft Entra-Prinzipale zu aktivieren, wandeln Sie Ihren Microsoft Entra-Mandanten in einen unabhängigen Kerberos-Bereich um, und erstellen Sie eine eingehende Vertrauensstellung in der Kundendomäne. Erfahren Sie, wie die Windows-Authentifizierung für Azure SQL Managed Instance mit Microsoft Entra ID und Kerberos implementiert wird.

  • SQL-Authentifizierung:

    Die SQL-Authentifizierung bezieht sich auf die Authentifizierung eines Benutzers beim Herstellen einer Verbindung mit azure SQL-Datenbank oder azure SQL Managed Instance mithilfe eines Benutzernamens und Kennworts. Sie müssen beim Erstellen des Servers eine Serveradministratoranmeldung mit einem Benutzernamen und Kennwort angeben. Mit diesen Anmeldeinformationen kann sich ein Serveradministrator bei jeder Datenbank auf diesem Server oder dieser Instanz als Datenbankbesitzer authentifizieren. Danach kann der Serveradministrator andere SQL-Anmeldungen und -Benutzer erstellen, mit denen Benutzer mithilfe eines Benutzernamens und Kennworts eine Verbindung herstellen können.

Autorisierung und Zugriffsverwaltung

Autorisierung bezieht sich auf die Steuerung des Zugriffs auf die Verwaltung von Servern und Datenbanken sowie auf Daten, Ressourcen und Befehle in einer Datenbank. Sie weisen einem Benutzer in einer Datenbank in einer Azure SQL-Datenbank oder azure SQL Managed Instance Berechtigungen zu. Die Rollenzuweisungen Ihres Portalbenutzerkontos steuern die Verwaltung von Datenbanken und Servern in Azure. Weitere Informationen finden Sie unter Hinzufügen oder Entfernen von Azure-Rollenzuweisungen über das Azure-Portal.

Verwalten Sie Berechtigungen, indem Sie Benutzerkonten zu Datenbankrollen hinzufügen und diesen Rollen Berechtigungen auf Datenbankebene zuweisen. Alternativ können Sie einem einzelnen Benutzer bestimmte Berechtigungen auf Objektebene erteilen. Weitere Informationen finden Sie unter Anmeldungen und Benutzer.

Darüber hinaus stellt die von Azure SQL verwaltete Instanz Rollen auf Serverebene (fest oder benutzerdefiniert) bereit, um Berechtigungen für eine Instanz zu verwalten. Rollen auf Serverebene verfügen über einen serverweiten Berechtigungsbereich. Sie können Prinzipale auf Serverebene zu Rollen auf Serverebene hinzufügen.

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 ist Ein Mitglied der integrierten db_owner Rolle, die über umfangreiche Berechtigungen verfügt und nur einigen Benutzern mit Administratoraufgaben gewährt werden sollte. Um den Umfang der Aktionen eines Benutzers weiter einzuschränken, verwenden Sie EXECUTE AS , um den Ausführungskontext des aufgerufenen Moduls anzugeben. Das Befolgen dieser bewährten Methoden ist auch ein grundlegender Schritt zur Aufgabentrennung.

Sicherheit auf Zeilenebene

mit Row-Level Sicherheit können Sie den Zugriff auf Zeilen in einer Datenbanktabelle basierend auf den Merkmalen des Benutzers steuern, der eine Abfrage ausführt (z. B. Gruppenmitgliedschaft oder Ausführungskontext). Verwenden Sie Row-Level Security, um benutzerdefinierte Bezeichnungsbasierte Sicherheitskonzepte zu implementieren. Weitere Informationen finden Sie unter Sicherheit auf Zeilenebene.

Diagramm, das zeigt, dass Row-Level Security einzelne Zeilen einer SQL-Datenbank vom Zugriff durch Benutzer über eine Client-App abschirmt.

Bedrohungsschutz

Azure SQL-Datenbank und SQL Managed Instance sichern Kundendaten durch Bereitstellung von Überwachungs- und Bedrohungserkennungsfunktionen.

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. Die Überwachung ermöglicht es Ihnen, laufende Datenbankaktivitäten zu überwachen sowie historische Aktivitäten zu analysieren und zu untersuchen, um potenzielle Bedrohungen oder verdächtige Missbrauchs- 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, um ungewöhnliches Verhalten und potenziell schädliche Versuche zum Zugreifen auf oder Exploit-Datenbanken zu erkennen. Es erstellt Warnungen für verdächtige Aktivitäten wie SQL-Einfügung, potenzielle Dateninfiltration und Brute-Force-Angriffe oder Anomalien in Zugriffsmustern, um Berechtigungseskalationen und die Verwendung von verletzten Anmeldeinformationen abzufangen. Sie können Warnungen von Microsoft Defender für Cloud anzeigen, in denen die Details der verdächtigen Aktivitäten bereitgestellt werden, sowie Empfehlungen für eine weitere Untersuchung sowie Aktionen zur Verringerung der Bedrohung. Sie können Advanced Threat Protection pro Server für eine zusätzliche Gebühr aktivieren. Weitere Informationen finden Sie unter Erste Schritte mit Advanced Threat Protection von SQL-Datenbank.

Diagramm, das den SQL-Bedrohungserkennungsüberwachungszugriff auf die SQL-Datenbank für eine Web-App von einem externen Angreifer und böswilligen Insidern zeigt.

Informationsschutz und -verschlüsselung

Transport Layer Security (Verschlüsselung während 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). Diese Dienste erzwingen immer TLS-verschlüsselte Verbindungen, um sicherzustellen, dass alle Daten während der Übertragung zwischen Client und Server verschlüsselt sind.

Insbesondere SQL-Datenbank, SQL Managed Instance und Azure Synapse Analytics legen das Konfigurationsflag ForceEncryption auf Yes. Clients und Treiber müssen verschlüsselte Verbindungen unterstützen, um eine Verbindung mit diesen Diensten herzustellen. Die niedrigste Version des TDS-Protokolls, das eine Verbindung herstellen kann, ist TDS 7.1.

Wenn Sie über TDS 8.0-fähige SQL-Treiber verfügen, sollten Sie als bewährte Methode die Strikte Verbindungsverschlüsselung verwenden.

Wenn Ihre Treiber TDS 8.0 nicht unterstützen, verwenden Sie die obligatorische Verschlüsselung, und vertrauen Sie dem Serverzertifikat nicht. Um dies zu erreichen, verwenden Sie beispielsweise bei Nutzung des ADO.NET-Treibers Encrypt=True und TrustServerCertificate=False in der Verbindungszeichenfolge. Die verbindungszeichenfolge, die Sie aus dem Azure-Portal abrufen, ist bereits mit diesen Werten konfiguriert.

Vermeiden Sie es, den Parameter TrustServerCertificate auf True im Produktionsumfeld festzulegen. TrustServerCertificate=True ist zu freizügig und schützt nicht vor Man-in-the-Middle-Angriffen. Wenn Ihr Client stattdessen einen anderen Domänennamen im Serverzertifikat erwartet, verwenden Sie den HostNameInCertificate Parameter, um den richtigen Domänennamen für die Überprüfung bereitzustellen.

Wenn Sie z. B. den ADO.NET Treiber zum Herstellen einer Verbindung mit Ihrer verwalteten Instanz contoso-instance.123456.database.windows.net über einen benutzerdefinierten Domänennamen contoso-instance.contoso.comverwenden, legen Sie die Verbindungsparameter Encrypt=True fest und legen Sie fest HostNameInCertificate=contoso-instance.123456.database.windows.net. Mit dieser Konfiguration kann der Treiber das Serverzertifikat anhand eines erwarteten Domänennamens für VNet-lokale Endpunkte überprüfen.

Wichtig

Einige Nicht-Microsoft-Treiber verwenden tls möglicherweise nicht standardmäßig oder verlassen sich möglicherweise auf eine ältere Version von TLS (früher als 1.2), um zu funktionieren. In diesem Fall ermöglicht der Server weiterhin die Verbindung mit Ihrer Datenbank. Bewerten Sie jedoch die Sicherheitsrisiken, die es diesen Treibern und Anwendungen ermöglichen, eine Verbindung mit der SQL-Datenbank herzustellen, insbesondere, wenn Sie vertrauliche Daten speichern.

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

Transparente Datenverschlüsselung (Verschlüsselung im Ruhezustand) mit vom Dienst verwalteten Schlüsseln

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 mithilfe eines AES-Verschlüsselungsalgorithmus, bei dem Anwendungsentwickler keine Änderungen an vorhandenen Anwendungen vornehmen müssen.

In Azure werden standardmäßig alle neu erstellten Datenbanken verschlüsselt, und der Datenbankverschlüsselungsschlüssel wird mit einem integrierten Serverzertifikat geschützt. Der Dienst verwaltet die Zertifikatwartung und -rotation und erfordert keine Eingaben vom Benutzer. Wenn Sie lieber die Kontrolle über die Verschlüsselungsschlüssel übernehmen möchten, können Sie die Schlüssel im Azure Key Vault verwalten.

Transparente Datenverschlüsselung (Verschlüsselung im Ruhezustand) mit vom Kunden verwalteten Schlüsseln

Wenn Sie eine bessere Kontrolle über Verschlüsselungsschlüssel benötigen, unterstützt die transparente Datenverschlüsselung (TDE) vom Kunden verwaltete Schlüssel (CMK). Dieser CMK ist dem logischen Server zugeordnet und umschließt die Datenbankverschlüsselungsschlüssel für alle Datenbanken innerhalb dieses Servers. Alternativ können Sie ein CMK auf einzelner Datenbankebene konfigurieren. Durch die Verwaltung des CMK können Sie die Schlüsselrotation, den Widerruf und die Überwachung steuern, was häufig für Compliance- oder strenge Sicherheitsrichtlinien erforderlich ist.

Always Encrypted und Always Encrypted mit sicheren Enklaven (Verschlüsselung-in-Benutzung)

Diagramm mit den Grundlagen des Features

Always Encrypted und Always Encrypted with secure enclaves sind Funktionen, die darauf abzielen, sensible Daten zu schützen, die in bestimmten Datenbankspalten gespeichert sind, und den Zugriff darauf zu verhindern (zum Beispiel bei Kreditkartennummern, nationalen/regionalen Identifikationsnummern oder Daten nach dem Need-to-know-Prinzip). Dieser Schutz umfasst Datenbankadministratoren oder andere privilegierte Benutzer, die berechtigt sind, auf die Datenbank zuzugreifen, um Verwaltungsaufgaben auszuführen, aber kein Unternehmen muss auf die bestimmten Daten in den verschlüsselten Spalten zugreifen. 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

Diagramm mit dynamischer Datenmaske. Eine Geschäfts-App sendet Daten an eine SQL-Datenbank, die die Daten maskiert, bevor sie zurück an die Geschäfts-App gesendet wird.

Dynamische Datenmaskierung schränkt die Offenlegung sensibler Daten ein, indem diese 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. Es funktioniert, indem die vertraulichen Daten im Resultset einer Abfrage über bestimmte Datenbankfelder verschleiert werden, während die Daten in der Datenbank nicht geändert werden. Weitere Informationen finden Sie unter Erste Schritte mit der dynamischen Datenmaskierung für SQL-Datenbank und SQL Managed Instance.

Ledger

Ledger in Azure SQL-Datenbank und SQL Managed Instance ist ein Feature, das einen kryptografischen Nachweis der Datenintegrität bereitstellt. Mit Ledger verfügen Sie über Manipulationsnachweisfunktionen für Ihre Daten. Sie können kryptografisch gegenüber Dritten, (z. B. Prüfern oder anderen Geschäftspartnern) nachweisen, dass Ihre Daten nicht manipuliert wurden.

Ledger verwendet manipulationssichere Technologie, um Datenbankänderungen in einem unveränderlichen Sachbuch aufzuzeichnen, um sicherzustellen, dass nicht autorisierte Änderungen erkannt werden können. Dieses Feature ist besonders nützlich für Szenarien, die behördliche Compliance, Prüfbarkeit und Vertrauen zwischen mehreren Parteien erfordern. Durch die Aktivierung von Ledger können Sie die Integrität Ihrer Daten überprüfen und das Risiko von Betrug oder Datenmanipulation verringern.

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. Sie können über das zentrale Microsoft Defender für SQL-Portal auf die Sicherheitsrisikobewertung zugreifen und diese verwalten.

Datenermittlung und -klassifizierung

Die Datenermittlung und -klassifizierung bietet grundlegende Funktionen, die in Azure SQL-Datenbank und SQL Managed Instance integriert sind, um die vertraulichen Daten in Ihren Datenbanken zu ermitteln, zu klassifizieren und zu bezeichnen. Das Ermitteln und Klassifizieren Ihrer vertraulichsten Daten (Geschäftsdaten, Finanzdaten, Gesundheitswesen, personenbezogene Daten und vieles mehr) spielt eine wichtige Rolle in Ihrer Organisationsinformationsschutz-Statur. Sie dient als Infrastruktur für:

  • 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.

Konformität

Zusätzlich zu den Features und Funktionen, die Ihrer Anwendung dabei helfen, verschiedene Sicherheitsanforderungen zu erfüllen, nimmt Azure SQL-Datenbank auch an regelmäßigen Audits teil. Sie wurde nach einer 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.