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 Microsoft Entra-Administrators
- Verwalten des Benutzerzugriffs mit SQL-Authentifizierung, Microsoft Entra-Authentifizierung und sicheren Verbindungszeichenfolgen
- Aktivieren von Sicherheitsfeatures (beispielsweise Microsoft Defender für SQL, Überwachung, Datenmaskierung und Verschlüsselung)
Hinweis
Microsoft Entra ID war zuvor als Azure Active Directory (Azure AD) bekannt.
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:
- SQL Server Management Studio
- Ein Server und eine Einzeldatenbank
- Erstellen Sie sie über das Azure-Portal, mithilfe der Befehlszeilenschnittstelle oder mithilfe von PowerShell.
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 über ein Unternehmensnetzwerk herzustellen, wird ausgehender 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:
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.
Hinweis
Kopieren Sie Ihren vollqualifizierten Servernamen (Beispiel:
.database.windows.net ). Er wird im weiteren Verlauf dieses Tutorials benötigt.Wählen Sie Netzwerk unter Einstellungen aus. Wählen Sie die Registerkarte Öffentlicher Zugriff und dann unter Öffentlicher Netzwerkzugriff die Option Ausgewählte Netzwerke aus, um den Abschnitt Firewallregeln anzuzeigen.
Wählen Sie auf der Symbolleiste Client-IP-Adresse hinzufügen aus, um Ihre aktuelle IP-Adresse einer neuen IP-Firewallregel hinzuzufügen. Eine IP-Firewallregel kann Port 1433 für eine einzelne IP-Adresse oder einen Bereich von IP-Adressen öffnen.
Wählen Sie OK aus, um Ihre Firewalleinstellungen zu speichern.
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:
Stellen Sie eine Verbindung mit Ihrer Datenbank her (beispielsweise mithilfe von SQL Server Management Studio).
Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf die Datenbank, und wählen Sie Neue Abfrage aus.
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';
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 Microsoft Entra-Administrators
vergewissern Sie sich, dass Sie die richtige verwaltete Microsoft Entra ID-Domäne (früher Azure Active Directory) verwenden. Wählen Sie Ihre Domäne in der oberen rechten Ecke des Azure-Portals aus. Mit diesem Prozess wird sichergestellt, dass sowohl für Microsoft Entra ID als auch für die logische SQL Server-Instanz, die Ihre Datenbank oder Ihr Data Warehouse hostet, das gleiche Abonnement verwendet wird.
Einrichten des Microsoft Entra-Administrators:
Wählen Sie im Azure-Portal auf der Seite SQL-Server die Option Microsoft Entra ID aus dem Ressourcenmenü aus und wählen Sie dann die Option Administrator festlegen, um den Bereich Microsoft Entra ID zu öffnen.
Wichtig
Sie müssen globaler Administrator sein, um diese Aufgabe ausführen zu können.
Suchen und markieren Sie im Bereich Microsoft Entra ID den Microsoft Entra-Benutzer oder die Gruppe und wählen Sie Auswählen aus. Alle Mitglieder und Gruppen Ihrer Microsoft Entra-Organisation werden aufgelistet, und ausgeblendete Einträge werden nicht als Microsoft Entra-Administratoren unterstützt.
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.
Wählen Sie oben auf der Verwaltungsseite von Microsoft Entra die Option Speichern aus.
Das Ändern des Administrators kann mehrere Minuten dauern. Der neue Administrator wird im Feld Microsoft Entra-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 die Server-Anmeldung oder -Benutzer nicht Teil von Microsoft Entra ID ist, kann für den Benutzer keine Verbindung unter Verwendung der Microsoft Entra-Authentifizierung hergestellt werden.
Weitere Informationen zum Konfigurieren von Microsoft Entra ID finden Sie unter:
- Integrieren Ihrer lokalen Identitäten in Microsoft Entra ID
- Hinzufügen benutzerdefinierter Domänennamen zu Microsoft Entra ID
- Verbund mit Microsoft Entra ID
- Verwalten Ihres Microsoft Entra-Verzeichnisses
- Verwalten der Microsoft Entra ID mithilfe von PowerShell
- Erforderliche Ports und Protokolle für die Hybrid-Identität
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 Microsoft Entra-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.
Microsoft Entra-Authentifizierung – Verwenden von Identitäten, die von Microsoft Entra ID verwaltet werden
SQL-Authentifizierung
So fügen Sie einen Benutzer mit SQL-Authentifizierung hinzu:
Stellen Sie eine Verbindung mit Ihrer Datenbank her (beispielsweise mithilfe von SQL Server Management Studio).
Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf die Datenbank, und wählen Sie Neue Abfrage aus.
Geben Sie im Abfragefenster den folgenden Befehl ein:
CREATE USER ApplicationUser WITH PASSWORD = 'YourStrongPassword1';
Wählen Sie auf der Symbolleiste die Option Ausführen aus, um den Benutzer zu erstellen.
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.
Microsoft Entra-Authentifizierung
Da Azure SQL-Datenbank keine Microsoft Entra-Serverprinzipale ( Anmeldungen) unterstützt, werden Datenbankbenutzer, die mit Microsoft Entra-Konten erstellt wurden, als eigenständige Datenbankbenutzer erstellt. Ein eigenständiger Datenbankbenutzer ist nicht einer Anmeldung in der master
-Datenbank zugeordnet, selbst wenn eine Anmeldung mit demselben Namen existiert. Die Microsoft Entra-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 und lesen Sie das Microsoft Entra-Tutorial über die Authentifizierung mit Microsoft Entra ID.
Hinweis
Datenbankbenutzer (mit Ausnahme von Administratoren) können nicht über das Azure-Portal erstellt werden. Microsoft Entra-Rollen werden nicht an SQL-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 der Microsoft Entra-Authentifizierung hinzu:
Stellen Sie eine Verbindung mit Ihrem Server in Azure her, und verwenden Sie dabei ein Microsoft Entra-Konto, das mindestens über die Berechtigung ALTER ANY USER verfügt.
Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf die Datenbank, und wählen Sie Neue Abfrage aus.
Geben Sie im Abfragefenster den folgenden Befehl ein, und ändern Sie
<Azure_AD_principal_name>
in den Prinzipalnamen des Microsoft Entra-Benutzers oder in den Anzeigenamen der Microsoft Entra-Gruppe:CREATE USER [<Azure_AD_principal_name>] FROM EXTERNAL PROVIDER;
Hinweis
In den Datenbankmetadaten sind Microsoft Entra-Benutzer mit E (EXTERNAL_USER)
und Microsoft Entra-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:
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.
Wählen Sie auf der Seite Übersicht die Option Datenbank-Verbindungszeichenfolgen anzeigen aus.
Wählen Sie eine Treiberregisterkarte aus, und kopieren Sie die vollständige 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
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.
Wählen Sie auf der Seite Übersicht den Link Servername aus. Die Serverseite wird geöffnet.
Navigieren Sie auf der Seite SQL Server zum Abschnitt Sicherheit, und wählen Sie Defender für Cloud aus.
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.
Sie können auch E-Mail-Adressen für den Empfang von Sicherheitswarnungen sowie Speicherdetails und Bedrohungserkennungstypen konfigurieren.
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.
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.
Ü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:
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.
Wählen Sie im Abschnitt Sicherheit die Option Überwachung aus.
Legen Sie unter Überwachung die folgenden Einstellungswerte fest:
Legen Sie Überwachung auf EIN fest.
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.
Wählen Sie Speichern.
Nun können Sie Überwachungsprotokolle anzeigen auswählen, um Datenbankereignisdaten anzuzeigen.
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:
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.
Wählen Sie im Abschnitt Sicherheit die Option Dynamische Datenmaskierung aus.
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.
Wählen Sie Speichern. Die ausgewählten Informationen werden nun maskiert, um den Datenschutz zu wahren.
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:
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.
Wählen Sie im Abschnitt Sicherheit die Option Transparent Data Encryption aus.
Legen Sie bei Bedarf die Option Datenverschlüsselung auf EIN fest. Wählen Sie Speichern.
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.
Zugehöriger Inhalt
- Azure SQL-Datenbank kostenlos testen (Vorschau)
- Neuigkeiten in Azure SQL-Datenbank
- Inhaltsreferenz: Konfigurieren und Verwalten – Azure SQL-Datenbank
- Planen und Verwalten der Kosten für Azure SQL-Datenbank
Tipp
Sind Sie bereit, mit der Entwicklung einer .NET-Anwendung zu beginnen? In diesem kostenlosen Learn-Modul erfahren Sie, wie Sie eine ASP.NET-Anwendung entwickeln und konfigurieren, die eine Azure SQL-Datenbank abfragt. Sie erfahren u. a., wie Sie eine einfache Datenbank erstellen.
Nächster Schritt
Im nächsten Tutorial erfahren Sie, wie Sie eine geografische Verteilung implementieren.