Tags:
create new tag
, view all tags

Regelung von Berechtigungen mit Ngroups

Berechtigungen werden in der Regel über Gruppenzugehörigkeiten geregelt, d.h man defniert eine Gruppe von Usern und weist anschliessend dieser Gruppe Berechtigungen zu. In nethz werden zu diesem Zweck sog. Ngroups gebildet. Zu den wichtigsten Ngroups zählen diejenigen vom Typ LZ (=Leitzahl). Sie werden automatisch generiert und später mit Mitgliedern gefüllt. Wie dies geschieht, wird in diesem Text erklärt.

Synchronisation der Anstellungsdaten PDB->nethz

Die nethz-Datenbank enthält eine lokale Kopie der Anstellungsdaten. Für die eigentliche Synchronisation ist die stored procedure UP_ANSTELLUNG zuständig. Dabei sind folgende Datenbank-Objekte beteiligt:

Name Objekt-Typ Beschreibung
DLDB_MA_ANSTELLUNG view Quelle der Anstellungs-Daten (auf PDB)
SYNC_ANSTELLUNG stored procedure wird täglich 17:10 von einem DBMS-Job ausgeführt und aktualisiert die Tabelle ANSTELLUNG
ANSTELLUNG table lokale Kopie der Anstellungsdaten auf nethz. Enthält nur die aktuellen, «eindeutigen» Anstellungen. PERSONENKREIS wird zur Zeit nicht aktualisiert. (Es gibt Pesonen, die mehrfach bei derselben Leitzahl angestellt sind - teilweise unter einem anderen Personenkreis. Unterscheiden lassen sich diese Anstellungen nur durch die Anstellungsdaten (ANSTVON, ANSTBIS). Uns interessiert jedoch nur, wer bei welcher Leitzahl bis wie lange angestellt ist. Zu diesem Zweck wird pro Person und Leitzahl jeweils die Maximale Anstellungsdauer ermittelt und bloss diese in die Tabelle ANSTELLUNG geschrieben. PERSID und OENR (=Leitzahl) bilden somit den Primärschlüssel.)
ANSTELLUNG_INS_AFT trigger bei einem INSERT auf der Tabelle ANSTELLUNGEN wird ein Datensatz in UPDATE_ANSTELLUNG geschrieben
ANSTELLUNG_DEL_AFT trigger bei einem DELETE auf der Tabelle ANSTELLUNGEN wird ein Datensatz in UPDATE_ANSTELLUNG geschrieben
ANSTELLUNG_UP_AFT trigger bei einem UPDATE auf der Tabelle ANSTELLUNGEN wird ein Datensatz in UPDATE_ANSTELLUNG geschrieben
UPDATE_ANSTELLUNG table Synchronisations-Tabelle, welche relevante Änderungen an der Zieltabelle festhält
SYNC_NETHZ_PERSON stored procedure wird täglich 17:35 durch einen DBMS-Job ausgeführt. Arbeitet (unter anderem) die Synchronisationstabelle UPDATE_ANSTELLUNG ab und schreibt in der Tabelle PERSON die Felder IS_EMPLOYEE, COMPANY und DEPARTMENT
PERSON_COMPANY_DEPARTMENT_AFT trigger schreibt in UPDATE_COMPANY_DEPARTMENT
UPDATE_COMPANY_DEPARTMENT table Synchronisationstabelle für die Zielsysteme LDAPS und Active Directory (AD)
MAP_ANSTELLUNG_TO_NGROUP stored procedure Arbeitet die Synchronisationstabelle UPDATE_ANSTELLUNG ab und weist den primären Usernamen einer Person der entsprechenden Leitzahl-Ngroup zu

Synchronisation zu den Zielsystemen

Zielsystem cronjob Beschreibung
Aladin sync_aladin.pl Arbeitet die Synchronisationstabelle UPDATE_ANSTELLUNG ab und setzt das Feld eth_transALADIN.Kostenstelle
Active Directory update_AD.pl arbeitet (unter anderem) die Synchronisationstabelle UPDATE_COMPANY_DEPARTMENT ab und schreibt die neuen Werte in die Attribute company und department
LDAPS update_LDAPS.pl arbeitet (unter anderem) die Synchronisationstabelle UPDATE_COMPANY_DEPARTMENT ab und schreibt die neuen Werte in die Attribute company und departmentNumber
LDAPS get_ngroups.pl, put_ngroups.pl Schreibt die OU-Attribute

-- SwenVermeul - 2009-11-30

Topic revision: r9 - 2010-01-11 - vermeul
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2017 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback