Autorisieren des Datenbankzugriffs auf Azure SQL-Datenbank

Gilt für:Azure SQL-Datenbank

In diesem Artikel lernen Sie Folgendes:

  • Konfigurationsoptionen für Azure SQL-Datenbank, mit denen Benutzer administrative Aufgaben ausführen und auf in diesen Datenbanken gespeicherte Daten zugreifen können.
  • Zugriffs- und Autorisierungskonfiguration nach dem Erstellen eines neuen Servers.
  • So fügen Sie Anmeldeinformationen und Benutzerkonten in der master Datenbank hinzu, und erteilen Sie diesen Konten Administratorberechtigungen.
  • Hinzufügen von Benutzerkonten zu Benutzerdatenbanken im Zusammenhang mit Anmeldungen oder als eigenständige Benutzerkonten
  • Konfigurieren von Benutzerkonten mit Berechtigungen in Benutzerdatenbanken mithilfe von Datenbankrollen und expliziten Berechtigungen
  • Informationen zu Azure SQL Managed Instance finden Sie unter Autorisieren des Datenbankzugriffs auf SQL Managed Instance.
  • Informationen zu Azure Synapse Analytics finden Sie unter Autorisieren des Datenbankzugriffs auf Azure Synapse Analytics.

Hinweis

Microsoft Entra ID war zuvor als Azure Active Directory (Azure AD) bekannt.

Authentifizierung und Autorisierung

Die Authentifizierung ist der Prozess, in dem die Identität des Benutzers bestätigt wird. Ein Benutzer stellt mithilfe eines Benutzerkontos eine Verbindung zu einer Datenbank her.

Wenn ein Benutzer versucht, eine Verbindung mit einer Datenbank herzustellen, gibt er ein Benutzerkonto und Authentifizierungsinformationen an. Der Benutzer wird mithilfe einer der folgenden beiden Authentifizierungsmethoden authentifiziert:

  • SQL-Authentifizierung

    Mit dieser Authentifizierungsmethode sendet der Benutzer einen Benutzernamen und ein zugehöriges Kennwort, um eine Verbindung herzustellen. Die master Datenbank speichert dieses Kennwort für Benutzerkonten, die mit einer Anmeldung verknüpft sind. Die Datenbank, die die Benutzerkonten enthält, die nicht mit einer Anmeldung verknüpft sind, speichert das Kennwort.

    Hinweis

    Azure SQL-Datenbank erzwingt Kennwortkomplexität nur für die Kennwortrichtlinie.

  • Microsoft Entra-Authentifizierung für Azure SQL

    Mithilfe dieser Authentifizierungsmethode sendet der Benutzer einen Benutzernamen und fordert an, dass der Dienst die in Microsoft Entra ID gespeicherten Anmeldeinformationen verwendet ( früher Azure Active Directory).

Anmeldungen und Benutzer: Sie können ein Benutzerkonto in einer Datenbank mit einer Anmeldung verknüpfen, die die master Datenbank speichert, oder Sie können ihn zu einem Benutzernamen machen, den eine einzelne Datenbank speichert.

  • Eine Anmeldung ist ein Konto in der master Datenbank, mit dem Sie ein Benutzerkonto in einer oder mehreren Datenbanken verknüpfen können. Wenn Sie einen Login verwenden, speichern Sie die Anmeldedaten für das mit dem Login verknüpfte Benutzerkonto.
  • Bei einem Benutzerkonto handelt es sich um ein einzelnes Konto in jeder Datenbank, die aber nicht mit einer Anmeldung verknüpft sein muss. Wenn Sie ein Benutzerkonto verwenden, das nicht mit einer Anmeldung verknüpft ist, speichern Sie die Anmeldeinformationen mit dem Benutzerkonto.

Die Autorisierung für den Zugriff auf Daten und das Ausführen verschiedener Aktionen wird mithilfe von Datenbankrollen und expliziten Berechtigungen verwaltet. Autorisierung bezieht sich auf die Berechtigungen, die einem Benutzer zugewiesen sind, und bestimmt, was dieser Benutzer tun darf. Die Datenbankrollenmitgliedschaften Ihres Benutzerkontos und berechtigungen auf Objektebene steuern die Autorisierung. Als bewährte Methode gewähren Sie Benutzern die geringsten Berechtigungen, die erforderlich sind.

