Tutorial: Schützen einer Datenbank in Azure SQL-Datenbank

Gilt für: Azure SQL-Datenbank

In diesem Tutorial lernen Sie Folgendes:

  • Erstellen von Firewallregeln auf Server- und Datenbankebene
  • Konfigurieren eines Azure AD-Administrators (Azure Active Directory)
  • Verwalten des Benutzerzugriffs mit SQL-Authentifizierung, Azure AD-Authentifizierung und sicheren Verbindungszeichenfolgen
  • Aktivieren von Sicherheitsfeatures (beispielsweise Microsoft Defender für SQL, Überwachung, Datenmaskierung und Verschlüsselung)

Azure SQL-Datenbank bietet folgende Möglichkeiten, um Daten zu schützen:

  • Beschränken des Zugriffs mithilfe von Firewallregeln
  • Verwenden von Authentifizierungsmechanismen mit Identitätsnachweis
  • Verwenden einer Autorisierung mit rollenbasierten Mitgliedschaften und Berechtigungen
  • Aktivieren der Sicherheitsfeatures

Hinweis

Eine verwaltete Azure SQL-Instanz wird mithilfe von Netzwerksicherheitsregeln und privaten Endpunkten geschützt, wie unter Verwaltete Azure SQL-Instanz und unter Verbindungsarchitektur beschrieben.

Weitere Informationen finden Sie in den Artikeln Azure SQL-Datenbank – Erweiterte Sicherheit und Eine Übersicht über die Sicherheitsfunktionen von Azure SQL-Datenbank.

Tipp

In diesem kostenlosen Lernmodul erfahren Sie, wie Sie Ihre Datenbank in Azure SQL-Datenbank sichern.

Voraussetzungen

Für dieses Tutorial wird Folgendes vorausgesetzt:

Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.

Melden Sie sich auf dem Azure-Portal an.

Für alle Schritte in diesem Tutorial ist eine Anmeldung beim Azure-Portal erforderlich.

Erstellen von Firewallregeln

Datenbanken in Azure SQL-Datenbank werden in Azure durch Firewalls geschützt. Standardmäßig werden alle Verbindungen mit dem Server und der Datenbank abgelehnt. Weitere Informationen finden Sie unter Firewallregeln auf Server- und Datenbankebene.

Die sicherste Konfiguration erhalten Sie, indem Sie Zugriff auf Azure-Dienste erlauben auf AUS festlegen. Erstellen Sie anschließend für die Ressource, die eine Verbindung herstellen muss (beispielsweise ein virtueller Computer oder ein Clouddienst), eine reservierte IP-Adresse (klassische Bereitstellung), und lassen Sie den Zugriff durch die Firewall nur für diese IP-Adresse zu. Bei Verwendung des Resource Manager-Bereitstellungsmodells wird für jede Ressource eine dedizierte öffentliche IP-Adresse benötigt.

Hinweis

SQL-Datenbank kommuniziert über Port 1433. Wenn Sie versuchen, eine Verbindung aus einem Unternehmensnetzwerk heraus herzustellen, wird der ausgehende Datenverkehr über Port 1433 von der Firewall Ihres Netzwerks unter Umständen nicht zugelassen. In diesem Fall können Sie nur dann eine Verbindung mit Ihrem Server herstellen, wenn Ihr Administrator den Port 1433 öffnet.

Einrichten von Firewallregeln auf Serverebene

IP-Firewallregeln auf Serverebene gelten für alle Datenbanken auf dem gleichen Server.

So richten Sie eine Firewallregel auf Serverebene ein:

  1. Wählen Sie im Azure-Portal im Menü auf der linken Seite die Option SQL-Datenbanken und anschließend auf der Seite SQL-Datenbanken Ihre Datenbank aus.

    Serverfirewallregel

    Hinweis

    Kopieren Sie Ihren vollqualifizierten Servernamen (Beispiel: .database.windows.net). Er wird im weiteren Verlauf dieses Tutorials benötigt.

  2. Wählen Sie auf der Seite Übersicht die Option Serverfirewall festlegen aus. Die Seite Firewalleinstellungen für den Server wird geöffnet.

    1. Wählen Sie in der Symbolleiste die Option Client-IP-Adresse hinzufügen aus, um Ihre aktuelle IP-Adresse einer neuen Firewallregel hinzuzufügen. Die Regel kann den Port 1433 für eine einzelne IP-Adresse oder einen Bereich von IP-Adressen öffnen. Wählen Sie Speichern aus.

      Festlegen der Serverfirewallregel

    2. Wählen Sie OK aus, und schließen Sie die Seite Firewalleinstellungen.

