Berechtigungsmodell

In einer ImageMaster-Umgebung basiert die Autorisierung auf einem Berechtigungsmodell, das mit dem Ziel größtmöglicher Flexibilität geschaffen wurde, zur Anwendbarkeit in einer Vielzahl von speziellen Integrationsszenarien. In der Struktur des Integration Service gibt es initial keine fest verdrahtete Berechtigungsbindung, z. B. direkt zwischen einem Dokumenttypen und einem Anwender. Stattdessen erfolgt eine Abbildung von Berechtigungen immer über Rollen, die einem Anwender zugewiesen werden. Neben der Festlegung, auf welche Objekte zugegriffen werden darf (wie z. B. ganze Dokumenttypen mit allen Versionen und Metadaten oder nur Teile von Dokumenten und bestimmten Versionen, oder aber sogar nur Teile von deren Metadaten) entscheidet die Rolle auch über die Arten von erlaubten Operationen.

Eine anfängliche Rollenzuweisung und ggf. sogar auch die individuelle Anpassung von Rollen ist immer notwendig, wenn ein neues System aufgesetzt wird, um den Integration Service zweckmäßig nutzen zu können. Hierfür sind standardmäßig Administrationsrollen vorhanden, um weitere Rollen anlegen, ändern, löschen oder zuweisen zu können. Grundlegende Arten von Berechtigungen werden vergeben, die intern über die Abfragesprache RAQL codiert sind. Für komplexere Rollen kann es notwendig sein, RAQL-Abfragen entwerfen und testen zu lassen, bevor man diese als Teil einer Rollendefinition nutzt. In einem Integration Service Szenario ist es vor Inbetriebnahme üblich, dass zumindest ein paar individuell angepasste Rollen definiert und eingerichtet werden. Solche maßgeschneiderten Rollen erfüllen dann projektspezifische Anforderungen und können einfach über einen Rollen-Administrator an Anwender zugewiesen werden.

Die Grundidee bei RAQL-codierten Rollen besteht darin, Abfragen zu formulieren, die Mengen von Elementen (Dokumenten und Operationen) spezifizieren. Daraus resultierenden Konstrukte werden dann in Rollendefinitionen kombiniert. Typische Berechtigungen umfassen folgende:

  • Erzeugung (create)

  • Lesen (read)

  • Ändern (update)

  • Löschen (delete)

  • Sperren (lock)

  • Ausführen (execute)

Abbildung 824: Berechtigungsmodell – Berechtigungen / Rollen / Benutzerverwaltung

Ein Element ist typischerweise eine Version eines Dokuments, kann aber generell jede Art von Gebilde aus dem zugrundeliegenden ImageMaster Datenmodell sein, das über die Abfragesprache RAQL adressierbar ist. Anstelle einer Version kann eine Berechtigung auch einen kompletten Dokumenttypen tangieren, oder auch nur bestimmte Versionen, oder spezifische Teile des Inhalts (z. B. ein Dateianhang von potentiell mehreren Anhängen, die zu einer Version gehören).

Eine Abfrage, die eine Rolle definiert, kann Dokumentattribute auswerten und in Abhängigkeit einzelner Attributwerte über den Zugriff entscheiden. Abfragen können generell eine zulässige Ergebnismenge darstellen, auf die Operationen erlaubt sind, oder sie können die Berechtigung für eine Menge von Operationen verweigern. Die interne Modellierung mit RAQL Abfragen erlaubt auch die Kombination von mehreren komplexen Rollen in eine neue Rolle.

Wohingegen sich die meisten Berechtigungen auf Dokumente als Elemente beziehen, ist die Berechtigung zum „Ausführen“ (execute) an einzelne Webservices oder sogar an interne Operationen der Integration Beans API gebunden. Dies ermöglicht die Definition einer Rolle, die beispielsweise nur den Service zur Archivierung neuer Dokumente ausführen kann, aber nicht den Service zum Retrieval von Dokumenten.

Neben der Auswertung von Daten zu existierenden Dokumenten im Archiv kann eine Abfrage auch Informationen aus der vorübergehenden Umgebung extrahieren, wie z. B. den Anwendernamen des aktuellen Benutzers oder ein Attribut einer neu eingehenden Dokumentenversion. Dies wird hauptsächlich dazu benötigt, um Berechtigungen beim erstmaligen Eingang eines Dokuments zu prüfen, z. B. um zu entscheiden, ob ein Anwender Dokumente eines speziellen Typs oder mit bestimmten Attributwerten archivieren darf.

Weitere Details zur Anpassung von Rollen und zur Abfragesprache RAQL werden im Systemhandbuch des Integration Service behandelt [SM IS] (Building blocks of the authorization model).

Innerhalb des Integration Service bietet der ImaUserlibService Methoden zur Verwaltung von Anwendern an (z. B. Zuweisung einer Rolle an einen Benutzer), und der ImaAdminService bietet Methoden zur Rollenverwaltung (vgl. Kapitel ImageMaster Webservices). Bei Nutzung des AdminClient werden diese Services intern verwendet.

ImageMaster unterstützt Basic Authentication und Zertifikat-basierte Authentifizierung (SSL/TLS).