Vorhandene Anmeldungen und Benutzerkonten nach Erstellung einer Datenbank

Wenn Sie zum ersten Mal eine Azure SQL-Ressource bereitstellen, geben Sie einen Anmeldenamen und ein Kennwort für einen speziellen Verwaltungsanmeldungstyp an, den Serveradministrator. Während der Bereitstellung erfolgt die folgende Konfiguration von Anmeldungen und Benutzern in der master und Benutzerdatenbanken:

Wichtig

Schließen Sie keine persönlichen, sensiblen oder vertraulichen Informationen in das Anmeldefeld für den Serveradministrator ein. In diesem Feld eingegebene Daten werden nicht als Kundendaten betrachtet.

  • Der Bereitstellungsprozess erstellt mithilfe des von Ihnen angegebenen Anmeldenamens eine SQL-Authentifizierungsanmeldung mit Administratorrechten. Bei einer Anmeldung handelt es sich um ein individuelles Konto für die Anmeldung bei Azure SQL-Datenbank.
  • Der Bereitstellungsprozess gewährt diesem Anmeldevorgang vollständige Administratorberechtigungen für alle Datenbanken als Prinzipal auf Serverebene. Die Anmeldung verfügt über alle verfügbaren Berechtigungen und kann nicht eingeschränkt werden.
  • Wenn sich dieses Konto bei einer Datenbank anmeldet, stimmt es mit dem speziellen Benutzerkonto dbo (Benutzerkonto) überein, das in jeder Benutzerdatenbank vorhanden ist. Der Benutzer dbo verfügt über alle Datenbankberechtigungen in der Datenbank und ist Mitglied der festen Datenbankrolle db_owner. Im späteren Verlauf dieses Artikels werden weitere feste Datenbankrollen behandelt.

So identifizieren Sie das Serveradministratorkonto :

  1. Wechseln Sie zum Azure SQL-Hub bei aka.ms/azuresqlhub.
  2. Wechseln Sie im Ressourcenmenü zu Ihrem Azure SQL-Datenbank logischen Server.
  3. Wählen Sie unter "Einstellungen" die Seite "Eigenschaften" aus.
  4. Zeigen Sie die Werte für die Serveradministratoranmeldung oder den Microsoft Entra-Administrator an.

Wichtig

Sie können den Namen des Serveradministratorkontos nach der Erstellung nicht mehr ändern. Um das Kennwort für den Serveradministrator zurückzusetzen, wählen Sie im Azure-Portal auf SQL Server, wählen Sie in der Liste den Server aus, und wählen Sie dann auf Kennwort zurücksetzen.

Erstellen zusätzlicher Anmeldungen und Benutzer mit Administratorberechtigungen

