Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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:
-
Mit dieser Authentifizierungsmethode sendet der Benutzer einen Benutzernamen und ein zugehöriges Kennwort, um eine Verbindung herzustellen. Die
masterDatenbank 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
masterDatenbank, 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 Datenbankrolledb_owner. Im späteren Verlauf dieses Artikels werden weitere feste Datenbankrollen behandelt.
So identifizieren Sie das Serveradministratorkonto :
- Wechseln Sie zum Azure SQL-Hub bei aka.ms/azuresqlhub.
- Wechseln Sie im Ressourcenmenü zur verwalteten SQL-Instanz.
- Wählen Sie unter "Einstellungen" die Seite "Eigenschaften" aus.
- 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.
- Erstellen Sie eine zusätzliche SQL-Authentifizierungsanmeldung in der
masterDatenbank.- Fügen Sie die Anmeldung mit der Anweisung ALTER SERVER ROLE zur festen sysadmin-Serverrolle hinzu. Diese Anmeldung verfügt über vollständige Administratorberechtigungen.
- Erstellen Sie alternativ eine Microsoft Entra Authentifizierungsanmeldung mithilfe der CREATE LOGIN-Syntax.
Note
Die Rollen
dbmanagerundloginmanagergelten nicht für Bereitstellungen von Azure SQL Managed Instance.- Erstellen Sie eine zusätzliche SQL-Authentifizierungsanmeldung in der
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
masterDatenbank. 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:
- Erstellen einer Anmeldung für Azure SQL Managed Instance
- Benutzer erstellen
- Erstellen von eigenständigen Microsoft Entra-Benutzern
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.
- Verwenden Sie die ALTER ROLE-Anweisung , um einen Benutzer zu einer festen Datenbankrolle hinzuzufügen. Beispiele finden Sie in DEN ALTER ROLE-Beispielen.
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 dieUPDATE-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:
- Mithilfe von Identitätswechsel und Modulsignierung können Berechtigungen sicher vorübergehend erhöht werden.
- Sicherheit auf Zeilenebene kann verwendet werden, um zu beschränken, auf welche Zeilen ein Benutzer zugreifen kann.
- Dynamisches Datenmasking kann verwendet werden, um den Zugriff auf vertrauliche Daten zu begrenzen.
- Gespeicherten Prozeduren können verwendet werden, um die Aktionen zu begrenzen, die in der Datenbank ausgeführt werden können.