300 likes | 423 Views
Zugriffschutz in ASAM ODS. ATHOS Benutzertreffen 2005 Glashütten 16. Juni 2005 Andreas Hofmann andreas.hofmann@highqsoft.de www.highqsoft.de / www.highqsoft.com. Zugriffschutz in ASAM ODS. Themen Authentisierung Zugriffschutzebene Rechte Neue Instanzen anlegen
E N D
Zugriffschutz in ASAM ODS ATHOS Benutzertreffen 2005 Glashütten 16. Juni 2005 Andreas Hofmann andreas.hofmann@highqsoft.de www.highqsoft.de / www.highqsoft.com
Zugriffschutz in ASAM ODS Themen • Authentisierung • Zugriffschutzebene • Rechte • Neue Instanzen anlegen • Anforderungen an Modell Erstellung
Zugriffschutz in ASAM ODS Authentisierung USERNAME/PASSWORD Prüfung in OO_API: AoSession aoSession = aofObj.newSession(„USERNAME=ich, PASSWORD=geheim“); Server gibt unter folgenden Bedingungen ein Session Objekt zurück: • Ist eine Instanz von AoUser mit Name „ich“ vorhanden ? • Ist die MD5-Kodierung des Passworts „geheim“ identisch mit dem Passwort der AoUser Instanz?
Zugriffschutz in ASAM ODS Authentisierung Ein Passwort wird via der API Methode des Session Objektes gesetzt: aoSession.setPassword(„ich“, „vergessen“, „geheim“); // username = „ich“ // oldPassword = „vergessen“ // newPassword = „geheim“ Superuser braucht ‚oldPassword‘ nicht zu setzen.
Zugriffschutz in ASAM ODS Unter Verwendung des AsamCommander SecurityAdmin-Plugin kann man das Passwort ändern.
Zugriffschutz in ASAM ODS Authentisierung ASAM ODS spezifiziert keine Vorgehensweise für ein Single-Login. HighQSoft Lösung: Plugin für newSession von AoFactory Interface. Dieses nimmt Verbindung zum kundenspezifischen Authentisierungssystem (z.B. LDAP) und erfragt ASAM ODS Login anhand des Client Zertifikats.
Zugriffschutz in ASAM ODS Authentisierung Client Avalon Plugin ASAM-ODSDatabase LDAP- Server User- Database
Zugriffschutz in ASAM ODS Authentisierung: Client Anmeldung Client Avalon Zertifikat Plugin login „Zertifikat=xyz...“ ASAM-ODSDatabase LDAP- Server User- Database
Zugriffschutz in ASAM ODS Authentisierung: Client login an Avalon Client Avalon newSession(„Zertifikat=xyz...“) Zertifikat Plugin ASAM-ODSDatabase LDAP- Server User- Database
Zugriffschutz in ASAM ODS Authentisierung: Avalon ruft Plugin Client Avalon „Zertifikat=xyz...“ *1 Zertifikat Plugin „Zertifikat=xyz...“ ASAM-ODSDatabase LDAP- Server „USERNAME=ich,PASSWORD=geheim“ *1 newSession(USERNAME=ich, PASSWORD=geheim“ User- Database
Zugriffschutz in ASAM ODS Authentisierung: Avalon prüft Authentisierung Client Avalon AoSession aoSession Zertifikat AoUser.name=„ich“ password=MD5(„geheim“) OK Plugin ASAM-ODSDatabase LDAP- Server User- Database
Zugriffschutz in ASAM ODS Zugriffschutzebene In ASAM ODS sind vier verschiedene Zugriffsschutz - Ebenen spezifiziert. • Keine Zugriffsschutz • Element Zugriffsschutz • Attribut Zugriffsschutz • Instanz Zugriffsschutz Es sind Kombinationen von Element, Attribute und Instanz Schutz möglich.
Attribute Instanzen Zugriffschutz in ASAM ODS Zugriffschutzebene: Keine Element mit Instanzen
Attribute Instanzen Zugriffschutz in ASAM ODS Zugriffschutzebene: Element Element mit Instanzen
Attribute Instanzen Zugriffschutz in ASAM ODS Zugriffschutzebene: Attribute Element mit Instanzen
Attribute Instanzen Zugriffschutz in ASAM ODS Zugriffschutzebene: Instanz Element mit Instanzen
Zugriffschutz in ASAM ODS Zugriffschutzebene lässt sich im AsamCommander für jedes Applikationselement festlegen.
Zugriffschutz in ASAM ODS Rechte ASAM ODS spezifiziert verschiedene Rechte: • READ, Recht zu Lesen • INSERT, Recht neue Instanzen einzufügen • UPDATE, Recht zu Ändern • DELETE, Recht zu Löschen • GRANT, Recht zur Vergabe von Rechten Die Kombination von Rechten ist möglich
Zugriffschutz in ASAM ODS Rechte • Sobald Zugriffschutz definiert ist, gibt es kein Zugriff ohne Rechte. • Rechte werden an AoUserGroup Instanzen vergeben. • Instanzen ohne Zugriffschutz erben den Zugriffschutz des Vaters. • Nur Superuser hat Zugriff auf alle Instanzen, auch auf die ohne Rechte.
Zugriffschutz in ASAM ODS Neue Instanzen anlegen • Neu angelegte Instanzen haben keine Rechte. Kein Zugriff auf neu angelegte Instanzen. • ASAM ODS Lösung: INITIAL Rechte
Zugriffschutz in ASAM ODS INITIAL Rechte neuer Instanzen werden alternativ über die folgenden Mechanismen bezogen: • Von Client gesetzte Initialrechte OO_API: aoSession.setCurrentInitialRights(irList, 1); • Initial Rechte von einer Instanzbeziehung über InitialRightRelation • Initial Rechte vom Applicationselement • Rechte von Vater-Instanz. • Keine Rechte
Zugriffschutz in ASAM ODS InitialRightRelation Teil eines Beispiel-Applikationsmodell
Zugriffschutz in ASAM ODS InitialRightRelation Beispiel: Rechte von neuen Instanzen von Measurement werden von referenzierter Instanz von TestBed bestimmt. Notwendig: Beim Applikationselement Measurement muss dieses Referenzattribute als InitialRightRelation ausgewiesen sein.
Zugriffschutz in ASAM ODS InitialRightRelation
Zugriffschutz in ASAM ODS Initialrechte der Testbed „A9“
Zugriffschutz in ASAM ODS Zugriffsrechte der Messung Instanz „AB12“
Zugriffschutz in ASAM ODS Anforderungen an Modell Erstellung • AoUser und AoUserGroup müssen im Modell vorhanden sein. • Es muss mindestens eine Instanz von AoUser und AoUserGroup anlegt werden. • Eine Instanz von AoUserGroup muss als Superuser ausgewiesen werden. • Es muss mindestens eine Benutzer in der Gruppe der Superuser enthalten sein.
Zugriffschutz in ASAM ODS Anforderungen an Modell Erstellung • Festlegung der Zugriffschutzebene für jedes Applikationselement. • Für Applikationselemente mit dem Zugriffschutz INSTANCE, muss festlegt werden, wie die Initial Rechte vergeben werden. • Für die Initial Rechte müssen u.U. spezielle Applikationselemente und Relationen zum Modell hinzufügt werden. • Benutzergruppe müssen dem Umfeld entsprechend definiert werden. Über die Aufgabenverteilung werden dann die Rechte dieser Gruppen definiert.