Sie können nun eine Verbindung zu einer beliebigen Datenbank auf dem Server mit der angegebenen IP-Adresse oder dem angegebenen IP-Adressbereich herstellen.

Einrichten von Firewallregeln für eine Datenbank

Firewallregeln auf Datenbankebene gelten nur für einzelne Datenbanken. Die Datenbank behält diese Regeln bei einem Serverfailover bei. Firewallregeln auf Datenbankebene können nur mithilfe von T-SQL-Anweisungen (Transact-SQL) konfiguriert werden, und es muss bereits eine Firewallregel auf Serverebene konfiguriert worden sein.

So richten Sie eine Firewallregel auf Datenbankebene ein:

  1. Stellen Sie eine Verbindung mit Ihrer Datenbank her (beispielsweise mithilfe von SQL Server Management Studio).

  2. Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf die Datenbank, und wählen Sie Neue Abfrage aus.

  3. Fügen Sie im Abfragefenster die folgende Anweisung hinzu, und ändern Sie die IP-Adresse in Ihre öffentliche IP-Adresse:

    EXECUTE sp_set_database_firewall_rule N'Example DB Rule','0.0.0.4','0.0.0.4';
    
  4. Wählen Sie auf der Symbolleiste die Option Ausführen aus, um die Firewallregel zu erstellen.

Hinweis

Sie können in SSMS mithilfe des Befehls sp_set_firewall_rule auch eine Firewallregel auf Serverebene erstellen. In diesem Fall muss allerdings eine Verbindung mit der Masterdatenbank bestehen.

Erstellen eines Azure AD-Administrators

Vergewissern Sie sich, dass Sie die richtige verwaltete Azure AD-Domäne (Azure Active Directory) verwenden. Die AD-Domäne kann rechts oben im Azure-Portal ausgewählt werden. Mit diesem Prozess wird sichergestellt, dass sowohl für Azure AD als auch für die logische SQL Server-Instanz, die Ihre Datenbank oder Ihr Data Warehouse hostet, das gleiche Abonnement verwendet wird.

Administrator auswählen

So legen Sie den Azure AD-Administrator fest:

  1. Wählen Sie im Azure-Portal auf der Seite SQL Server die Option Active Directory-Administrator aus. Wählen Sie als Nächstes Administrator festlegen aus.

    Auswählen von Active Directory

    Wichtig

    Sie müssen globaler Administrator sein, um diese Aufgabe ausführen zu können.

  2. Suchen Sie auf der Seite Administrator hinzufügen nach dem AD-Benutzer oder der Gruppe, wählen Sie den Benutzer oder die Gruppe aus, und wählen Sie anschließend Auswählen aus. Alle Mitglieder und Gruppen Ihrer Active Directory-Instanz werden aufgeführt. Abgeblendete Einträge werden nicht als Azure AD-Administratoren unterstützt. Weitere Informationen finden Sie unter Funktionen und Einschränkungen von Azure AD.

    Auswählen des Administrators

    Wichtig

    Rollenbasierte Zugriffssteuerung in Azure (Azure Role-Based Access Control, Azure RBAC) gilt nur für das Portal und wird nicht an SQL Server weitergegeben.

  3. Wählen Sie oben auf der Seite Active Directory-Administrator die Option Speichern aus.

    Das Ändern des Administrators kann mehrere Minuten dauern. Der neue Administrator wird im Feld Active Directory-Administrator angezeigt.

Hinweis

