300 likes | 513 Views
Identity Management an der Universität Mainz. Carsten Allendörfer Zentrum für Datenverarbeitung Johannes Gutenberg-Universität Mainz. Inhalt. Rückblick Alte Benutzerverwaltung von NT4/Unix/Oracle Probleme, Wunschvorstellung Active Directory Benutzerverwaltung Unixintegration
E N D
Identity Management an der Universität Mainz Carsten Allendörfer Zentrum für Datenverarbeitung Johannes Gutenberg-Universität Mainz
Inhalt • Rückblick • Alte Benutzerverwaltung von NT4/Unix/Oracle • Probleme, Wunschvorstellung • Active Directory Benutzerverwaltung • Unixintegration • Metadirectory • für was? • Demos C. Allendörfer, ZDV Uni-Mainz
Alte Benutzerverwaltung • Eingesetzt für NT4, Unix (yp) • implementiert als WWW-Seite mit Daten in Oracle-DB • alle Aktionen werden im Moment der Eingabe in die Datenbank sofort auf NT4 und im YP durchgeführt • Passwortsynchronisierung über WWW-Seite • Push-Verfahren C. Allendörfer, ZDV Uni-Mainz
Probleme der alten BV • Push-Verfahren • Rollback von Transaktionen • Probleme bei Ausfall eines der Systeme • keine Delegationsmöglichkeit ! • Passwortsynchronisierung unzuverlässig, umständlich für die Benutzer C. Allendörfer, ZDV Uni-Mainz
Wunschvorstellung • Nur ein zentrales Verzeichnis • Alle „Systeme“ gleichen regelmäßig den Ist-Zustand mit dem Soll-Zustand ab und passen sich entsprechend an. • Nicht umsetzbar ! • NetApp Homedirs • Abgleich teilweise nicht möglich (Rename) C. Allendörfer, ZDV Uni-Mainz
Active Directory BV • Anforderungen: • Alle Daten sollen nur an einer Stelle gespeichert und verwaltet werden. • Passwort nur an einer Stelle gespeichert • Delegation von einzelnen Aufgaben an FB oder Institute soll möglich sein. • Folgerungen: • Kerberos muss von allen Systemen genutzt werden. • LDAP nutzen - falls möglich, sonst Export. C. Allendörfer, ZDV Uni-Mainz
Problem: Delegation • Beispiel: FB-Admin hat folgende Rechte: • CCDC User (Create) • RPWP firstname, lastname, title (read/write property) • Attribute sAMAccountName, uidnumber, mail werden automatisch ausgefüllt • FB-Admin legt Benutzeraccount an. • Einstellung erlaubt nur die Änderung der delegierten Attribute • aber: Änderung der ACL ist möglich, damit auch die Änderung von allen Attributen. C. Allendörfer, ZDV Uni-Mainz
Lösung: Delegation • CreateObjectService, Aufgaben: • Umwandlung von Objekten vom Typ RequestNewUser, RequestNewGroup, RequestNewOU in User, Group, bzw. OU • RequestObjekte haben nur wenige Attribute wie Name, Vorname, Accountname. • Syntaxprüfung vor Einrichtung des eigentlichen Objekts. • Serialisierung • Delegierte Rechte an User, Group und OU können nicht überschritten werden • Protokollierung C. Allendörfer, ZDV Uni-Mainz
Lösung: Delegation • Nachteil: • Quotas im AD (ab Windows 2003) können nicht genutzt werden, dadurch DoS-Angriff möglich. • falls notwendig, dann eigene Verwaltung in CreateObjectService C. Allendörfer, ZDV Uni-Mainz
Komponenten der ADBV • Request Objekte • bearbeitet von RequestNewObject • Request(User/Group/OU)-* Attribute • werden vom Dispatcher in Startwerte für Workflows umgewandelt • teils für OU Admins schreibbar • ADBV-* Dienste, die Einzelschritte der Benutzerverwaltung implementieren, z.B. • User sperren • Mailaccount anlegen C. Allendörfer, ZDV Uni-Mainz
ADBV Workflow Beispiel 1 • UserMARequestFull • ADBVUserSyntaxCheck • ADBVUserDisable • ADBVUserMailWinCreate • ADBVUserUIDCreate • ADBVUserPrintAccountCreate • ADBVUserHomeDirCreate • ADBVUserProfileCreate • ADBVUserEnable C. Allendörfer, ZDV Uni-Mainz
ADBV Workflow Beispiel 2 • UserLDRequestFull • ADBVUserSyntaxCheck • ADBVUserDisable • ADBVUserUIDCreate • ADBVUserPrintAccountCreate • ADBVUserEnable C. Allendörfer, ZDV Uni-Mainz
ADBV Useranlegen Active Directory Uni-Mainz.DE Request NewUser User suchen Request Req. del Create Object Service anlegen Findet 31050 Löscht Workflow Sucht 11080, 21090, 31050 User Sucht User mit RequestFull Setzt Workflow auf 31000 Dis- patcher Request Findet 31000 Sucht 11000, 21000, 31000 Setzt Workflow auf 31010 Syntax Check Sucht 11010, 21010, 31010 Findet 31010 Setzt Workflow auf 31020 Disable Setzt Workflow auf 31030 Findet 31020 Sucht 11020, 31020 User UID Create Findet 31030 Setzt Workflow auf 31040 Sucht 21030, 31030 Print Account Create Sucht 11040, 21040, 31040 Findet 31040 Setzt Workflow auf 31050 Enable C. Allendörfer, ZDV Uni-Mainz
ADBV-Dienste • Jeder Service liest seine Konfiguration aus dem AD aus – teils global, teils von OU abhängig. • 4 Accounttypen: • Mitarbeiter • Studierender • Nur Login • Nur Login und Druckkonto • Workflows für Gruppen und OUs • Erweiterung sehr einfach im laufenden Betrieb möglich C. Allendörfer, ZDV Uni-Mainz
Datenimport • Studierende: • Abgleich über Textdatei • werden zunächst normale Accounts, bei Freischaltung wird ADBVRequestFull gesetzt • Mitarbeiteracconts • Antrag über WWW-Formular, erzeugt RequestObject, das nicht umgewandelt wird • Umwandlung kann durch ZDV oder OU Admin gestartet werden. C. Allendörfer, ZDV Uni-Mainz
Unixintegration • YP Tabellen werden durch Export aus AD erzeugt. • Solaris kann AD (aLDAP/Krb5) statt YP nutzen • MIT Kerberos zur Authentisierung • Heimdal inzwischen auch • Probleme bei Windows 2003 Umstellung • UDP/TCP • für NFSv4 auch Tickets unter Unix notwendig • Problem: Computeraccounts C. Allendörfer, ZDV Uni-Mainz
Metadirectory • ADBV kann alle Delegations- und Administrationsaufgaben erfüllen • Zusatznutzen: • Synchronisierung mit nicht LDAP-aware Applikationen • Synchronisierung von Teildaten zu FB Datenbanken • MetaDirectory kann mit bestehender ABDV zusammenarbeiten • Tests Anfang 2003, MIIS Ende 2003 gekauft. C. Allendörfer, ZDV Uni-Mainz
MIIS Konzept (MS) MIIS MV • Connected Data Source (CD) • Any source and/or destination containing identity data • Management Agent (MA) • Facilitates the communication between MIIS and the CD • Connector Space (CS) • Staging area for inbound or outbound synchronized attributes • Metaverse (MV) • Central (SQL) store of identity information • Matching CS entries to a single MV entry is called “join” CS CD MA C. Allendörfer, ZDV Uni-Mainz
Metadirectory Konzept • Eigene Ergänzungen: • keine Hierarchie C. Allendörfer, ZDV Uni-Mainz
Metadirectory Connectors • Active Directory 2000/2003 • Exchange 2000/2003 • ADAM • SunOne Directory (iPlanet) • SQL • Oracle • DSML 2.0 • LDAP Directory Interchange Format (LDIF) • Delimited Text • Fixed-Width Text • Attribute-Value Pair Text • NT4 • Exchange 5.5 • Lotus Notes 4.6 and 5.0 • Novell eDirectory 8.62/8.7 C. Allendörfer, ZDV Uni-Mainz
Metadirectory Connectors • Updates in 2004: • IBM DB2 MA • OS/390, AS/400, NT, Unix • IBM Directory Server • Corporate MA Development Kit • Simple XML • Generic LDAPv3 MA Kit C. Allendörfer, ZDV Uni-Mainz
State- vs. Event- based (MS) • State-based systems are more robust • Storing state information means the system knows what to expect on the connected system • The system can respond if things go wrong • Event-based systems can be quicker to respond • Events fire in response to changes in systems, but… • …events can get lost • MIIS provides the “best of both” • Our state based approach allows us to take a pessimistic view of connected system uptime/connectivity • Our architecture allows high flexibility • Runs can be controlled via schedules, events via WMI, etc. • System can process only changes in the connected systems • Microsoft OTG runs 1500-2000 runs per day C. Allendörfer, ZDV Uni-Mainz
Scenarios (MS) • Hire Scenario • Fire Scenario • Join Scenario • Identity Data Aggregation • Identity Data Brokering (Identity Convergence) • Identity Data Integrity Enforcement C. Allendörfer, ZDV Uni-Mainz
Polyarchy (MS) C. Allendörfer, ZDV Uni-Mainz
Demo • Datenquellen: • Windows 2003 AD • Telefondatenbank • (TelefonNr, Vorname, Nachname, Anzeigename, eMail) • Personaldatenbank • (PersonalNr, Vorname, Nachname, Titel) • Ziele: • AD, Telefon- und Personaldatenbank importieren und Objekte verbinden • Telefonnummer und Titel in AD Exportieren C. Allendörfer, ZDV Uni-Mainz
Demo AD MA • Installation MIIS • Service läuft als User „miis“ • MetaVerse Schema bearbeiten bzw. laden • AD MA aufsetzen • Rechte im AD einstellen • User „miis“ zum Zugriff auf AD • Container nur „OU=User,DC=Uni-Mainz,DC=DE“ • Attribute: cn, comment, displayName, givenName, mail, name, ou, sAMAccountName, sn, telephoneNumber, title • Attributmapping: … • AD Run Profile Full Import and Sync C. Allendörfer, ZDV Uni-Mainz
Demo TelefonDB MA • Telefon DB MA aufsetzen, • User „miis“ zum Zugriff auf DB • Join an Mailadresse (eMail -> mail) • Attributmapping: TelefonNr -> telephoneNumber • Run Profile definieren und ausführen C. Allendörfer, ZDV Uni-Mainz
Demo PersonalDB MA • PersonalDB • User „miis“ zum Zugriff auf DB • Join: ? • Attributmapping: Titel -> title, PersonalNr -> employeeID • Runprofile festlegen und ausführen C. Allendörfer, ZDV Uni-Mainz
Demo Export • Objekte im Metaverse / CS kontrollieren • Attribut Precedence definieren • Runprofile AD Export definieren • Export erneut durchführen C. Allendörfer, ZDV Uni-Mainz
Geplanter Einsatz • AD Import • fertig • Export zu SunOne Directory auf Mailserver der Studierenden • fertig • Export zu Applix Helpdesk • z. Zt. mit eigenem Script mit AD abgeglichen • Synchronisierung mit UniVIS • ??? • Synchronisierung mit Telefonanlage, UMS, CTI • ??? • Import der Studierendendaten • zum nächsten Semesteranfang • Import der Personaldaten • ??? • Synchronisierung mit FB Datenbanken (Mathematik, Pharmazie) • nächste Woche C. Allendörfer, ZDV Uni-Mainz