Verwalten von Datenbanksicherheitsrollen

Prinzipalen wird der Zugriff auf Ressourcen über ein rollenbasiertes Zugriffssteuerungsmodell gewährt, bei dem die zugewiesenen Sicherheitsrollen ihren Ressourcenzugriff bestimmen.

In diesem Artikel erfahren Sie, wie Sie verwaltungsbefehle verwenden, um vorhandene Sicherheitsrollen anzuzeigensowie Sicherheitsrollen auf Datenbankebene hinzuzufügen und zu entfernen .

Hinweis

Zum Löschen einer Datenbank benötigen Sie mindestens Arm-Berechtigungen (Contributor Azure Resource Manager) für den Cluster. Informationen zum Zuweisen von ARM-Berechtigungen finden Sie unter Zuweisen von Azure-Rollen mithilfe des Azure-Portal.

Berechtigungen

Sie müssen mindestens über Datenbank- Admin Berechtigungen verfügen, um diese Befehle ausführen zu können.

Sicherheitsrollen auf Datenbankebene

Die folgende Tabelle zeigt die möglichen Sicherheitsrollen auf Datenbankebene und beschreibt die Berechtigungen, die für jede Rolle gewährt werden.

Role Berechtigungen
admins Zeigen Sie die Datenbank- und Datenbankentitäten an, und ändern Sie sie.
users Zeigen Sie die Datenbank an, und erstellen Sie neue Datenbankentitäten.
viewers Zeigen Sie Tabellen in der Datenbank an, in denen RestrictedViewAccess nicht aktiviert ist.
unrestrictedviewers Zeigen Sie die Tabellen in der Datenbank an, auch wenn RestrictedViewAccess aktiviert ist. Der Prinzipal muss auch über adminsberechtigungen viewers oder verfügen users .
ingestors Erfassen Sie Daten in der Datenbank ohne Abfragezugriff.
monitors Zeigen Sie Datenbankmetadaten wie Schemas, Vorgänge und Berechtigungen an.

Hinweis

Es ist nicht möglich, die viewer Rolle nur für einige Tabellen in der Datenbank zuzuweisen. Verschiedene Ansätze zum Gewähren des Zugriffs auf eine Prinzipalansicht auf eine Teilmenge von Tabellen finden Sie unter Verwalten des Tabellensichtzugriffs.

Anzeigen vorhandener Sicherheitsrollen

Bevor Sie Prinzipale hinzufügen oder entfernen, können Sie mit dem .show Befehl eine Tabelle mit allen Prinzipalen und Rollen anzeigen, die bereits für die Datenbank festgelegt sind.

Syntax

So zeigen Sie alle Rollen an:

.showdatabaseDatabasenameprincipals

So zeigen Sie Ihre Rollen an:

.showdatabaseDatabasenameprincipalroles

Erfahren Sie mehr über Syntaxkonventionen.

Parameter

Name Typ Erforderlich BESCHREIBUNG
DatabaseName string ✔️ Der Name der Datenbank, für die Prinzipale aufgelistet werden sollen.

Beispiel

Der folgende Befehl listet alle Sicherheitsprinzipale auf, die Zugriff auf die Samples Datenbank haben.

.show database Samples principals

Beispielausgabe

Rolle PrincipalType PrincipalDisplayName PrincipalObjectId PrinzipalFQN
Datenbankbeispiele Admin Microsoft Entra-Benutzer Abbi Atkins cd709aed-a26c-e3953dec735e aaduser=abbiatkins@fabrikam.com

Hinzufügen und Löschen von Sicherheitsrollen

Dieser Abschnitt enthält Syntax, Parameter und Beispiele für das Hinzufügen und Entfernen von Prinzipalen.

Syntax

AktiondatabaseDatabaseName-Rollenprinzipal( [,Principal...] ) [skip-results] [ Beschreibung ]

Erfahren Sie mehr über Syntaxkonventionen.

Parameter

Name Typ Erforderlich Beschreibung
Aktion string ✔️ Der Befehl .add, .dropoder .set.
.add fügt die angegebenen Prinzipale hinzu, .drop entfernt die angegebenen Prinzipale, .set fügt die angegebenen Prinzipale hinzu und entfernt alle vorherigen Prinzipale.
DatabaseName string ✔️ Der Name der Datenbank, für die Prinzipale hinzugefügt werden sollen.
Rolle string ✔️ Die Rolle, die dem Prinzipal zugewiesen werden soll. Für Datenbanken kann dies , , usersviewers, unrestrictedviewers, , ingestorsoder monitorsseinadmins.
Prinzipal string ✔️ Mindestens ein Prinzipal. Anleitungen zum Angeben dieser Prinzipale finden Sie unter Verweisen auf Sicherheitsprinzipale.
skip-results string Falls angegeben, gibt der Befehl die aktualisierte Liste der Datenbankprinzipale nicht zurück.
Beschreibung string Text zur Beschreibung der Änderung, die bei Verwendung des .show Befehls angezeigt wird.

Hinweis

Der .set Befehl mit none anstelle einer Liste von Prinzipalen entfernt alle Prinzipale der angegebenen Rolle.

Beispiele

In den folgenden Beispielen erfahren Sie, wie Sie Im selben Befehl Sicherheitsrollen hinzufügen, Sicherheitsrollen entfernenund Sicherheitsrollen hinzufügen und entfernen.

Hinzufügen von Sicherheitsrollen mit .add

Im folgenden Beispiel wird der Rolle in der usersSamples Datenbank ein Prinzipal hinzugefügt.

.add database Samples users ('aaduser=imikeoein@fabrikam.com')

Im folgenden Beispiel wird der Rolle in der viewersSamples Datenbank eine Anwendung hinzugefügt.

.add database Samples viewers ('aadapp=4c7e82bd-6adb-46c3-b413-fdd44834c69b;fabrikam.com')

Entfernen von Sicherheitsrollen mit .drop

Im folgenden Beispiel werden alle Prinzipale in der Gruppe aus der admins Rolle in der Samples Datenbank entfernt.

.drop database Samples admins ('aadGroup=SomeGroupEmail@fabrikam.com')

Hinzufügen neuer Sicherheitsrollen und Entfernen der alten mit .set

Im folgenden Beispiel werden vorhandene viewers entfernt und die bereitgestellten Prinzipale wie viewers in der Samples Datenbank hinzugefügt.

.set database Samples viewers ('aaduser=imikeoein@fabrikam.com', 'aaduser=abbiatkins@fabrikam.com')

Entfernen aller Sicherheitsrollen mit .set

Mit dem folgenden Befehl werden alle in der Samples Datenbank vorhandenen Elemente viewers entfernt.

.set database Samples viewers none