Wenn Sie einen Azure AD-Administrator festlegen, darf der Name des neuen Administrators (Benutzer oder Gruppe) nicht als SQL Server-Anmeldung oder -Benutzer in der Masterdatenbank vorhanden sein. Andernfalls ist die Einrichtung nicht erfolgreich, und die Änderungen werden mit dem Hinweis, dass ein solcher Administratorname bereits vorhanden ist, rückgängig gemacht. Da der SQL Server-Anmeldung oder -Benutzer nicht Teil von Azure AD ist, kann für den Benutzer keine Verbindung unter Verwendung der Azure AD-Authentifizierung hergestellt werden.

Informationen zum Konfigurieren von Azure AD finden Sie hier:

Verwalten des Datenbankzugriffs

Verwalten Sie den Zugriff auf die Datenbank, indem Sie der Datenbank Benutzer hinzufügen oder Benutzern den Zugriff über sichere Verbindungszeichenfolgen ermöglichen. Verbindungszeichenfolgen sind hilfreich für externe Anwendungen. Weitere Informationen finden Sie in den Artikeln zum Verwalten von Anmeldungen und Benutzerkonten und zur AD-Authentifizierung.

Wählen Sie zum Hinzufügen von Benutzern den Datenbankauthentifizierungstyp aus:

  • SQL-Authentifizierung: Verwenden Sie für Anmeldungen eine Kombination aus Benutzername und Kennwort, die nur im Kontext einer bestimmten Datenbank auf dem Server gültig ist.

  • Azure AD-Authentifizierung: Verwenden Sie von Azure Active Directory verwaltete Identitäten.

SQL-Authentifizierung

So fügen Sie einen Benutzer mit SQL-Authentifizierung hinzu:

  1. Stellen Sie eine Verbindung mit Ihrer Datenbank her (beispielsweise mithilfe von SQL Server Management Studio).

  2. Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf die Datenbank, und wählen Sie Neue Abfrage aus.

  3. Geben Sie im Abfragefenster den folgenden Befehl ein:

    CREATE USER ApplicationUser WITH PASSWORD = 'YourStrongPassword1';
    
  4. Wählen Sie auf der Symbolleiste die Option Ausführen aus, um den Benutzer zu erstellen.

  5. Standardmäßig kann der Benutzer eine Verbindung zur Datenbank herstellen, besitzt jedoch keine Berechtigungen zum Lesen oder Schreiben von Daten. Führen Sie in einem neuen Abfragefenster die folgenden Befehle aus, um diese Berechtigungen zu gewähren:

    ALTER ROLE db_datareader ADD MEMBER ApplicationUser;
    ALTER ROLE db_datawriter ADD MEMBER ApplicationUser;
    

Hinweis

Erstellen Sie auf der Datenbankebene Konten ohne Administratorrechte, es sei denn, es müssen Administratoraufgaben wie etwa die Erstellung neuer Benutzer ausgeführt werden.

Azure AD-Authentifizierung

Für die Azure Active Directory-Authentifizierung müssen Datenbankbenutzer als Benutzer für eigenständige Datenbanken erstellt werden. Benutzer für eigenständige Datenbanken sind einer Identität im Azure AD-Verzeichnis zugeordnet, die wiederum mit der Datenbank verknüpft ist, und verfügen über keine Anmeldung in der Masterdatenbank. Die Azure AD-Identität kann entweder für einen einzelnen Benutzer oder für eine Gruppe verwendet werden. Weitere Informationen finden Sie unter Eigenständige Datenbankbenutzer - machen Sie Ihre Datenbank portabel. Im Tutorial Konfigurieren und Verwalten der Azure Active Directory-Authentifizierung mit SQL finden Sie außerdem Informationen zur Authentifizierung mithilfe von Azure AD.

Hinweis

Datenbankbenutzer (mit Ausnahme von Administratoren) können nicht über das Azure-Portal erstellt werden. Azure-Rollen werden nicht an SQL-basierte Server, Datenbanken oder Data Warehouses weitergegeben. Sie dienen lediglich zur Verwaltung von Azure-Ressourcen und gelten nicht für Datenbankberechtigungen.

