ACLs programmieren

Der vorliegende Beitrag erläutert die Struktur einer Beispielanwendung, bei der die Methoden und Eigenschaften der beiden aus Teil 1 bekannten Klassen NotesACL und NotesACLEntry genutzt werden, um ACLs in definierter Form für ausgewählte Datenbanken zu setzen. Damit lassen sich einfacher standardisierte Zugriffsberechtigungen durchsetzen.

Die Grundlagen der Bearbeitung von ACLs über LotusScript wurden im ersten Teil der Serie in Heft 10/2005 von Expert’s inside Lotus Notes/Domino vorgestellt. Dabei wurde ein Überblick über die beiden Klassen NotesACL und NotesACLEntry gegeben.

Um eine Anwendung zu realisieren, mit deren Hilfe ACLs standardisiert gesetzt werden, gibt es unterschiedliche Ansätze, die primär davon abhängen, was erreicht werden soll. So könnte in Datenbanken standardisiert ein Agent eingebettet werden, der regelmäßig in einer zentralen administrativen Datenbank nach Änderungen bei den Sicherheitsrichtlinien sucht und diese in den lokalen ACLs umsetzt.

Das Beispiel in dieser Serie wird aber einen anderen Ansatz verfolgen. Es wird eine Anwendung erstellt, in der Datenbank, Benutzer und Zugriffsniveaus ausgewählt werden können. Einem im Domino Directory definierten Benutzer bzw. einer Benutzergruppe kann für eine oder mehrere Datenbanken ein definiertes Zugriffsrecht zugewiesen werden.

Darüber hinaus wird die Anwendung auch die Festlegung von erweiterten Attributen umfassen, also Einstellungen wie Delete documents oder Read public documents. Die konfigurierten Änderungen wird ein LotusScript-Agent anschließend in den festgelegten Datenbanken umsetzen.

Auch diese Basisanwendung könnte man noch erweitern, indem man in ihr Dokumente erstellt, in denen solche Zuordnungen beschrieben sind. Diese Dokumente könnten anschließend in einer Art Batch verarbeitet werden. Das würde es auch erleichtern, eine solche Verarbeitung beispielsweise nachts durchzuführen, um die Last auf produktive Systeme gering zu halten.

Für eine produktive Nutzung würde sich zudem zumindest ein Vergleich mit bereits gesetzten Zugriffsberechtigungen anbieten, um Konflikte zu vermeiden. Auf das Auslesen von Berechtigungen wird aber erst zu einem späteren Zeitpunkt in dieser Serie eingegangen.

Wie geht es weiter?

Der dritte Teil wird den Code der Anwendung vorstellen. Der Schwerpunkt wird dabei auf der konkreten Nutzung der Methoden und Eigenschaften der beiden Klassen zur Bearbeitung von ACLs liegen. Um die Funktionalität umzusetzen, ist allerdings weiterer Code beispielsweise erforderlich, um die Datenbanken und Benutzer nicht von Hand festlegen zu müssen. Dieser wird ebenfalls erläutert.

Kasten Serienfortsetzung

Die jeweils abschließenden Teile der Artikelserien „DDM im Detail“ und „AdminP programmieren“ lesen Sie in Ausgabe 3/2006 von Expert´s inside Lotus Notes/Domino.