HotTip: Vergabe von Benutzerberechtigungen während der Programmausführung

11. November 2008 | Von | Kategorie: Security, Tools, Hot-Tips

Artikel HotTip der NEWSolutions: Vielen Unternehmen und Anwendungsanbietern stellt sich das Problem, Benutzerzugriffe auf Dateien und Datenbereiche zwar während der Ausführung eines Programms zulassen zu wollen, die Zugriffe aber außerhalb des Schutzes der Anwendungslogik unterbinden zu können. Anwendungsentwickler greifen

von Carol Woodbury

Vielen Unternehmen und Anwendungsanbietern stellt sich das Problem, Benutzerzugriffe auf Dateien und Datenbereiche zwar während der Ausführung eines Programms zulassen zu wollen, die Zugriffe aber außerhalb des Schutzes der Anwendungslogik unterbinden zu können. Anwendungsentwickler greifen hierzu oft auf die Funktion Adopted Authority zurück, was sicher eine angemessene Option darstellt. Muss die Anwendung allerdings auf Objekte im IFS zugreifen, wird die dabei die Adopted Authority ignoriert. Was ist in einem solchen Fall zu tun?

cl7_IMG_4909Die Lösung liegt in der API qsysetgid() – Set Group ID. Diese API tauscht die Group ID des Benutzers gegen das in dem API Call angegebene Profil aus. Um das zuvor beschriebene Problem zu lösen, könnte man nun anstreben, diesen Austausch nur unmittelbar vor dem Zugriff auf das IFS stattfinden zu lassen. Entscheidet man sich anstelle von Adopted Authority für den Einsatz der Set group ID API, kann der Aufruf jedoch bereits in der Startphase des Programms erfolgen. Das interessante an dieser API ist, dass die ursprüngliche Group ID des Benutzers mit in den Prozess übernommen wird, in dem der API Call ausgeführt wird – aber eben nur in diesen Prozess.

Es ist normalerweise keine besonders gute Idee, Benutzer in einer Anwendung zu Mitgliedern eines Profils zu machen, dem Eigentümerberechtigungen für das Anwendungsobjekt zugeordnet sind. In diesem Fall geht das aber in Ordnung, da kein Update des Benutzerprofils mit dem neuen Gruppenprofil erfolgt. Wenn also ein Benutzer versuchen sollte, außerhalb der Anwendungslogik (z. B. über ODBC oder die Befehlzeile) auf sensitive Objekte oder Dateien zuzugreifen, haben die während der Anwendungsausführung übertragenen Sonderberechtigungen keine Gültigkeit. Diese Berechtigungen gelten ausschließlich während der Ausführung der Anwendung. Sollten Sie eine Anwendung neu entwickeln oder modifizieren und nicht auf die Funktion Adopted Authority zurückgreifen wollen, schauen Sie sich diese API etwas näher an.

Eine Dokumentation der API in englischer Sprache ist unter folgender Adresse verfügbar: URL Quelle in Link (Auswahl API Finder, danach im Feld Find by name Eingabe von qsysetgid oder Set group ID.

Schlagworte: , , , , , , , , , , , , , , , , , ,

Schreibe einen Kommentar

Sie müssen eingeloggt sein, um einen Kommentar schreiben.