Zur A nzeige wird der QuickTi me™ Dekompressor „T I FF (LZW)“ benöti gt. Datenmodell Teil 2 Datenmodell des Verzeichnisdienstes LDAP-gv.at TEIL 2 Version: 1.21 (bezieht sich auf Teil 1 Version 2.3) Datum: 2006-03-09 Autoren: Harald Hahn ([email protected]), Peter Pichler ([email protected]), Rainer Hörbe ([email protected]) Kurzbeschreibung: Datenmodell für das PVP Standard-Portal (einschließlich Revisionsabfrage und Rechteverwaltung im Anwendungsportal) ldap.gv.at Teil 2 – V 1.21 - 2006-03-09 Seite 1/30 Zur A nzeige wird der QuickTi me™ Dekompressor „T I FF (LZW)“ benöti gt. Datenmodell Teil 2 A. Datenmodell Teil 2 ................................................................................................................. 3 1. Einleitung ............................................................................................................................ 3 2. Anwendungsfälle ................................................................................................................. 3 2.1. Anwendungsfälle AWP ................................................................................................... 3 2.2. Anwendungsfälle STP .................................................................................................... 3 2.3. Anwendungsfälle Benutzer- und Rechteverwaltung ......................................................... 3 2.4. Anwendungsfälle Portalverwaltung (AWP) ...................................................................... 4 2.5. Anwendungsfälle Portalverwaltung (STP) ........................................................................ 4 3. Logisches Datenmodell ........................................................................................................ 5 3.1. Verwaltungsdomänen .................................................................................................... 5 3.2. UML-Klassendiagramm Anwendungsportal ...................................................................... 6 3.3. UML-Klassendiagramm Stammportal .............................................................................. 7 4. Physisches Datenmodell ....................................................................................................... 8 4.1. Abbildung logisches auf physisches Datenmodell (AWP) .................................................. 8 4.2. Abbildung logisches auf physisches Datenmodell (STP) ................................................... 8 4.3. Directory Information Tree (DIT) ..................................................................................10 5. LDAP Klassen .....................................................................................................................12 5.1. gvApplication ...............................................................................................................12 5.2. gvApplicationProxy .......................................................................................................14 5.3. gvApplicationRight .......................................................................................................16 5.4. gvParticipant ...............................................................................................................17 5.5. gvPrincipal ...................................................................................................................18 5.6. gvSystem ....................................................................................................................20 5.7. gvUserPortal ................................................................................................................20 5.8. gvX509Certificate .........................................................................................................22 5.9. gvX509CaCertificate .....................................................................................................23 6. LDAP-Schema in formaler Syntax .........................................................................................24 6.1. Attribute ......................................................................................................................24 Klassen 25 B. Referenzen ...........................................................................................................................27 C. Historie .................................................................................................................................27 ldap.gv.at Teil 2 – V 1.21 - 2006-03-09 Seite 2/30 Zur A nzeige wird der QuickTi me™ Dekompressor „T I FF (LZW)“ benöti gt. Datenmodell Teil 2 A. Datenmodell Teil 2 1. Einleitung Zweck dieses Datenmodells ist die Definition einer externen Sicht auf Daten von Portalen im Portalverbund. Die Quelle dieser Daten kann eine interne LDAP-Struktur oder ein RDBMS sein. Im gemeinsamen Verzeichnis ldap.gv.at hat jede Organisation nur im eigenen Teilbaum schreibenden Zugriff. 2. Anwendungsfälle Die Anwendungsfälle für Anwendungs- und Stammportal sind in [Architektur Standardportal] definiert. 2.1. Anwendungsfälle AWP Akteur Operation Stammportal perform HTTP-Request Stammportal perform SOAP-Request 2.2. Anwendungsfälle STP Akteur Operation User/Systemprincipal perform HTTP-Request User Principal Perfom Login/Logout (UserId/Passwort) User Principal Perfom Login (HW-Zertifikat) User Principal Perfom Login (NTLM) User Principal Change Password User Principal Request Menu Revisor Revisionsprotokoll anfordern 2.3. Anwendungsfälle Benutzer- und Rechteverwaltung Akteur Operation Benutzer-Administrator Rechte und Rechteparameter verwalten (aus der Sicht des Portal ist nur das Attribut gvPrincipal.gvRights relevant) Benutzer-Administrator Zertifikat importieren und zuordnen Benutzer-Administrator Zertifikat sperren Benutzer-Administrator Principal für Benutzer einrichten (Uid, Startpasswort) Benutzer-Administrator Passwortsperre rücksetzen, Neues Initial-Passwort vergeben Benutzer-Administrator Principal sperren/entsperren ldap.gv.at Teil 2 – V 1.21 - 2006-03-09 Seite 3/30 Zur A nzeige wird der QuickTi me™ Dekompressor „T I FF (LZW)“ benöti gt. Datenmodell Teil 2 2.4. Anwendungsfälle Portalverwaltung (AWP) 2.4.1. Zertifikatsverwaltung Client-Zertifikate, die zur Authentifizierung am Portal verwendet werden, müssen registriert werden, um vom Client verwendet werden zu können. Der Prozess der Registratur besteht darin, dass Attribute aus dem Zertifikat extrahiert und in das Verzeichnis importiert werden. Für die Registratur sind verschiedene Schnittstellen möglich: einzeln mit manueller Prüfung durch einen Benutzeradministrator, im Batch für mehrere User oder als Selbstregistratur für Inhaber von Zertifikaten mit Personenbindung. Client-Zertifikate, die Schlüssel auf Hardware-Token zertifizieren, sind für eine höhere Sicherheitsklasse qualifiziert. Für diesen Zweck wird eine Liste von gültigen Zertifizierungsstellen geführt, deren Zertifikate diese Bedingung erfüllt (gvConfigUserPortal.gvX509issuerist). Akteur Operation AWP-Administrator Neue Anwendung erstellen AWP-Administrator Anwendungsattribute ändern AWP-Administrator Anwendung vorübergehend sperren AWP-Administrator STP-Benutzer informieren (Banner-Msg) AWP-Administrator Anwendung stilllegen AWP-Administrator Anwendungsrechte administrieren AWP-Administrator Zugriffsberechtigte Stelle erstellen, Rechte verwalten AWP-Administrator Portal-Konfiguration ändern AWP-Administrator Zertifikat importieren und zuordnen AWP-Administrator Zertifikat sperren 2.5. Anwendungsfälle Portalverwaltung (STP) Akteur Operation STP-Administrator Neue Anwendung am Stammportal einrichten STP-Administrator Anwendung vewalten/entfernen STP-Administrator Stammportal definieren STP-Administrator Zuordnung zugriffsberechtigter Stellen zu Stammportal verwalten ldap.gv.at Teil 2 – V 1.21 - 2006-03-09 Seite 4/30 Zur A nzeige wird der QuickTi me™ Dekompressor „T I FF (LZW)“ benöti gt. Datenmodell Teil 2 3. Logisches Datenmodell 3.1. Verwaltungsdomänen Der Verzeichnisdienst ldap.gv.at besteht aus einem zentralen und verschiedenen lokalen Verzeichnissen, die ein einheitliches Grundschema haben und – optional – lokale Erweiterungen. Das Verzeichnis ist in Verwaltungsdomänen unterteilt, die regeln, welche Organisationen und Anwendungsbereiche bestimmte Objekte pflegen. Lokale Verzeichnisse werden in der Regel sämtliche benötigten Daten lokal speichern, wobei die Daten fremder Verwaltungsdomänen über einen Replikationsmechanismus vom zentralen Verzeichnisdienst heruntergeladen werden. Verwaltungsdomänen: zentraler Verzeichnisdienst: führt die oberen Domain-Einträge entsprechend gv.at und or.at sowie die Liste der eingeständigen Organisationen von Bund, Ländern, Gemeinden, Städten, Selbstverwaltungskörpern etc. Stammportal: Objekte, die vom Stammportalbetreiber verwaltet werden. Die Benutzerverwaltung ist nicht Teil der Stammportalverwaltung. Anwendungsportal: Definiert Anwendungen, deren Rechte, und die Delegation an zugriffsberechtigte Stellen. Personal: Über Dienstverhältnisse werden Personen Organisationen zugeordnet. Konten- und Rechte: Benutzerkonten enthalten Authentifizierungsinformationen und Berechtigungen ldap.gv.at Teil 2 – V 1.21 - 2006-03-09 Seite 5/30 Zur A nzeige wird der QuickTi me™ Dekompressor „T I FF (LZW)“ benöti gt. Datenmodell Teil 2 3.2. UML-Klassendiagramm Anwendungsportal ldap.gv.at Teil 2 – V 1.21 - 2006-03-09 Seite 6/30 Zur A nzeige wird der QuickTi me™ Dekompressor „T I FF (LZW)“ benöti gt. Datenmodell Teil 2 3.3. UML-Klassendiagramm Stammportal ldap.gv.at Teil 2 – V 1.21 - 2006-03-09 Seite 7/30 Zur A nzeige wird der QuickTi me™ Dekompressor „T I FF (LZW)“ benöti gt. 4. Datenmodell Teil 2 Physisches Datenmodell Das physische Modell ist als LDAP-Schema formuliert. Beim Design wurde beabsichtigt, dass eine möglichst einfache Abbildung auf andere Schemata (SQL, XML) möglich ist. 4.1. Abbildung logisches auf physisches Datenmodell (AWP) logisches Modell physisches Modell Anwendung ApplID CN URL UrlMapping Banner text Logo Anwendungsstatus Eintragstatus Anwendungsrecht ApplID CN SecClass Parametersyntax Parameterauswahl Eintragstatus Organisation OrgID Zugriffsberechtigte Stelle CN OrgID Anwendungsrechte Stammportal CN erlaubte zugriffsberechtigte Stellen Default-zugriffsber. Stellen Stammportal-Zertifikat Seriennummer Aussteller gvApplication gvApplId cn gvURL gvUrlMapping gvBanner jpegPhoto gvApplicationStatus gvStatus gvApplicationRight gvApplId cn gvSecClass gvRoleSyntax gvRightParameters gvStatus gvOrganisation gvOuId gvParticipant cn gvOuId gvMaxRights gvUserPortal cn gvParticipants gvDefaultParticipant gvX509Certificate x509SerialNumber gvX509issuerCanonical 4.2. Abbildung logisches auf physisches Datenmodell (STP) logisches Modell physisches Modell Anwendungsproxy CN URL Url Mapping Anwendungsreferenz Person Gid OrgID E-Mailadresse Telefonnummer SystemPrincipal CN gvApplicationProxy cn gvUrl gvUrlMapping gvApplication ldap.gv.at Teil 2 – V 1.21 gvGid gvOuId (2.2.9: gvVkz) mail telephonenumber gvSystem cn - 2006-03-09 Seite 8/30 Zur A nzeige wird der QuickTi me™ Dekompressor „T I FF (LZW)“ benöti gt. Datenmodell Teil 2 UserID OrgID Passwort Datum letztes Login Rechte admin. Sicherheitsklasse UserPrincipal UserID OW-bPK Passwort History Passwort Policy Passwort Kontosperre Datum letztes Login Rechte admin. Sicherheitsklasse UserZertifikat Seriennummer Aussteller ldap.gv.at Teil 2 – V 1.21 uid gvOuId (2.2.9: gvVkz) gvUserPassword gvLastLogin gvRights gvSecClass gvPrincipal uid gvOwBpk gvPasswordHistory gvPasswordExp, etc. gvUserPassword gvAccountLocked gvLastLogin gvRights gvSecClass gvX509Certificate x509serialnumber gvX509issuerCanonical - 2006-03-09 Seite 9/30 Zur A nzeige wird der QuickTi me™ Dekompressor „T I FF (LZW)“ benöti gt. Datenmodell Teil 2 4.3. Directory Information Tree (DIT) Folgende Diagramme stellen dar, wie die Objekte in Abhängigkeit von ihren Klassen im DIT positioniert werden. 4.3.1. Stammportal Instanzen der Klasse gvApplicationProxy verweisen auf Einträge der Klasse gvApplication und bilden stammportalspezifische Informationen zu einer Portalverbundapplikation ab. Für das Stammportal sind alle einer gvOrgPerson, einem gvSystem bzw. einer gvPersonFunktion zugeordnete Rechte und Rechteparameter im Attribut gvRights zu speichern. ldap.gv.at Teil 2 – V 1.21 - 2006-03-09 Seite 10/30 Zur A nzeige wird der QuickTi me™ Dekompressor „T I FF (LZW)“ benöti gt. Datenmodell Teil 2 4.3.2. Anwendungsportal Im Verzeichnis eines Anwendungsportals werden Stammportale und deren Authentifizierungsinformationen, die Daten von zugriffsberechtigen Stellen und Meta-Informationen zu Anwendungen verwaltet. ldap.gv.at Teil 2 – V 1.21 - 2006-03-09 Seite 11/30 Zur A nzeige wird der QuickTi me™ Dekompressor „T I FF (LZW)“ benöti gt. 5. Datenmodell Teil 2 LDAP Klassen 5.1. gvApplication Anwendung, wie sie im Anwendungsportal definiert ist. dn: gvApplId=...,ou=Applications, .. (dn: gvApplId=ZMR,ou=Applications,gvOuId=AT:b:164,dc=gv,dc=at) Attribut Beschreibung (Beispiel) Eigenschaft gvApplId Eindeutig Anwendungskennung (ZMR) M, cis(32) cn Name der Anwendung (Zentrales Melderegister) M, L, cis(64) gvURL Startadresse der Anwendung im Anwendungsportal (=Zieladresse des Stammportals) (https://portal.bmi.gv.at/bmi.gv.at/zmr/static/start.htm) uri gvURLMapping Liste von Werte-Tripeln zur Abbildung von Source- und Target-URLs für den Reverse Proxy des Anwendungsportals. Siehe untenstehende Beschreibung L, ces(1024) /unsereorg.gv.at/app1/|https://10.0.0.1/andereorg.gv.at/app1/|check description Anwendungsbeschreibung cis(1024) gvBanner Textnachricht, die Benutzern im Stammportal-Menü zusätzlich zum Namen und Logo der Anwendung angezeigt wird. Kann z.B. verwendet werden um auf Wartungsfenster oder ähnliche betriebsrelevante Sachverhalte hinzuweisen. cis(1024) gvAppOwner Anwendungsverantwortlicher (URL) cis gvAppTechContact technischer Kontakt (URL) cis gvAppAdmin administrativer Kontakt (URL) cis jpegPhoto Applikationslogo. Empfohlene max. Größe: 20 x 60 Pixel. L, JPEG gvMaxConcurrentRequests Maximale Anzahl gleichzeitiger Anfragen für diese Applikation. Ein Anwendungsportal soll Anfragen sofort zurückweisen, wenn dieser Wert überschritten wird. int 0… Anzahl gleichzeitiger Anfragen soll nicht limitiert werden. Diese Konfigurationsmöglichkeit hat den Zweck, andere vom selben Anwendungsportal angebotene Anwendungen, trotz Überlastung einer Anwendung, verfügbar zu halten. gvApplicationStatus Status der Verfügbarkeit: on-line, off-line off-line bedeutet, dass die Anwendung vorübergehend außer Betrieb ist, gvStatus muss daher active sein cis[8] gvDecommissionDate Stilllegungsdatum. Wenn das Datum gesetzt ist, muss gvStatus muss inactive sein. Der Eintrag ist frühestens 3 Jahre nach der Stilllegung zu löschen. Generalized Time gvExtensionItem Implementierungsspezifische Erweiterung, die vom PAL des Portals unterstützt wird. Das Attribut darf nicht vom oder L, cis(1024) ldap.gv.at Teil 2 – V 1.21 - 2006-03-09 Seite 12/30 Zur A nzeige wird der QuickTi me™ Dekompressor „T I FF (LZW)“ benöti gt. Datenmodell Teil 2 zum zentralen VD repliziert werden. gvURLMapping: Jeder Eintrag enthält eine Abbildungsregel von Quell- auf Zieladressen, und ein Attribut, ob für den URL-Bereich eine Berechtigungsprüfung durchgeführt werden muss. Die Syntax ist: SourceURL | TargetURL | Check-Option SourceURL… absolute bzw. serverrelative (führendes Slash) URL TargetURL….absolute URL Das Trennzeichen ist das Zeichen "Vertical Bar" Die Check-Option kann die Werte "check" und "nocheck" haben. "nocheck" bedeutet, dass für Ressourcen in diesem Adressbereich keine Zugriffsprüfung durchgeführt wird. Suchen von gvURLMapping Einträgen mithilfe der SourceURL Um für eine URL aus der Anfrage des Clients den passenden gvUrlMapping Eintrag zu finden, wird wie folgt vorgegangen. 1. Es wird eine Liste mit gvURLMapping Einträge zusammengestellt, deren SourceURL linksbündig mit der URL aus der Client Anfrage übereinstimmt. Wenn mithilfe der absoluten URL keine passenden gvUrlMapping Einträge gefunden werden, wird nach Einträgen gesucht, deren Source URL linksbündig mit der serverrelativen URL übereinstimmt. 2. Aus der in Schritt 1 erstellten Liste wird das gvURLMapping mit der längsten SourceURL ausgewählt. Suchen von gvURLMapping Einträgen mithilfe der TargetURL Um eine URL aus der Zielserver Antwort (z.B. Ziel URL eines Redirects) für den Client zu übersetzen, wird wie folgt vorgegangen: Es wird eine Liste aus gvURLMapping Einträgen zusammengestellt, deren TargetURL linksbündig mit der URL aus der Server Antwort übereinstimmt. Aus dieser Liste wird das gvURLMapping mit der längsten TargetURL ausgewählt. ldap.gv.at Teil 2 – V 1.21 - 2006-03-09 Seite 13/30 Zur A nzeige wird der QuickTi me™ Dekompressor „T I FF (LZW)“ benöti gt. Datenmodell Teil 2 5.2. gvApplicationProxy Anwendungsspezifische Informationen für Stammportale. Das Objekt ist ein Stellvertreter für den Eintrag der Anwendung im Anwendungsportal dn: cn=...,ou=ApplicationProxy,.. (dn: [email protected],ou=ApplicationProxy,gvOuId=AT:b:164,dc=gv,dc=at) Attribut Beschreibung (Beispiel) Eigenschaft cn Eindeutige Bezeichnung in der Form: M, L, cis(64) Application-ID "@" Domainname Z.B.: "[email protected]" gvApplicationReference dn der zugehörigen gvApplication Instanz in kanonisierter Schreibweise dn (gvApplId=ZMR,ou=Applications,gvOuId=AT:b:164,dc=gv,dc=at) gvURL URI, Anwendungsadresse im Stammportal. Wird vom Stammportal als Zieladresse für den der Anwendung zugeordneten Menülink verwendet. Die URI kann absolut oder relativ angegeben werden. uri z.B.: https://portal.ooe.gv.at/bmi.gv.at/eka /bmi.gv.at/eka ../bmi.gv.at/eka gvURLMapping Informationen für URL Mapping im Stammportal. Analog zu gvApplication.gvUrlMapping L, ces(1024) /unsereorg.gv.at/app1/| https://portal.diedort.gv.at/diedort.gv.at/app1/|check gvOpenWindow Steuert, ob eine Anwendung in einem neuen Browserfenster geöffnet wird. Dieses Attribut wird ignoriert, wenn gvOpenWindowJavaScript nicht leer ist. bool gvOpenWindowJavaScript Syntax: String Beschreibung: Dieser JavaScript-Code öffnet das Anwendungsfenster, wenn die Anwendung im Menü ausgewählt wird. Dadurch können Parameter wie die Fenstereigenschaften angegeben werden. self.child=window.open("start.htm","ZMR", "resizable=yes, status=yes"); if(self.child!= null) { if (self.child.opener==null) self.child.opener = self; self.child.moveTo(0,0); self.child.resizeTo( ((screen.width > 1024)?1024:screen.width), ((screen.height > 768)?768:screen.height)); self.child.focus(); } ces gvHideMenuitem Steuert die Anzeige von Anwendungen im Menü. bool Attribut nicht vorhanden oder false .. zeigt Menüeintrag an true .. Menüeintrag wird nicht angezeigt gvExtensionItem ldap.gv.at Teil 2 – V 1.21 Siehe gvApplication - 2006-03-09 L, cis(1024) Seite 14/30 Zur A nzeige wird der QuickTi me™ Dekompressor „T I FF (LZW)“ benöti gt. ldap.gv.at Teil 2 – V 1.21 Datenmodell Teil 2 - 2006-03-09 Seite 15/30 Zur A nzeige wird der QuickTi me™ Dekompressor „T I FF (LZW)“ benöti gt. Datenmodell Teil 2 5.3. gvApplicationRight Rechte und deren Parameter für Objekte der Klassen gvPerson, gvGroup, gvPersonFunction dn: cn=…,gvApplId=…,ou=Applications,.. (cn=ZMR-Anfrage,gvApplId=ZMR,gvOuId=AT:b:164,dc=gv,dc=at) Attribut Beschreibung (Beispiel) Eigenschaft gvApplId Wie in gvApplication M, cis(32) cn Bezeichnung der Berechtigung M, L, cis(64) gvSecClass 0 bis 3 (Mindestens erforderliche SecClass für dieses Recht) int(1) gvRoleSyntax Regulärer Ausdruck in PERL-Syntax, um Rechteparameter im Anwendungsportal zu überprüfen. L, ces(1024) Jeder Parameterstring wird als ganzes gegen dieses Attribut überprüft. Es werden nur jene von einem Stammportal gemeldeten Rechte zugelassen, deren Parameter zumindest einem Eintrag in gvRoleSyntax entsprechen. Diese Prüfung eröffnet die Möglichkeit das Vorhandensein von Rechteparametern zu erzwingen oder zu verhindern. Ist gvRoleSyntax leer, so kann das Recht ohne Parameter verwendet werden. „.*“ bedeutet, dass das Recht mit beliebigen Parametern verwendet werden kann. Da dieses Attribute auch dokumentierenden Charakter hat (welche Parameter gibt es für dieses Recht), wird davon abgeraten „.*“ zu verwenden! Beispiel: (GKZ=\d{5,5}){1,} Das bedeutet, dass mindestens ein Key-Value-Pair vorhanden sein muss, wobei der Key "GKZ" ist und Value eine 5-stellige Ganzzahl. gvDecommissionDate siehe gvApplication Generalized Time description Beschreibung cis(1024) gvExtensionItem Siehe gvApplication L, cis(1024) ldap.gv.at Teil 2 – V 1.21 - 2006-03-09 Seite 16/30 Zur A nzeige wird der QuickTi me™ Dekompressor „T I FF (LZW)“ benöti gt. Datenmodell Teil 2 5.4. gvParticipant Participant (zugriffsberechtige Stelle). Dient zur Rechteverwaltung von zugriffsberechtigen Stellen in Anwendungsportalen. dn: cn=..,ou=Portal,.. (dn: [email protected],ou=Portal,gvOuId=AT:b:164, dc=gv,dc=at) Attribut Beschreibung (Beispiel) Eigenschaft cn Bezeichnung der zugriffsberechtigen Stelle im RFC822Format ([email protected]) M, L, cis(64) gvOuId gvOuId (Org-ID) der Organisationseinheit der zugriffsberechtigen Stelle. Entspricht der PartcipantId eines PVP Requests. (gvOuId= AT:l9:9876) M, cis(32) ldap.gv.at Teil 2 – V 1.21 - 2006-03-09 Seite 17/30 Zur A nzeige wird der QuickTi me™ Dekompressor „T I FF (LZW)“ benöti gt. gvMaxRights Datenmodell Teil 2 Definiert die maximal zulässigen Rechte eines Portalverbundteilnehmers. Ein Recht kann mehrfach eingetragen werden, d.h. dass es mehrere Einträge mit dem selben gvApplicationRight-DN geben kann. L, ces(32767) Format: dn-gvApplicationRight [„$“ (paramName „=“ regularExpression) | „.*“] dn-gvApplicationRight… dn des ApplicationRights, welches für die zugriffsberechtige Stelle zulässig ist dn-gvApplicationRight „$“ (paramName „=“ regExp)… Definiert einen regulären Ausdruck für zulässige Werte eines spezifischen Parameter. dn-gvApplicationRight „$.*“… Wird „$.*“ an den dn angehängt, so bedeutet das, dass der Participant das Recht mit beliebigen Parametern verwenden kann. dn-gvApplicationRight Werden die optionalen Teile weggelassen und nur der dn eines Rechtes angegeben, dann darf das Recht ohne Angabe von Parametern verwendet werden kann. Überprüfung im Anwendungsportal: Jeder Rechteparameter aus dem PVP Parameter AUTHORIZE-Roles wird mithilfe des Attributes gvMaxRight des anfragenden Portalverbundteilnehmers überprüft. Unzulässige Parameter werden entfernt. Danach erfolgt die Überprüfung der Parameter mithilfe des Attributes GvApplicationRight.roleSyntax. Beispiele: cn=ZMR-Anfrage,gvApplId=ZMR,gvOuId=AT:b:164, dc=gv,dc=at$.* (ZMR-Anfrage kann mit beliebigen Parametern verwendet werden) cn=ZMR-Anfrage,gvApplId=ZMR,gvOuId=AT:b:164, dc=gv,dc=at$GKZ=47111 (Für die zugriffsberechtige Stelle ist das Recht "ZMRAnfrage(GKZ=47111)" zulässig) description Entsprechend gvOrgPerson cis(1024) gvExtensionItem Siehe gvApplication L, cis(1024) 5.5. gvPrincipal Auxiliary Klasse als Erweiterung für gvOrgPerson, um für das Stammportal relevante Informationen abzulegen. Attribut Beschreibung (Beispiel) Eigenschaft gvPasswordMust Change 1…Der Benutzer muss beim nächsten Login sein Passwort ändern. 0…Benutzer muss beim nächsten Login sein Passwort nicht ändern. bool gvPasswordExp Beschreibt ob die Gültigkeit eines Passworts verfällt bool ldap.gv.at Teil 2 – V 1.21 - 2006-03-09 Seite 18/30 Zur A nzeige wird der QuickTi me™ Dekompressor „T I FF (LZW)“ benöti gt. Datenmodell Teil 2 1 – Passwort verfällt nach der letzten Änderung zuzüglich passwordMaxAge 0 – Passwort ist ohne zeitliche Begrenzung gültig gvPasswordHistory Beschreibt verwendete Passwörter und deren Ablaufdatum im Format: YYYYMMDDHHMMSS{encryption method}[password] passwordHistory: 20040909190821{SHA}FSG7BH6Aa6LK3UVISIzMytdgtQ8 L, ces gvPassword ExpirationTime Zeitpunkt, nach dem das Passwort dieses Principals abläuft. Generaliz ed Time gvLastLogin Zeitpunkt des letzten erfolgreichen Logins Format: YYYYMMDDHHMMSS Format: YYYYMMDDHHMMSS gvPasswordLocked Kennzeichen, ob durch falsche Eingabe des Passworts die UID/PW-Authentifizierung gesperrt ist. gvRights Liste der dem Benutzer gewährten Rechte pro Anwendung im Stammportal einschließlich der dazugehörigen Parameter. Wird auch zum Aufbau von Menüs verwendet. Das Format ist: Generaliz ed Time bool L, ces(32767) app-dn $ role(role-param[, role-param]..)[; role(role-param)].. Die Schreibweise [Delimiter Token].. bedeutet, dass Token mehrfach wieder holt werden kann, wenn es durch Delimiter getrennt ist. app-dn is ein dn in kanonisierter Schreibweise. gvApplId=ZMR, ou=Applications,gvOuId=AT:b:164, dc=gv, dc=at $ zmr-behoerdenanfrage(GKZ=10101, GKZ=10103); zmr-fremdenbehoerdenanfrage(GKZ=10100) gvParticipantOuId gvOuId der zugriffsberechtigten Stelle (kein dn!) cis(32) gvUserPassword Benutzerpasswort. ces Verwendung: Anmeldung am Portal Syntax: plaintext-password | „{x-sha-1:b64}“ excryptedpassword in base64-Darstellung Ist das Passwort unverschlüsselt gespeichert, so muss das Passwort beim nächsten Login geändert werden. (Initialpasswort) preferredLanguage Für Registratur von Personen: Bevorzugte Sprache als ISO 639-1 Code (de=Deutsch, en=Englisch, fr=Französisch, jv=Javanisch, …) Default=de ia5 gvPasswordRetry Count Anzahl der Fehleingaben bei der Passwort-Authentifizierung. int gvAdditionalName Für Registratur von Personen ohne gvOrgUnit: Firmen- oder Organisationsbezeichnung. ces gvAccountLocked Zum Sperren eines Accounts. Ist ein Account gesperrt, so sind für das Konto keine Anmeldungen mehr möglich. Wird vom Portal gesetzt, wenn ein Account zu lange nicht benutzt wurde. (siehe auch gvPortal.gvMaxDaysWithoutLogin) bool ldap.gv.at Teil 2 – V 1.21 Zweck: Password Policy (Stammportal) - 2006-03-09 Seite 19/30 Zur A nzeige wird der QuickTi me™ Dekompressor „T I FF (LZW)“ benöti gt. Datenmodell Teil 2 gvSecClass administrative Sicherheitsklasse des Systems int(1) gvExtensionItem Siehe gvApplication L, cis(1024) 5.6. gvSystem System Principal. Ein System Principal ist im Gegensatz zu einer Person ein Prozess oder ein System, kann sich aber dennoch authentifizieren und kann berechtigt sein. Im Stammportal können Anwendungen so Credentials und Rechte erhalten, die nicht eindeutig auf einen Endbenutzer zurückführbar sind. dn: cn=.., ou=Systems,.. (dn: [email protected],ou=Systems,gvOuId=AT:b:164,dc=gv,dc=at) Attribut Beschreibung (Beispiel) Eigenschaft cn Bezeichnung des System-Principals in der Form Anwendung.Subsystem@domain ([email protected]) M, L, cis(64) uid Innerhalb der Domäne eindeutige abgekürzte Bezeichnung des System-Principals in der Form Anwendung.Subsystem + Domain-Suffix im RFC822-Format ([email protected]) ces gvOuId gvOuId (Org-ID) der Organisationseinheit, die für das System datenschutzrechtlich verantwortlich ist (kein dn) (gvOuId= AT:l9:9876) cis(32) gvUserPassword Entsprechend gvPrincipal ces gvRights Entsprechend gvPrincipal L, gvSecClass administrative Sicherheitsklasse des Systems int(1) gvParticipantOuId gvOuId der zugriffsberechtigten Stelle (kein dn) cis(32) description Entsprechend gvOrgPerson cis(1024) gvExtensionItem Siehe gvApplication L, cis(1024) 5.7. gvUserPortal ces(32767) User Portal (Stammportal) Definiert für das Anwendungsportal eine Stammportalinstanz mit zugehörigen Zertifikaten und Berechtigungen dn: cn=..,ou=Portal,.. (dn: [email protected],ou=Portal,gvOuId=AT:b:164,dc=gv,dc=at) Attribut Beschreibung (Beispiel) Eigenschaft cn Eindeutige Bezeichnung des Stammportals. Aufbau analog zu gvSystem. (z.B: [email protected]) M, L, cis(64) ldap.gv.at Teil 2 – V 1.21 - 2006-03-09 Seite 20/30 Zur A nzeige wird der QuickTi me™ Dekompressor „T I FF (LZW)“ benöti gt. Datenmodell Teil 2 gvParticipants Liste der zugriffsberechtigten Stelle (gvOrganisation), die das Stammportal benutzen, als OrgID L, cis(32) gvDefaultParticipant DN des Organisationseintrags der zugriffsberechtigten Stelle des Stammportals als OrgID, wenn nur eine defniert ist (für Zugriffe mit PVP-Version vor 1.8) cis(32) Ab PVP 1.8 muss die zugriffsberechtigte Stelle durch den PVP Parameter participantId explizit angegeben werden. Zweck: Kompatibilität zu PVP 1.7. description Entsprechend gvOrgPerson cis(1024) gvExtensionItem Siehe gvApplication L, cis(1024) Wird von Anwendungsportalen verwendet und repräsentiert ein Stammportal. Instanzen dieser neuen Objektklasse solle unterhalb der neu eingeführten OrganizationalUnit (ou=Portal) geführt werden ldap.gv.at Teil 2 – V 1.21 - 2006-03-09 Seite 21/30 Zur A nzeige wird der QuickTi me™ Dekompressor „T I FF (LZW)“ benöti gt. Datenmodell Teil 2 5.8. gvX509Certificate Auf die Verwendung der Klassen x509base, definiert in [crl-schema] und x509PKC, definiert in [pkcschema] wurde verzichtet, da die Verwendung eines x509issuer mit der distinguished-name Syntax bei LDAP-Servern mit Prüfung der referentiellen Integrität dazu führt, dass umfangreiche Strukturen aufgebaut werden müssen. Weiters wird vermieden, dass ein Issuer im RDN zur Verwendung eines geschachtelten DN führt, was in LDAP komplex und bei einer SQL-Implementierung erst recht nicht trivial ist. Um das Problem zu umgehen, wird der Issuer in einer kanonisierten Form als String verwendet. Dazu wird die allgemeine Regel für die Kanonisierung von DN-Attribute in ldap.gv.at verwendet, und das Resultat dann im Attribut gvX509IssuerCanonical gepeichert. x509PKC wird um die Auxiliary Class gvX509CertExtension erweitert, um den DN zu bilden: gvX509Certificate Zertifikate dn: x509SerialNumber=..+gvX509IssuerDns=..,cn=..,ou=Portal,.. (dn: x509SerialNumber=123+gvX509IssuerDns=Class2PublicPrimaryCA.verisign.com,[email protected],ou=Por tal,gvOuId=AT:b:164,dc=gv,dc=at) Attribut Beschreibung (Beispiel) Eigenschaft X509SerialNumber 1.3.6.1.4.1.10126.1.5.3.2 M, int X509IssuerDnsName 1.3.6.1.4.1.10126.1.5.3.24 M, IA5(76) Dieser Wert dient als Teil des dn dazu für ein Zertifikat einen eindeutigen RDN zu erzeugen. Im Gegensatz zu gvX509IssuerCanonical gibt es mit diesem Attribut Probleme mit Längenbeschränkungen bei manchen Server-Implementierungen gvX509IssuerCanonical Kanonisierte Form von x509Issuer M, cis(1024) x509validityNotBefore 1.3.6.1.4.1.10126.1.5.3.5 x509validityNotAfter 1.3.6.1.4.1.10126.1.5.3.6 x509FullcRLDistributio nPointURI 1.3.6.1.4.1.10126.1.5.3.32 x509userCert 1.3.6.1.4.1.10126.1.5.4.76 x509subject 1.3.6.1.4.1.10126.1.5.3.7 x509keyUsage 1.3.6.1.4.1.10126.1.5.3.15 "digitalSignature" / "nonRepudiation" / "keyEncipherment" / "dataEncipherment" / "keyAgreement" / "keyCertSign" / „cRLSign" / "encipherOnly" / "decipherOnly" x509subjectDnsName 1.3.6.1.4.1.10126.1.5.3.18 (Internet domain name of the entity associated with this public-key) x509extKeyUsage 1.3.6.1.4.1.10126.1.5.3.30 ldap.gv.at Teil 2 – V 1.21 - 2006-03-09 Seite 22/30 Zur A nzeige wird der QuickTi me™ Dekompressor „T I FF (LZW)“ benöti gt. Datenmodell Teil 2 5.9. gvX509CaCertificate Klasse um die Referenzen in gvX509Certificate.x509issuerDns zu prüfen. Ableitung von gvX509Certificate Attribut Beschreibung (Beispiel) Eigenschaft Status: Die genaue Implementierung ist noch nicht diskutiert (Zertifikatsketten, Ableitung von gvX509Certificate, ..) ldap.gv.at Teil 2 – V 1.21 - 2006-03-09 Seite 23/30 Zur A nzeige wird der QuickTi me™ Dekompressor „T I FF (LZW)“ benöti gt. 6. Datenmodell Teil 2 LDAP-Schema in formaler Syntax 6.1. Attribute Match: = bedeutet EQUALITY, sub SUBSTRING, cim CaseInsensitiveMatch, dnm DistinguishedNameMatch, cem CaseExactMatch, int IntegerMatch OID Name Syntax Match 1.2.40.0.10.2.1.1.99 gvAccountLocked Boolean = BooleanMatch 1.2.40.0.10.2.1.1.75 gvAdditionalName Directory String = cim 1.2.40.0.10.2.1.1.23 gvAppAdmin Directory String = cim 1.2.40.0.10.2.1.1.23 gvAppAdmin DN =dnm 1.2.40.0.10.2.1.1.105 gvApplicationReference DN =dnm 1.2.40.0.10.2.1.1.25 gvApplId Directory String = cim 1.2.40.0.10.2.1.1.27 gvAppOwner DN =dnm 1.2.40.0.10.2.1.1.29 gvAppTechContact DN =dnm 1.2.40.0.10.2.1.1.31 gvBanner Directory String = cim 1.2.40.0.10.2.1.1.133 gvDefaultParticipant DN =dnm 1.2.40.0.10.2.1.1.77 gvIdentityLink Directory String = cim 1.2.40.0.10.2.1.1.129 gvIdleTimeOut Directory String = ces 1.2.40.0.10.2.1.1.83 gvLastLogin Generalized Time 1.2.40.0.10.2.1.1.119 gvLockedAccounts Directory String 1.2.40.0.10.2.1.1.101 gvMaxConcurrentRequests Integer = Integer Match 1.2.40.0.10.2.1.1.127 gvMaxDaysWithoutLogin Integer = Integer Match 1.2.40.0.10.2.1.1.135 gvMaxRights Directory String = ces 1.2.40.0.10.2.1.1.79 gvOpenWindow Directory String = cem 1.2.40.0.10.2.1.1.81 gvOpenWindowJavaScript Directory String = cim 1.2.40.0.10.2.1.1.71 gvParticipantOuId Directory String = cim 1.2.40.0.10.2.1.1.131 gvParticipants DN =dnm 1.2.40.0.10.2.1.1.109 gvPasswordCheckTrivial Boolean = BooleanMatch 1.2.40.0.10.2.1.1.93 gvPasswordExp Boolean = BooleanMatch 1.2.40.0.10.2.1.1.97 gvPasswordExpirationTime Generalized Time 1.2.40.0.10.2.1.1.95 gvPasswordHistory Directory String 1.2.40.0.10.2.1.1.85 gvPasswordLocked Boolean =Boolean Match 1.2.40.0.10.2.1.1.91 gvPasswordMaxAge Integer = Integer Match 1.2.40.0.10.2.1.1.121 gvPasswordMinLength Integer = Integer Match 1.2.40.0.10.2.1.1.137 gvPasswordMaxRetryCount Integer = Integer Match 1.2.40.0.10.2.1.1.89 gvPasswordMustChange Boolean = BooleanMatch ldap.gv.at Teil 2 – V 1.21 - 2006-03-09 = generalized Time Match = ces = generalized Time Match = cem Seite 24/30 Zur A nzeige wird der QuickTi me™ Dekompressor „T I FF (LZW)“ benöti gt. Datenmodell Teil 2 OID Name Syntax Match 1.2.40.0.10.2.1.1.123 gvPasswordRequiredToken Directory String 1.2.40.0.10.2.1.1.125 gvPasswordRequiredTokenMin Integer = Integer Match 1.2.40.0.10.2.1.1.113 gvPasswordRetryCount Integer = Integer Match 1.2.40.0.10.2.1.1.111 gvPasswordReuseTime Integer = Integer Match 1.2.40.0.10.2.1.1.103 gvRightParameters Directory String = cis 1.2.40.0.10.2.1.1.87 gvRoleSyntax Directory String = ces 1.2.40.0.10.2.1.1.49 gvUrl Directory String = cem 1.2.40.0.10.2.1.1.69 gvUrlMapping Directory String = cem 1.2.40.0.10.2.1.1.73 gvUserPassword Directory String = cem 1.2.40.0.10.2.1.1.107 gvX509issuerDirectoryName DN =dnm 1.2.40.0.10.2.1.1.139 gvX509issuerCanonicalList Directory String = cis 1.2.40.0.10.2.1.1.141 gvX509IssuerCanonical Directory String = cis 1.2.40.0.10.2.1.1.143 gvParametersKeyValue Directory String = cis 1.2.40.0.10.2.1.1.145 gvApplicationStatus Directory String = cis 1.2.40.0.10.2.1.1.147 gvDecommissionDate Generalized Time 1.2.40.0.10.2.1.1.149 gvbPK Directory String = cem 1.2.40.0.10.2.1.1.151 gvOPK Directory String = cem 1.2.40.0.10.2.1.1.153 gvOuVKZ Directory String = cis 1.2.40.0.10.2.1.1.155 gvHideMenuitem Boolean 1.2.40.0.10.2.1.1.157 gvExtensionItem Directory String = ces = generalized Time Match = BooleanMatch = cis Klassen gvPrincipal 1.2.40.0.10.2.1.0.9 gvAdminExtention 1.2.40.0.10.2.1.0.10 gvApplicationProxy 1.2.40.0.10.2.1.0.12 gvApplication 1.2.40.0.10.2.1.0.3 ldap.gv.at Teil 2 – V 1.21 AUXILIARY MAY (gvPasswordMustChange $ gvPasswordExp $ gvPasswordHistory $ gvPasswordExpirationTime $ gvLastLogin $ gvPasswordLocked $ gvRights $ gvSecClass $ gvParticipantOuId $ gvUserPassword $ preferredLanguage $ gvAdditionalName $ gvIdentityLink $ gvPasswordRetryCount $ gvAccountLocked $ gvExtensionItem) AUXILIARY MUST ( gvStatus $ gvSource $ gvScope ) SUP top STRUCTURAL MUST ( cn ) MAY (gvApplicationReference $ gvURL $ gvUrlMapping $ gvOpenWindow $ gvOpenWindowJavaScript $ gvHideMenuitem $ gvExtensionItem) SUP top STRUCTURAL MUST (gvApplId $ cn ) MAY (gvURL $ gvUrlMapping $ description $ gvBanner $ gvAppOwner $ gvAppTechContact $ gvAppAdmin $ jpegPhoto $ gvMaxConcurrentRequests $ gvApplicationStatus $ gvDecommissionDate $ gvExtensionItem) - 2006-03-09 Seite 25/30 Zur A nzeige wird der QuickTi me™ Dekompressor „T I FF (LZW)“ benöti gt. gvApplicationRight 1.2.40.0.10.2.1.0.3 gvUserPortal 1.2.40.0.10.2.1.0.13 gvParticipant 1.2.40.0.10.2.1.0.14 gvSystem 1.2.40.0.10.2.1.0.15 gvX509Certificate 1.2.40.0.10.2.1.0.18 ldap.gv.at Teil 2 – V 1.21 Datenmodell Teil 2 SUP top STRUCTURAL MUST (gvApplId $ cn ) MAY (gvSecClass $ gvRoleSyntax $ description $ gvRightParameters $ gvDecommissionDate $ uniqueMember $ gvExtensionItem) SUP top STRUCTURAL MUST ( cn ) MAY (gvParticipants $ gvDefaultParticipant $ description $ gvExtensionItem) SUP top STRUCTURAL MUST ( cn $ gvOuId ) MAY (gvMaxRights $ description $ gvExtensionItem) SUP top STRUCTURAL MUST ( cn ) MAY (uid $ gvOuId $ gvUserPassword $ gvRights $ gvSecClass $ gvParticipantOuId $ description $ gvExtensionItem) SUP Top STRUCTURAL MUST ( x509serialNumber $ x509issuerDnsName $ gvX509IssuerCanonical ) MAY ( x509subject x509validityNotBefore $ x509validityNotAfter $ x509FullcRLDistributionPointURI $ x509keyUsage $ x509subjectDnsName $ x509extKeyUsage $ x509userCert) - 2006-03-09 Seite 26/30 Zur A nzeige wird der QuickTi me™ Dekompressor „T I FF (LZW)“ benöti gt. Datenmodell Teil 2 B. Referenzen [crl-schema] http://www.ietf.org/proceedings/03jul/I-D/draft-ietf-pkix-ldap-crl-schema-01.txt [pkc-schema] http://www.rediris.es/ldap/doc/draft-klasen-ldap-x509certificate-schema-03.txt [pvp] Portal Verbund Protokoll; http://reference.e-government.gv.at (Portalverbund, Veröffentlichte Entwürfe, Portalverbundprotokoll) Aktuelle Version: pvp 1.8.9 - Version vom 31.07.2004 [SecClass] http://reference.e-government.gv.at (Portalverbund, Veröffentlichte Entwürfe, Sicherheitsklassen) Aktuelle Version: http://reference.e-government.gv.at/uploads/media/SecClassV1-0-0.pdf [Architektur Standardportal] https://w4.wien.gv.at/Groups/externe/e-government/kommarch/pvp .. /stdpor/spezifikation/architektur_standard (limitier Zugriff) C. Historie Version 0.87 Gliederung in Teil 2 + 3 Überarbeitung der Einleitung Objektklasse gvUserRestriction in gvRightParameter umbenannt, Attribut gvRegionalRestriction in gvParameterKeyValue umbenannt Beispielewerte von Attribute mit dem Typ dn so geändert, dass die Referenz nicht redundant ist, etwa: gvOuId=AT:l9:1508,dc=gv,dc=at statt dc=magWien,gvOuId=AT:l9:1508,dc=gv,dc=at gvSecClass von gvOrgPerson zu gvPrincipal gvSecClass in gvApplication entfernt gvPassowordPaxAge von gvPrincipal zu gvPortal gvApplication um gvApplicationStatus, gvDecommisionDate erweitert gvApplication um gvDecommisionDate erweitert Logisches Model eingefügt Version 0.88 gvPortal: Attribut gvX509issuerDirectioryName -> gvX509issuer, Syntax: ces x509PKC erhält Auxiliary Class gvX509CertExtension, um DN zu bilden, ohne DN zu schachteln ldap.gv.at Teil 2 – V 1.21 - 2006-03-09 Seite 27/30 Zur A nzeige wird der QuickTi me™ Dekompressor „T I FF (LZW)“ benöti gt. Datenmodell Teil 2 gvPortal Eintrag ist kein Singelton, sondern wird in der PEP-Konfig definiert und existiert pro Portal. -> CN ist nicht fix gvPortal wird getrennt in gvConfigUserPortal und gvConfigApplicationPortal Kanonisierung korrigiert Version 0.89 x509PKC durch gvX509Certificate ersetzt Version 0.90 gvX509Certificate: Attribut x509IssuerDn ergänzt und als Teil des RDN definiert, um die Längenbeschränkung von 76 Zeichen m RDN i e-Directory zu umgehen. Version 0.94 gvRightParameters kein Listenfeld, Länge definiert Version 0.95 UML-Schema korrigiert Version 0.96 Beschreibung gvParticipant.gvMaxRights erweitert Referenz auf PVP Spezifikation hinzugefügt gvApplicationProxy.gvURL; Änderung der Beschreibung, relative URI´s sind ebenfalls erlaubt Version 0.96.1 Beschreibung gvConfigUserPortal.gvVhostTrustLevel geändert. Der dn des levels "trusted" referenziert ein gvSystem und kein gvUserPortal. Version 0.97 - gvUserPortalConfig und gvAppPortalConfig entfernt - RDN bei gvX509Certificate auf combined (serial + issuer) geändert - DN-Struktur geändert: statt dc=xxx+gvOuId=yyy,dc=gv,dc=at nur gvOuId=yyy,dc=gv,dc=at Version 0.99 - Inhaltliche Redefinition von gvPasswordRetryCount - gvParticipant und gvDefaultParticipant: Typ von dn auf cis(32) geändert, damit statt dem DN eine OrgID enthalten ist. Dadurch wird das Attribut konsistent mit gvOrgPerson.gvOuId etc. - gvApplicationProxy.gvApplication auf gvApplicationProxy.gvApplicationReference umbenannt, um nicht je ein Attribut und Objekt mit gleichem Namen zu haben. - zusätzliche Attribute gvApplication.gvHideMenuitem und gvExtensionItem definiert Version 0.99.2 gvIdentitiyLink entfernt, Diskussion wird auf später verschoben ldap.gv.at Teil 2 – V 1.21 - 2006-03-09 Seite 28/30 Zur A nzeige wird der QuickTi me™ Dekompressor „T I FF (LZW)“ benöti gt. Datenmodell Teil 2 Änderungswünsche für Teil 1 entfernt ldap.gv.at Teil 2 – V 1.21 - 2006-03-09 Seite 29/30 Zur A nzeige wird der QuickTi me™ Dekompressor „T I FF (LZW)“ benöti gt. Datenmodell Teil 2 Version 1.01 - Beschreibung X509IssuerDnsName ergänzt - Beschreibung gvParticipant.gvMaxRights geändert - gvApplicationRight.gvRightParameters in Teil 3 verschoben. Version 1.02 - Teil 3 aus dem dokument entfernt - Base64-Codierung bei gvUserPassoword ergänzt Version 1.21 - Änderung der Beschreibung von GvParticipant.gvMaxRights und GvApplicationRight.gvRoleSyntax ldap.gv.at Teil 2 – V 1.21 - 2006-03-09 Seite 30/30