So gewährt etwa die Rolle SQL Server-Mitwirkender keinen Zugriff für die Verbindungsherstellung mit einer Datenbank oder einem Data Warehouse. Die Berechtigung muss mithilfe von T-SQL-Anweisungen direkt in der Datenbank erteilt werden.

Wichtig

In den T-SQL-Anweisungen CREATE LOGIN und CREATE USER werden in Benutzernamen keine Sonderzeichen wie Doppelpunkt (:) oder kaufmännisches Und-Zeichen (&) unterstützt.

So fügen Sie einen Benutzer mit Azure AD-Authentifizierung hinzu:

  1. Stellen Sie eine Verbindung mit Ihrem Server in Azure her, und verwenden Sie dabei ein Azure AD-Konto, das mindestens über die Berechtigung ALTER ANY USER verfügt.

  2. Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf die Datenbank, und wählen Sie Neue Abfrage aus.

  3. Geben Sie im Abfragefenster den folgenden Befehl ein, und ändern Sie <Azure_AD_principal_name> in den Prinzipalnamen des Azure AD-Benutzers oder in den Anzeigenamen der Azure AD-Gruppe:

    CREATE USER [<Azure_AD_principal_name>] FROM EXTERNAL PROVIDER;
    

Hinweis

In den Datenbankmetadaten sind Azure AD-Benutzer mit E (EXTERNAL_USER) und Gruppen mit X (EXTERNAL_GROUPS) gekennzeichnet. Weitere Informationen finden Sie unter sys.database_principals.

Sichere Verbindungszeichenfolgen

Um eine sichere, verschlüsselte Verbindung zwischen der Clientanwendung und Azure SQL-Datenbank zu gewährleisten, muss die konfigurierte Verbindungszeichenfolge folgende Kriterien erfüllen:

  • Sie muss eine verschlüsselte Verbindung anfordern.
  • Sie darf dem Serverzertifikat nicht vertrauen.

Die Verbindung wird unter Verwendung von Transport Layer Security (TLS) hergestellt, und die Gefahr von Man-in-the-Middle-Angriffen wird verringert. Verbindungszeichenfolgen sind pro Datenbank verfügbar und für die Unterstützung von Clienttreibern wie ADO.NET, JDBC, ODBC und PHP vorkonfiguriert. Informationen zu TLS und zur Konnektivität finden Sie unter Überlegungen zu TLS.

So kopieren Sie eine sichere Verbindungszeichenfolge:

  1. Wählen Sie im Azure-Portal im Menü auf der linken Seite die Option SQL-Datenbanken und anschließend auf der Seite SQL-Datenbanken Ihre Datenbank aus.

  2. Wählen Sie auf der Seite Übersicht die Option Datenbank-Verbindungszeichenfolgen anzeigen aus.

  3. Wählen Sie eine Treiberregisterkarte aus, und kopieren Sie die vollständige Verbindungszeichenfolge.

    ADO.NET-Verbindungszeichenfolge

Aktivieren der Sicherheitsfeatures

Azure SQL-Datenbank bietet Sicherheitsfeatures, die über das Azure-Portal zur Verfügung stehen. Diese Features sind sowohl für die Datenbank als auch für den Server verfügbar (mit Ausnahme der Datenmaskierung, die nur für die Datenbank zur Verfügung steht). Weitere Informationen finden Sie unter Microsoft Defender für SQL, Überwachen von Azure SQL-Datenbank und Azure Synapse Analytics, Dynamische Datenmaskierung und TDE (Transparent Data Encryption) für SQL-Datenbank, SQL Managed Instance und Azure Synapse Analytics.

Microsoft Defender für SQL

Das Feature Microsoft Defender für SQL erkennt potenzielle Bedrohungen in Echtzeit und stellt Sicherheitswarnungen zu anomalen Aktivitäten bereit. Benutzer können diese verdächtigen Ereignisse mithilfe des Überwachungsfeatures untersuchen und so ermitteln, ob es sich bei dem Ereignis um einen Zugriffsversuch, um eine Verletzung der Datensicherheit oder um einen Missbrauch von Daten in der Datenbank handelt. Benutzern stehen zudem eine Sicherheitsübersicht mit Sicherheitsrisikobewertung sowie das Tool zur Datenermittlung und -klassifizierung zur Verfügung.

Hinweis

Ein Bespiel für eine Bedrohung ist die Einschleusung von SQL-Befehlen. Dabei schleusen Angreifer schädliche SQL-Befehle in Eingaben von Anwendungen ein. Dies kann dazu führen, dass die Anwendung unwissentlich die schädlichen SQL-Befehle ausführt und Angreifern Zugriff auf die Datenbank gewährt, die dann die darin enthaltenen Daten entwenden oder manipulieren können.

So aktivieren Sie Microsoft Defender für SQL

  1. Wählen Sie im Azure-Portal im Menü auf der linken Seite die Option SQL-Datenbanken und anschließend auf der Seite SQL-Datenbanken Ihre Datenbank aus.

  2. Wählen Sie auf der Seite Übersicht den Link Servername aus. Die Serverseite wird geöffnet.

  3. Navigieren Sie auf der Seite SQL Server zum Abschnitt Sicherheit, und wählen Sie Defender für Cloud aus.

    1. Wählen Sie unter Microsoft Defender für SQL die Option EIN aus, um das Feature zu aktivieren. Wählen Sie ein Speicherkonto zum Speichern der Ergebnisse der Sicherheitsrisikobewertung aus. Klicken Sie dann auf Speichern.

      Navigationsbereich

      Sie können auch E-Mail-Adressen für den Empfang von Sicherheitswarnungen sowie Speicherdetails und Bedrohungserkennungstypen konfigurieren.

  4. Kehren Sie zur Seite SQL-Datenbanken der Datenbank zurück, und wählen Sie im Abschnitt Sicherheit die Option Defender für Cloud aus. Hier finden Sie verschiedene Sicherheitsindikatoren für die Datenbank.

    Bedrohungsstatus

Wenn anomale Aktivitäten erkannt werden, erhalten Sie eine E-Mail mit Ereignisinformationen. Hierzu zählen die Art der Aktivität, die Datenbank, der Server, der Zeitpunkt des Ereignisses, mögliche Ursachen sowie empfohlene Schritte zur Untersuchung und Abwehr der potenziellen Bedrohung. Wählen Sie in einer solchen E-Mail den Link für das Azure SQL-Überwachungsprotokoll aus, um das Azure-Portal zu starten und relevante Überwachungsdatensätze für den Zeitpunkt des Ereignisses anzuzeigen.

Bedrohungserkennungs-E-Mail

Überwachung

Das Überwachungsfeature verfolgt Datenbankereignisse nach und schreibt Ereignisse in ein Überwachungsprotokoll (entweder in Azure-Speicher, in Azure Monitor-Protokollen oder in einem Event Hub). Die Überwachung hilft Ihnen dabei, gesetzliche Bestimmungen einzuhalten, die Datenbankaktivität nachzuvollziehen und Einblicke in Abweichungen und Anomalien zu erhalten, die Hinweise auf potenzielle Sicherheitsverstöße darstellen können.

So aktivieren Sie die Überwachung:

  1. Wählen Sie im Azure-Portal im Menü auf der linken Seite die Option SQL-Datenbanken und anschließend auf der Seite SQL-Datenbanken Ihre Datenbank aus.

  2. Wählen Sie im Abschnitt Sicherheit die Option Überwachung aus.

  3. Legen Sie unter Überwachung die folgenden Einstellungswerte fest:

    1. Legen Sie Überwachung auf EIN fest.

    2. Wählen Sie unter Ziel für Überwachungsprotokoll eine der folgenden Optionen aus:

      • Speicher: Ein Azure-Speicherkonto, in dem Ereignisprotokolle gespeichert werden, die dann als XEL-Dateien heruntergeladen werden können.

        Tipp

        Verwenden Sie zur optimalen Nutzung von Überwachungsberichtvorlagen das gleiche Speicherkonto für alle überwachten Datenbanken.

      • Log Analytics: Speichert automatisch Ereignisse, die dann abgefragt und näher analysiert werden können.

        Hinweis

        Für erweiterte Features wie Analysen, benutzerdefinierte Warnungsregeln und Excel- oder Power BI-Berichte ist ein Log Analytics-Arbeitsbereich erforderlich. Ohne Arbeitsbereich ist nur der Abfrage-Editor verfügbar.

      • Event Hub: Ermöglicht das Weiterleiten von Ereignissen für die Verwendung in anderen Anwendungen.

    3. Wählen Sie Speichern aus.

      Überwachungseinstellungen

  4. Nun können Sie Überwachungsprotokolle anzeigen auswählen, um Datenbankereignisdaten anzuzeigen.

    Überwachen von Datensätzen