Zu diesem Zeitpunkt wird Ihr SQL-logischer Server für den Zugriff mithilfe eines einzelnen SQL-Authentifizierungsanmeldungs- und Benutzerkontos konfiguriert. Verwenden Sie die folgenden Optionen, um zusätzliche Anmeldungen mit vollständigen oder teilweisen Administratorberechtigungen zu erstellen.

  • Erstellen eines Microsoft Entra-Administratorkontos mit vollständigen Administratorberechtigungen

    Aktivieren Sie Microsoft Entra Authentifizierung, und fügen Sie einen Microsoft Entra Administrator hinzu. Sie können ein Microsoft Entra Konto als Administrator der Azure SQL Bereitstellung mit vollständigen Administratorberechtigungen konfigurieren. Bei diesem Konto kann es sich um ein einzelnes Konto oder ein Sicherheitsgruppenkonto handeln. Sie müssen einen Microsoft Entra-Administrator konfigurieren, wenn Sie Microsoft Entra Konten verwenden möchten, um eine Verbindung mit Azure SQL-Datenbank herzustellen. Ausführliche Informationen zum Aktivieren der Microsoft Entra-Authentifizierung für alle Azure SQL-Bereitstellungstypen finden Sie in den folgenden Artikeln:

  • Erstellen Sie in der SQL-Datenbank SQL-Authentifizierungsanmeldungen mit eingeschränkten Administratorberechtigungen.

    • Erstellen Sie eine zusätzliche SQL-Authentifizierungsanmeldung in der master Datenbank.

    Mitglieder dieser speziellen master-Datenbankrollen für Azure SQL-Datenbank verfügen über Berechtigungen zum Erstellen und Verwalten von Datenbanken oder Anmeldungen. In Datenbanken, die von einem Benutzer erstellt wurden, der mitglied der dbmanager Rolle ist, wird das Mitglied der db_owner festen Datenbankrolle zugeordnet und kann sich mit dem dbo Benutzerkonto anmelden und diese Datenbank verwalten. Diese Rollen verfügen außerhalb der master-Datenbank über keine expliziten Berechtigungen.

    Wichtig

    Sie können keine zusätzliche SQL-Authentifizierungsanmeldung mit vollständigen Administratorberechtigungen in Azure SQL-Datenbank erstellen. Nur das Serveradministratorkonto oder das Microsoft Entra-Administratorkonto (kann eine Microsoft Entra-Gruppe sein) können andere Anmeldungen zu Serverrollen hinzufügen oder aus diesen entfernen. Diese Einschränkung ist spezifisch für Azure SQL-Datenbank.

Erstellen von Konten für Nichtadministratorbenutzer

Erstellen Sie Konten für nichtadministrative Benutzer mithilfe einer der folgenden Methoden:

  • Erstellen einer Anmeldung

    Erstellen Sie eine SQL-Authentifizierungsanmeldung in der master Datenbank. Erstellen Sie dann in jeder Datenbank ein Benutzerkonto, auf das der Benutzer zugreifen und das Benutzerkonto der Anmeldung zuordnen muss. Verwenden Sie diesen Ansatz, wenn der Benutzer auf mehrere Datenbanken zugreifen muss und Sie die Kennwörter synchronisieren möchten. Dieser Ansatz erhöht jedoch die Komplexität, wenn Sie ihn mit der Georeplikation verwenden, da Sie die Anmeldung sowohl auf dem primären Server als auch auf den sekundären Servern erstellen müssen. Weitere Informationen finden Sie unter Konfigurieren und Verwalten der Sicherheit von Azure SQL-Datenbank für die Geowiederherstellung oder den Failover.

  • Erstellen eines Benutzerkontos

    Erstellen Sie ein Benutzerkonto in der Datenbank, auf das ein Benutzer zugreifen muss (auch als enthaltener Benutzer bezeichnet).

    Mithilfe dieses Ansatzes werden die Benutzerauthentifizierungsinformationen in jeder Datenbank gespeichert und automatisch in georeplizierte Datenbanken repliziert. Wenn jedoch dasselbe Konto in mehreren Datenbanken vorhanden ist und Sie die SQL-Authentifizierung verwenden, müssen Sie die Kennwörter manuell synchronisieren. Wenn ein Benutzer über ein Konto in verschiedenen Datenbanken mit unterschiedlichen Kennwörtern verfügt, kann das Merken dieser Kennwörter ebenfalls zu einem Problem werden.

Wichtig

Um enthaltene Benutzer zu erstellen, die Microsoft Entra Identitäten zugeordnet sind, müssen Sie mithilfe eines Microsoft Entra Kontos in der Datenbank in Azure SQL-Datenbank angemeldet sein.

Beispiele zum Erstellen von Anmeldeinformationen und Benutzern finden Sie unter:

Tipp

Ein Sicherheitslernprogramm, das das Erstellen von Benutzern in der Azure SQL-Datenbank umfasst, finden Sie unter Lernprogramm: Sichern einer Datenbank in Azure SQL-Datenbank.

Verwenden fester und benutzerdefinierter Datenbankrollen

