Autorisieren des Datenbankzugriffs auf Azure SQL Managed Instance

Gilt für:Azure SQL Managed Instance

In diesem Artikel lernen Sie Folgendes:

  • Konfigurationsoptionen für SQL Managed Instance, 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.
  • Hinzufügen von Anmeldungen und Benutzerkonten in der master-Datenbank und Gewähren von Administratorberechtigungen für diese Konten.
  • 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-Datenbank finden Sie unter Autorisieren des Datenbankzugriffs auf die SQL-Datenbank.
  • Informationen zu Azure Synapse Analytics finden Sie unter Autorisieren des Datenbankzugriffs auf Azure Synapse Analytics.

Note

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 mit einer der folgenden zwei 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.

    Note

    Informationen zur Kennwortrichtlinie in Azure SQL Managed Instance finden Sie unter Häufig gestellte Fragen zu Azure SQL Managed Instance.

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

Important

Geben Sie keine persönlichen, sensiblen oder vertraulichen Informationen in das Loginname-Feld des Serveradministrators 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 Managed Instance.
  • Der Bereitstellungsprozess gewährt dieser Authentifizierungsanmeldung vollständige Administratorberechtigungen für alle Datenbanken als Prinzipal auf Serverebene. Die Authentifizierungsanmeldung verfügt über alle verfügbaren Berechtigungen und kann nicht eingeschränkt werden. In einer SQL Managed Instance fügt der Bereitstellungsprozess diese Authentifizierungsanmeldung der festen sysadmin-Serverrolle hinzu.
  • 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ü zur verwalteten SQL-Instanz.
  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.

Important

Sie können den Namen des Serveradministratorkontos nach der Erstellung nicht mehr ändern. Um das Kennwort zurückzusetzen, wechseln Sie zum Azure Portal, wählen Sie Ihre verwaltete SQL-Instanz aus, und wählen Sie "Kennwort zurücksetzen" aus. Sie können auch PowerShell oder die Azure CLI verwenden.

Erstellen weiterer Anmeldungen und Benutzer mit Administratorberechtigungen

Zu diesem Zeitpunkt ist Ihre verwaltete SQL-Instanz nur für eine einzelne SQL-Authentifizierungsanmeldung und ein Benutzerkonto 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 Managed Instance 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 SQL Managed Instance SQL-Authentifizierungsanmeldungen mit vollständigen Administratorberechtigungen.

    Note

    Die Rollen dbmanager und loginmanager gelten nicht für Bereitstellungen von Azure SQL Managed Instance.

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, auf die der Benutzer Zugriff benötigt, ein Benutzerkonto und verknüpfen Sie das Benutzerkonto mit der Anmeldung. Verwenden Sie diesen Ansatz, wenn der Benutzer auf mehrere Datenbanken zugreifen muss und Sie die Kennwörter synchronisieren möchten. Dieser Ansatz weist jedoch Komplexitäten auf, wenn sie mit der Georeplikation verwendet werden, da die Anmeldung sowohl auf dem primären Server als auch auf den sekundären Servern erstellt werden muss.

  • Erstellen eines Benutzerkontos

    Erstellen Sie ein Benutzerkonto in der Datenbank, auf das ein Benutzer zugreifen muss.

    Da SQL Managed Instance Microsoft Entra-Dienstprinzipale unterstützt, können Sie Benutzerkonten für die Authentifizierung bei SQL Managed Instance erstellen, ohne dass Datenbankbenutzer als eigenständige Datenbankbenutzer erstellt werden müssen.

    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.

Important

Um enthaltene Benutzer zu erstellen, die Microsoft Entra Identitäten in SQL Managed Instance zugeordnet sind, verwenden Sie eine SQL-Authentifizierungsanmeldung mit sysadmin Berechtigungen, um auch eine Microsoft Entra Authentifizierungsanmeldung oder einen Benutzer zu erstellen.

Beispiele zum Erstellen von Anmeldeinformationen und Benutzern finden Sie unter:

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.

    Note

    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, die zum Einschränken oder Erhöhen von Berechtigungen verwendet werden können:

Nächster Schritt