Wichtig

Informationen zur weiteren Anpassung von Überwachungsereignissen mittels PowerShell oder REST-API finden Sie unter SQL-Datenbanküberwachung.

Dynamische Datenmaskierung

Das Datenmaskierungsfeature blendet sensible Daten in Ihrer Datenbank automatisch aus.

So aktivieren Sie die Datenmaskierung:

  1. Wählen Sie im Azure-Portal im Menü auf der linken Seite die Option SQL-Datenbanken und anschließend auf der Seite SQL-Datenbanken Ihre Datenbank aus.

  2. Wählen Sie im Abschnitt Sicherheit die Option Dynamische Datenmaskierung aus.

  3. Wählen Sie unter Dynamische Datenmaskierung die Option Maske hinzufügen aus, um eine Maskierungsregel hinzuzufügen. Die zur Auswahl stehenden Datenbankschemas, Tabellen und Spalten werden von Azure automatisch aufgefüllt.

    Maskierungseinstellungen

  4. Wählen Sie Speichern aus. Die ausgewählten Informationen werden nun maskiert, um den Datenschutz zu wahren.

    Maskierungsbeispiel

Transparent Data Encryption

Das Verschlüsselungsfeature verschlüsselt automatisch Ihre ruhenden Daten und erfordert keine Änderungen an Anwendungen, die auf die verschlüsselte Datenbank zugreifen. Bei neuen Datenbanken ist die Verschlüsselung standardmäßig aktiviert. Daten können auch mit SSMS und dem Feature Always Encrypted verschlüsselt werden.

So aktivieren oder überprüfen Sie die Verschlüsselung:

  1. Wählen Sie im Azure-Portal im Menü auf der linken Seite die Option SQL-Datenbanken und anschließend auf der Seite SQL-Datenbanken Ihre Datenbank aus.

  2. Wählen Sie im Abschnitt Sicherheit die Option Transparent Data Encryption aus.

  3. Legen Sie bei Bedarf die Option Datenverschlüsselung auf EIN fest. Wählen Sie Speichern aus.

    Transparente Datenverschlüsselung

Hinweis

Stellen Sie zum Anzeigen des Verschlüsselungsstatus über SSMS eine Verbindung mit der Datenbank her, und fragen Sie die Spalte encryption_state der Sicht sys.dm_database_encryption_keys ab. Der Zustand 3 gibt an, dass die Datenbank verschlüsselt ist.

Hinweis

Einige Elemente, die als Kundeninhalte betrachtet werden, z. B. Tabellen-, Objekt- und Indexnamen, werden zwecks Support und Problembehandlung durch Microsoft möglicherweise in Protokolldateien übertragen.

Nächste Schritte

In diesem Tutorial haben Sie gelernt, wie Sie mit wenigen einfachen Schritten die Sicherheit Ihrer Datenbank verbessern. Sie haben Folgendes gelernt:

  • Erstellen von Firewallregeln auf Server- und Datenbankebene
  • Konfigurieren eines Azure AD-Administrators (Azure Active Directory)
  • Verwalten des Benutzerzugriffs mit SQL-Authentifizierung, Azure AD-Authentifizierung und sicheren Verbindungszeichenfolgen
  • Aktivieren von Sicherheitsfeatures (beispielsweise Microsoft Defender für SQL, Überwachung, Datenmaskierung und Verschlüsselung)

Im nächsten Tutorial erfahren Sie, wie Sie eine geografische Verteilung implementieren.