Die Berechtigungen eines Benutzers bestehen aus einer Kombination aus erteilten und entzogenen Berechtigungen. Durch Entziehen und Erteilen von Berechtigungen können Sie das Muster der Benutzerberechtigungen für eine Datenbank verwalten.
Ein Benutzer mit DBA-Berechtigung oder der Eigentümer der Prozedur muss diesen Befehl ausführen.
Wenn Sie einem anderen Benutzer connect-Berechtigungen oder Tabellenberechtigungen entziehen, darf der andere Benutzer nicht mit der Datenbank verbunden sein. Sie können dem dbo keine Verbindungsberechtigungen entziehen.
Die REVOKE-Anweisung entzieht Berechtigungen, die dem Benutzer explizit erteilt wurden (d.h. nicht von Gruppen geerbt hat, zu denen er gehört). Die Syntax für die REVOKE-Anweisung ist dieselbe wie für die GRANT-Anweisung. Beispiel: Um dem Benutzer M_Haneef die Fähigkeit zu entziehen, my_procedure auszuführen, lautet der Befehl folgendermaßen:
REVOKE EXECUTE ON my_procedure FROM M_Haneef; |
Um ihm die Berechtigung zum Löschen von Zeilen aus sample_table zu entziehen, lautet der Befehl:
REVOKE DELETE ON sample_table FROM M_Haneef; |
Wenn Sie einen Benutzer oder eine Gruppe hinzufügen, erbt der Benutzer alle Berechtigungen und vererbbare Datenbankberechtigungen, die dieser Gruppe zugewiesen wurden. SQL Anywhere erlaubt es nicht, dass Sie eine Teilmenge der Berechtigungen und Datenbankberechtigungen entziehen, die ein Benutzer als Mitglied einer Gruppe erbt. Sie können nur Berechtigungen entziehen, die explizit durch eine GRANT-Anweisung erteilt wurden. Wenn Sie geerbte Berechtigungen oder Datenbankberechtigungen einem Benutzer entziehen wollen, sollten Sie das Erstellen einer neuen Gruppe mit den erforderlichen Berechtigungen und Datenbankberechtigungen in Betracht ziehen, um dann den Benutzer zum Mitglied zu machen, oder Sie entfernen den Benutzer aus der Gruppe und erteilen ihm explizit die erforderlichen Berechtigungen.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2010, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.0 |