Nachdem Sie ein Benutzerkonto basierend auf einer Anmeldung oder als eigenständigen Benutzer in einer Datenbank erstellt haben, können Sie diesen Benutzer zum Durchführen verschiedener Aktionen und für den Zugriff auf Daten in einer bestimmten Datenbank autorisieren. Verwenden Sie die folgenden Methoden, um den Zugriff zu autorisieren:

  • Feste Datenbankrollen

    Fügen Sie das Benutzerkonto zu einer festen Datenbankrolle hinzu. Es gibt neun feste Datenbankrollen, die jeweils über einen definierten Satz von Berechtigungen verfügen. Die folgenden festen Datenbankrollen werden am häufigsten verwendet: db_owner, db_ddladmin, db_datawriter, db_datareader, db_denydatawriter und db_denydatareader. Verwenden Sie db_owner , um nur wenigen Benutzern die vollständige Berechtigung zu erteilen. Die anderen festen Datenbankrollen sind nützlich, um schnell eine einfache Datenbank in der Entwicklung zu erhalten, werden jedoch für die meisten Produktionsdatenbanken nicht empfohlen. Die feste Datenbankrolle db_datareader gewährt beispielsweise Lesezugriff auf alle Tabellen in der Datenbank, was mehr ist als unbedingt erforderlich.

  • Benutzerdefinierte Datenbankrolle

    Erstellen Sie eine benutzerdefinierte Datenbankrolle mithilfe der CREATE ROLE-Anweisung . Mit einer benutzerdefinierten Rolle können Sie Ihre eigenen benutzerdefinierte Datenbankrollen erstellen und jeder Rolle sorgfältig die mindestens erforderlichen Berechtigungen für die geschäftlichen Aufgaben zuweisen. Fügen Sie dann Benutzer zur benutzerdefinierten Rolle hinzu. Wenn ein Benutzer Mitglied mehrerer Rollen ist, verfügt er über die zusammengefassten Berechtigungen all dieser Rollen.

  • Direktes Zuweisen von Berechtigungen

    Dem Benutzerkonto direkt die Berechtigungen erteilen. Es gibt mehr als 100 Berechtigungen, die Sie einzeln erteilen oder verweigern können. Viele dieser Berechtigungen sind geschachtelt. Die UPDATE-Berechtigung für ein Schema enthält beispielsweise für jede Tabelle des Schemas die UPDATE-Berechtigung. Wie bei den meisten Berechtigungssystemen wird eine Gewährung durch die Verweigerung einer Berechtigung außer Kraft gesetzt. Aufgrund der verschachtelten Natur und der Anzahl von Berechtigungen kann es eine sorgfältige Analyse erfordern, um ein geeignetes Berechtigungssystem zu entwerfen, das den Schutz Ihrer Datenbank gewährleistet. Beginnen Sie mit der Liste der Berechtigungen unter Berechtigungen (Datenbank-Engine), und sehen Sie sich die Grafik in Postergröße mit den Berechtigungen an.

Verwenden von Gruppen

Eine effiziente Zugriffsverwaltung weist Berechtigungen Microsoft-Entra-Sicherheitsgruppen und festen oder benutzerdefinierten Rollen zu, anstatt einzelnen Benutzern.

  • Wenn Sie die Microsoft Entra-Authentifizierung verwenden, fügen Sie Microsoft Entra-Benutzer in eine Microsoft Entra-Sicherheitsgruppe ein. Erstellen Sie einen eigenständigen Datenbankbenutzer für die Gruppe. Fügen Sie einen oder mehrere Datenbankbenutzer als Mitglied zu benutzerdefinierten oder integrierten Datenbankrollen mit den speziellen Berechtigungen hinzu, die für diese Benutzergruppe geeignet sind.

  • Wenn Sie die SQL-Authentifizierung verwenden, erstellen Sie eigenständige Datenbankbenutzer in der Datenbank. Weisen Sie mindestens einem Datenbankbenutzer eine benutzerdefinierte Datenbankrolle mit spezifischen Berechtigungen zu, die der jeweiligen Benutzergruppe entspricht.

    Hinweis

    Sie können auch Gruppen für nicht unterkontainierte Datenbankbenutzer verwenden.You can also use groups for noncontained database users.

Machen Sie sich mit den folgenden Features vertraut, mit denen Sie Berechtigungen einschränken oder erhöhen können:

Nächster Schritt