Ein Benutzer kann nur dann erfolgreich einen anderen Benutzer impersonieren, wenn die Mindestkriterien erfüllt sind. Die Validierung der Kriterien erfolgt, wenn eine SETUSER-Anweisung ausgeführt wird, nicht beim Erteilen des SET USER-Systemprivilegs. Wenn ein Benutzer beim Absetzen der SETUSER-Anweisung nicht alle Kriterien erfüllt, schlägt die Impersonierung fehl und ein Fehler wird zurückgegeben.
Es gibt vier Kriterien für eine erfolgreiche Impersonierung:
Dem impersonierenden Benutzer wurde das Recht erteilt, den Zielbenutzer zu impersonieren.
Der impersonierende Benutzer hat mindestens alle Rollen und Privilegien, die dem Zielbenutzer erteilt wurden.
Dem impersonierenden Benutzer wurden die Rollen und Systemprivilegien mit ähnlichen oder mehr Administrationsrechten erteilt.
In Bezug auf die Erfüllung der Kriterien zu Administrationsrechten gelten die Klauseln WITH ADMIN OPTION und WITH ADMIN ONLY OPTION als Erteilung ähnlicher Administratorberechtigungen. Außerdem gelten sie als Erteilung von mehr Administrationsrechten als bei der WITH NO ADMIN OPTION-Klausel. Beispiel: Benutzer1 wird Rolle1 mit der WITH ADMIN OPTION-Klausel erteilt, Benutzer2 wird Rolle1 mit der WITH ADMIN ONLY-Klausel erteilt und Benutzer3 wird Rolle1 mit der WITH NO ADMIN OPTION-Klausel erteilt. Benutzer1 und Benutzer2 gelten dann als Benutzer mit Rolle1 und ähnlichen dazugehörigen Administrationsrechten. Außerdem gelten Benutzer1 und Benutzer2 als Benutzer mit mehr Administrationsrechten für Rolle1 als Benutzer3.
Falls dem Zielbenutzer ein Systemprivileg erteilt wurde, das zusätzliche Parameter unterstützt (auch als Erweiterungen bezeichnet, z.B. können Sie beim Erteilen des SET USER-Systemprivilegs eine Liste von Benutzer-IDs angeben), sind die Klauseln, die verwendet werden, um das Systemprivileg dem impersonierenden Benutzer zu erteilen, eine Obermenge derjenigen, die für den Zielbenutzer verwendet werden.
Derzeit unterstützen nur die Systemprivilegien SET USER und CHANGE PASSWORD Erweiterungen. Die beim Erteilen von SET USER und CHANGE PASSWORD an den impersonierenden Benutzer angegebenen Erweiterungen müssen denjenigen entsprechen, oder eine Obermenge davon sein, die angegeben wurden, als SET USER bzw. CHANGE PASSWORD dem Zielbenutzer erteilt wurden. Dies wird folgendermaßen ausgewertet:
Die ANY-Erweiterung gilt als Obermenge der Erweiterungen role-list (Rollenliste) und users-list (Benutzerliste). Wenn der Zielbenutzer das SET USER-Systemprivileg mit ANY-Erweiterung hat (z.B. GRANT SET USER ANY TO user1
), muss der impersonierende Benutzer ebenfalls die ANY-Erweiterung haben.
Falls der Zielbenutzer das SET USER-Systemprivileg sowohl mit der role-liste-Erweiterung als auch mit der users-list-Erweiterung hat, muss der impersonierende Benutzer ebenfalls das Systemprivileg mit beiden Erweiterungen haben und die Liste für jede Erweiterung muss der betreffenden Erweiterung des Zielbenutzers entsprechen oder eine Obermenge davon sein. Wenn beispielsweise die Erweiterungslisten sowohl beim impersonierenden Benutzer als auch beim Zielbenutzer Benutzer1 und Benutzer2 bzw. Rolle1 und Rolle2 enthalten, gelten die erteilten Ziellisten für jede der Klauseln als gleich. Alternativ gilt: Wenn die users-list für den impersonierenden Benutzer Benutzer1 und Benutzer2 bzw. Rolle1 und Rolle2 enthalten, während die users-list für den Zielbenutzer nur Benutzer1 bzw. Rolle2 enthalten, gilt die jeweilige users-list des impersonierenden Benutzers als Obermenge der Liste des Zielbenutzers.
Falls der Zielbenutzer das SET USER-Systemprivileg mit einer einzelnen Listenerweiterung hat, muss die Erweiterungsliste des impersonierenden Benutzers der Liste des Zielbenutzers entsprechen oder eine Obermenge davon sein. Wenn beispielsweise die Benutzerliste sowohl beim impersonierenden Benutzer als auch beim Zielbenutzer Benutzer1 und Benutzer2 enthält, gelten beide als gleich. Wenn die Benutzerliste beim impersonierenden Benutzer Benutzer1 und Benutzer2 enthält, während die Benutzerliste beim Zielbenutzer nur Benutzer2 enthält, gilt die Benutzerliste des impersonierenden Benutzers als Obermenge der Benutzerliste des Zielbenutzers.
Daraus folgt: Wenn der impersonierende Benutzer die Systemprivilegien SET USER und CHANGE PASSWORD mit Erweiterungen hat, die ihre Verwendungsmöglichkeiten einschränken, aber der Zielbenutzer die Systemprivilegien ohne Einschränkungen hat, schlägt die Impersonierung fehl, weil die Mindestkriterien im Hinblick auf Erweiterungen nicht erfüllt sind.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2013, SAP AG oder ein SAP-Konzernunternehmen. - SAP Sybase SQL Anywhere 16.0 |