-
Beim Festlegen von Berechtigungen sind sie unabhängig vom Benutzer oder der Rolle die Objekte zum Festlegen von Berechtigungen. Abgesehen davon, dass Anwendungsrollen etwas Besonderes sind und sich gegenseitig ausschließende Beziehungen zu anderen Rollen und Benutzern haben, haben Datenbankrollen und Mitglieder hinsichtlich der Berechtigungen eine sehr enge Beziehung. Ein Benutzer kann gleichzeitig mehreren Datenbankrollen angehören, und jede Rolle kann unterschiedliche Berechtigungen haben. Derzeit ist das Prinzip für den Erhalt tatsächlicher Berechtigungen für Benutzer „Union“, es sei denn, es gibt eine Einstellung zum Verweigern (Verweigern). Beispielsweise ist es Rolle A untersagt, Datentabelle B zu lesen, Rolle C kann jedoch Datentabelle lesen
B, zu diesem Zeitpunkt kann der Benutzer, der den Rollen A und C angehört, die Datentabelle B immer noch nicht lesen, da er gesperrt wurde.
Die Berechtigungsobjekte können in Server und Datenbanken unterteilt werden, d. h. Berechtigungen können für diese beiden separat festgelegt werden. Weitere Informationen finden Sie in der folgenden Erklärung.
Serverberechtigungen festlegen (1) Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf den Server und wählen Sie „Eigenschaften“.
(2) Wechseln Sie im Dialogfeld zu „Berechtigungen“.
(3) Wählen Sie unter „Anmeldename oder Rolle“ das Objekt aus, für das Berechtigungen festgelegt werden sollen, und überprüfen Sie die entsprechenden Berechtigungen unter „Explizite Berechtigungen“.
Klicken Sie nach Abschluss auf die Schaltfläche „OK“, wie in Abbildung 15-21 dargestellt.
Wie in Abbildung 15-21 dargestellt, handelt es sich um die Berechtigungseinstellung für den Server. Der „Autorisierer“ ist derjenige, der aktuell bei SQL Server angemeldet ist
Der Anmeldename des Servers; „Berechtigungen“ sind die Berechtigungen, die von allen aktuellen Anmeldenamen festgelegt werden können; wenn „Gewähren“ aktiviert ist, bedeutet dies, dass sa Berechtigungen für das ausgewählte Objekt gewährt und kann Gewähren Sie sie dann anderen Logins. „Ablehnen“ Die Verwendung ist lediglich verboten.
Die Auswahl dieser drei Optionen hängt zusammen. Wenn „Verweigern“ aktiviert ist, werden „Gewähren“ und „Gewähren“ automatisch gelöscht. Wenn „Gewähren haben“ aktiviert ist, wird „Ablehnen“ deaktiviert und „Gewähren“ ausgewählt .
„Anmeldename oder Rolle“ ist das Objekt, für das Berechtigungen festgelegt werden. Leser können auf die Schaltfläche „Hinzufügen“ klicken, um andere Anmeldenamen oder Rollen anzugeben. Berechtigungen können jedoch nicht von allen integrierten Serverrollen geändert werden öffentliche Rolle.
Um die Berechtigungen des aktuell ausgewählten Logins oder der aktuell ausgewählten Rolle anzuzeigen, klicken Sie auf die Schaltfläche „Gültige Berechtigungen“, da die effektiven Berechtigungen nicht nur in Abbildung 15-21 festgelegt werden können, sondern auch von der Rolle abhängen, zu der das Login gehört. Daher werden in Abbildung 15-21 nur die in dieser Einstellung definierten Berechtigungen angezeigt und die standardmäßig vorhandenen Berechtigungen werden nicht angezeigt.
Abbildung 15-21 Serverberechtigungen festlegen und Datenbankberechtigungen festlegen (1) Wählen Sie die eBook-Datenbank im Objekt-Explorer aus, klicken Sie mit der rechten Maustaste und wählen Sie „Eigenschaften“.
(2) Wechseln Sie im Dialogfeld zu „Berechtigungen“.
(3) Wählen Sie unter „Benutzer oder Rolle“ das Objekt aus, für das Berechtigungen festgelegt werden sollen, überprüfen Sie die Berechtigungen unter „Explizite Berechtigungen“ und klicken Sie nach Abschluss auf die Schaltfläche „OK“, wie in Abbildung 15-22 dargestellt.
Objektberechtigungen (1) Wählen Sie die eBook-Datenbank im Objekt-Explorer aus, öffnen Sie die „Datentabelle“, wählen Sie die Datentabelle „Bestellungen“ aus, klicken Sie mit der rechten Maustaste und wählen Sie „Eigenschaften“.
(2) Wechseln Sie im Dialogfeld zu „Berechtigungen“.
(3) Klicken Sie auf die Schaltfläche „Hinzufügen“ und geben Sie dann im Dialogfeld den Benutzer, die Datenbankrolle oder die Anwendungsrolle an, deren Berechtigungen Sie ändern möchten.
(4) Wählen Sie unter „Benutzer oder Rolle“ das Objekt aus, für das Berechtigungen festgelegt werden sollen, überprüfen Sie die Berechtigungen unter „Explizite Berechtigungen“ und klicken Sie nach Abschluss auf die Schaltfläche „OK“, wie in Abbildung 15-23 dargestellt.
Die Betriebsmethoden in Abbildung 15-21 und Abbildung 15-23 sind genau gleich. Der Unterschied besteht darin, dass die Berechtigungen des Servers, der Datenbank und der Objekte separat festgelegt werden und die Objekte, die festgelegt werden können, ebenfalls unterschiedlich sind. In Abbildung 15-21 können Berechtigungen für den Anmeldenamen und die Serverrolle angegeben werden
In Abbildung 15-23 können Berechtigungen für Benutzer, Datenbankrollen und Anwendungsrollen angegeben werden. Ein weiterer Unterschied besteht darin, dass die Berechtigungen, die angegeben werden können, unterschiedlich sind.
Abbildung 15–22 Festlegen von Datenbankberechtigungen
Abbildung 15–23 Festlegen von Objektberechtigungen und Berechtigungen
Die Berechtigungen, die in SQL Server festgelegt werden können, sind 94. Schwieriger zu verstehen sind die Eigenschaften des Servers und der Datenbank. Die wichtigen Elemente sind in Tabelle 15-4 aufgeführt.
Tabelle 15-4 Wichtige Berechtigungsbeschreibungen
Beschreibung des Berechtigungsinhalts
CONTROL überträgt dem Berechtigten eigentumsähnliche Fähigkeiten. Der Stipendiat hat tatsächlich ein sicheres Recht darauf
Alle für das Symbol definierten Berechtigungen
ALTER Gewährt die Möglichkeit, die Eigenschaften (außer Besitz) eines bestimmten sicherungsfähigen Objekts zu ändern. in einem bestimmten Bereich
Wenn einem Bereich die ALTER-Berechtigung erteilt wird, wird ihr auch das Ändern, Erstellen oder Löschen des Bereichs gewährt.
Die Fähigkeiten jedes enthaltenen Sicherheitsobjekts
ALTER ANY <serversicherbares Objekt> Gewährt die Möglichkeit, einzelne Instanzen eines serversicherbaren Objekts zu erstellen, zu ändern oder zu löschen
ALTER ANY <datenbanksicheres Objekt> Gewährt CREATE, ALTER oder DROP für eine einzelne Instanz eines datenbanksicheren Objekts.
Fähigkeit
Mit TAKE OWNERSHIP kann der Berechtigte das Eigentum an dem gewährten Sicherheitsobjekt übernehmen
CREATE <Serversicherheitsobjekt> Gewährt dem Berechtigungsempfänger die Möglichkeit, Serversicherheitsobjekte zu erstellen
CREATE <Datenbanksicherheitsobjekt> Gewährt dem Berechtigungsempfänger die Möglichkeit, Datenbanksicherheitsobjekte zu erstellen
VIEW DEFINITION ermöglicht dem Berechtigten den Zugriff auf Metadaten
Das „Sicherheitsobjekt“ in Tabelle 15-4 bezieht sich auf das Objekt des Berechtigungseinstellungsvorgangs, z. B. „Rolle“ in „Rolle erstellen“.
Dies ist hier das sichere Objekt.
Verwenden Sie T-SQL zum Festlegen von Berechtigungen. Um Berechtigungen in T-SQL festzulegen, können Sie die drei Anweisungen GRANT (gewähren), DENY (verweigern) und REVOKE (widerrufen) verwenden.
Diese drei Aussagen haben viele Verwendungsmöglichkeiten und ihre Grundformen sind wie folgt:
GRANT ALL oder Berechtigungsname ON Objekt TO Benutzer- oder Rollenname WITH Option
REVOKE ALL oder Berechtigungsname ON Objekt TO Benutzer- oder Rollenname CASCADE
DENY ALL oder Berechtigungsname ON Objekt TO Benutzer- oder Rollenname CASCADE
Jede Anweisung besteht aus drei Elementen, nämlich Berechtigungsname, Objekt und Benutzer (Rolle), wie folgt (Ch151524Grant.sql):
eBook verwenden
GEWÄHREN SIE SELECT ON OBJECT::dbo.members AN David
GRANT REFERENCES (MemberID) AUF OBJECT::dbo.Orders
AN DAVID MIT GEWÄHRUNGSOPTION
Die obigen Anweisungen verwenden die Grant-Anweisung, um David jeweils Berechtigungen zu erteilen, aber der Objektinhalt ist unterschiedlich. Bitte verwenden Sie den Objektnamen als
Beginnen Sie mit „OBJECT::“, gefolgt vom vollständigen Namen, vorzugsweise gefolgt vom Eigentümer. Die zweite Grant-Anweisung wirkt auf ein spezielles Objekt, „(MemberID) ON OBJECT::dbo.Orders“, das die MemberID darstellt, die auf das Orders-Objekt wirkt.
Feld, erteilen Sie David Anzeigeberechtigungen für diese Spalte. Gleichzeitig bedeutet das Hinzufügen von „MIT GRANT OPTION“, dass David diese Berechtigung anderen erteilen kann, was „mit Gewährung“ in Abbildung 15-23 entspricht.
In den Anweisungen „Revoke“ und „Deny“ kann am Ende „Cascade“ hinzugefügt werden. Die Funktion dieses Schlüsselworts besteht darin, die Berechtigungen zu widerrufen, die der Benutzer anderen nach „To“ erteilen kann, dh „gewährt haben“ aufzuheben.
Verfügbare Berechtigungen anzeigen Da es viele verfügbare Berechtigungen gibt, stehen in T-SQL keine Optionen zur Auswahl. Verwenden Sie daher GRANT, DENY und
Bei REVOKE müssen Sie zunächst den Berechtigungsnamen kennen, bevor Sie ihn festlegen können. Leser können sys.fn_builtin_permissions anzeigen,
Die drei Systemdatentabellen sys.database_permissions und sys.server_permissions sind in Abbildung 15-24 dargestellt.
Abbildung 15-24 Verfügbare Berechtigungen anzeigen. „Permission_name“ in Abbildung 15-24 ist der verfügbare Berechtigungsname, der auf Grant, DENY oder angewendet werden kann
Aussage widerrufen.
Berechtigungsinhalt anzeigen Um den aktuellen Anmeldenamen und Benutzerberechtigungsinhalt anzuzeigen, können Sie die gespeicherte Prozedur sp_helprotect ausführen, wie in Abbildung 15-25 dargestellt
gezeigt.
Grantee in Abbildung 15-25 ist der Name des Benutzers, der Berechtigungen erteilt, und Grantor ist der Name des Benutzers, der anderen Berechtigungen erteilt.
Nach der gespeicherten Prozedur sp_helprotect können bis zu vier Parameter verwendet werden, die den Objektnamen, den Benutzernamen und den Namen des Gewährsgebers darstellen. Der vierte Parameter kann o oder s sein und stellt Abfrageobjektberechtigungen bzw. Anweisungsberechtigungen dar.