![Скачать презентацию Installation und Konfiguration des Identity Provider Shibboleth Workshop Скачать презентацию Installation und Konfiguration des Identity Provider Shibboleth Workshop](https://present5.com/wp-content/plugins/kama-clic-counter/icons/ppt.jpg)
9900f569bd4618256d62a652b73a7e3a.ppt
- Количество слайдов: 20
Installation und Konfiguration des Identity Provider Shibboleth Workshop Freiburg, 12. 10. 2005 Franck Borel, AAR-Projekt, UB Freiburg
Übersicht • Installation des Identity Providers • Konfiguration des Identity Providers Franck Borel, AAR-Projekt, UB-Freiburg 2
Installation des Identity Providers • Wie gehen Sie vor? – Komponenten installieren und einzeln testen – Komponenten im Verbund testen – Demo. AAR oder In. Queue Testzugang einrichten und Identity Provider testen • Welche Kenntnisse sind von Vorteil? – Kenntnisse in der Administration von Apache und Tomcat – XML, SAML – Java, insbesondere J 2 EE • Wie groß ist der zeitliche Aufwand? – Je nach vorhandenen Kenntnissen 1 bis 3 Wochen Franck Borel, AAR-Projekt, UB-Freiburg 3
Installation des Identity Providers • Aus dem Nähkästchen: – Welche Anfangsschwierigkeiten hatten wir bei der Installation? • Unzureichende Dokumentation (z. B. fehlende oder falsche Angaben) – Hoher Zeitaufwand, bis das Prinzip und das Konzept verstanden wurde • Uneinheitliche Bezeichnung der Komponenten • Alles in einem Paket (SP, Id. P und WAYF): Welche Datei gehört zu welcher Komponente? Franck Borel, AAR-Projekt, UB-Freiburg 4
Installation des Identity Providers Welche Komponenten müssen installiert werden? • Apache 1. 3. 26+ oder 2. 0. x mit SSL (empfohlen 2. 0. x) • Java 1. 5. x • Tomcat 5. 5. x • mod_jk • Ant • Shibboleth Identity Provider 1. 3+ Franck Borel, AAR-Projekt, UB-Freiburg Folgende Kombinationen werden unterstützt: Java 1. 4. x & Tomcat 4. 1. 18+ oder Java 1. 5. x + Tomcat 5. 5. x Vorsicht! Inkonsistenzen in den einzelnen Versionen 5
Installation des Identity Providers Übersicht zu den Komponenten des Identity Providers: Apache mod_jk Tomcat Authentifizierung über Tomcat oder Apache schützt SSO (HS) LDAP Benutzerdaten Shibboleth. Komponenten SQL Franck Borel, AAR-Projekt, UB-Freiburg . . . AA ARP Autorisierung Richtlinien für die Freigabe von Attributen 6
Konfiguration des Identity Providers Übersichtskarte zu den Konfigurationsdateien Apache server. xml web. xml mod_jk. conf mod_jk Tomcat Workers. properties resolver. xml idp. xml metadata. xml httpd. conf Identity Provider arp. site. xml log 4 j. properties Franck Borel, AAR-Projekt, UB-Freiburg 7
Konfiguration des Identity Providers • Die wichtigsten Konfigurationsaufgaben am Identity Provider: – Grundeinstellungen (idp. xml) – Einstellungen für die Authentifizierung (server. xml, web. xml) – Einstellungen für die Autorisierung (resolver. xml, arp. xml) Franck Borel, AAR-Projekt, UB-Freiburg 8
Konfiguration des Identity Providers • Grundeinstellungen an der Hauptkonfigurationsdatei idp. xml <? xml version="1. 0" encoding="ISO-8859 -1"? > <Id. PConfig … AAUrl="https: //idp. example. org: 8443/ shibboleth-idp/AA" resolver. Config="file: /opt/shibboleth-idp-1. 3 b/etc/ resolver. xml" default. Relying. Party="urn: mace: shibboleth: examples " provider. Id="https: //idp. example. org/shibboleth"> <!- Relying. Party --> <!– Release. Policy. Engine --> <!– Logging --> <!- Name. Mapping --> <!- Artifact. Mapper --> → z. B. Liste mit Service Providern → Weist auf die arp. xml → Einstellungen für die Log-Dateien → Zwischenablage des Principal → Einstellungen für die Verwendung der <!- Protocol. Handler --> <!- Metadata. Provider --> </Id. PConfig> → Zertifikate/Schlüssel → Hier wird festgelegt, welche Art von Anfragen beantworten werden → Weist auf die metadata. xml Franck Borel, AAR-Projekt, UB-Freiburg Standard Relaying Party: z. B. Föderation oder Applikation Übertragungsmethode Browser/Artifact <!- Credentials --> Attribute Eindeutige ID des Identity Providers (URI) 9
Konfiguration des Identity Providers • Beispiel für eine formularbasierte Authentifizierung mit Memory. Realm 1. server. xml bearbeiten 2. web. xml bearbeiten 3. Login-Seite mit FORM-Authentifizierung und eine FORM-Fehlerseite erstellen Franck Borel, AAR-Projekt, UB-Freiburg 10
Konfiguration des Identity Providers Formularbasierte Authentifizierung mit Memory. Realm: XML-Datei mit Benutzername/Passwort server. xml Tomcat … <Context path="/shibboleth-13 b" doc. Base="/srv/www/webapps/shibboleth-13 b" debug=„ 4" reloadable="true" <Realmclass Name="org. apache. catalina. realm. Memory. Realm" debug="4" pathname="conf/tomcat-user. xml"/> </context> … Einbinden der Klasse Memory. Realm Franck Borel, AAR-Projekt, UB-Freiburg debug level (0 -4 / default = 0) 11
Konfiguration des Identity Providers Formularbasierte Authentifizierung mit Memory. Realm web. xml Identity Provider FORMSeiten … <login-config> <auth-method>FORM</auth-method> <realm-name>Memory. Realm</realm-name> <form-login-config> <form-login-page>/login. jsp</form-loggin-page> <form-error-page>/error. jsp</form-error-page> </form-login-config> </login-config> <security-role> <role-name>demo</role-name> </security-role> … Authentifizierungsmethode Benutzergruppe Franck Borel, AAR-Projekt, UB-Freiburg 12
Konfiguration des Identity Providers Formularbasierte Authentifizierung mit Memory. Realm Aufruf von j_security_check login. jsp Identity Provider … <form method="POST" action="<%=response. encode. URL('j_security_check')% > … <input type="text" name="j_username" /> <input type="password" name="j_password"> … </form> … Benutzername /Passwort Franck Borel, AAR-Projekt, UB-Freiburg 13
Konfiguration des Identity Providers Vordefinierte Realms: • Memory. Realm: Schnittstelle zur Authentifizierung gegen ein statisches Objekt (z. B. Textdatei) • JDBCRealm: Schnittstelle zu einer relationalen Datenbank mit Hilfe des JDBC-Treibers • JAASRealm: Schnittstelle zur Authentifizierung via Java Authentication & Authorization Service Famework • JNDIRealm: Schnittstelle zur Authentifizierung mit LDAP Franck Borel, AAR-Projekt, UB-Freiburg 14
Konfiguration des Identity Providers Die Konfiguration der Attribute Authority (AA) • Die Konfiguration und Anbindung der Attribute Authority wird in der resolver. xml-Datei vorgenommen. • In der arp. site. xml können Attribute gefiltert werden • In der arp. site${PRINCIPALNAME}. xml können Attribute abhängig vom aktuellen Benutzer gefiltert werden. • Drei vordefinierte Konfigurationsdateien zur Anbindung an ein bestehendes Speicherobjekt stehen zur Verfügung: – resolver. jdbc (JDBC) – resolver. ldap (LDAP) – resolver. xml (für Testzwecke mit festkodierten Werten → echoresponder) • Sie können auch eigene Resolver erstellen (Thema im nächsten Workshop ? ) Franck Borel, AAR-Projekt, UB-Freiburg 15
Konfiguration des Identity Providers • Beispiel einer Konfiguration mit einem JDBC-Resolver: Anpassen der idp. xml Legt fest, welche Resolver. Konfigurationsdatei verwendet werden soll. <? xml version="1. 0" encoding="ISO-8859 -1"? > <Id. PConfig xmlns="urn: mace: shibboleth: idp: config: 1. 0" xmlns: cred="urn: mace: shibboleth: credentials: 1. 0" xmlns: name="urn: mace: shibboleth: namemapper: 1. 0" xmlns: xsi="http: //www. w 3. org/2001/XMLSchema-instance" xsi: schema. Location="urn: mace: shibboleth: idp: config: 1. 0. . /schemas/shibboleth-idpconfig-1. 0. xsd" AAUrl="https: //aar. ub-freiburg. de: 8443/ shibboleth-idp/AA" resolver. Config="file: /opt/shibboleth-idp-1. 3 b/etc/ resolver. jdbc. xml" default. Relying. Party="urn: mace: shibboleth: examples " provider. Id="https: //aar. ub-freiburg. de/shibboleth"> … </Id. PConfig> Attribute Authority und s. SSO müssen bei der Verwendung von SSL auf getrennten Ports laufen! Franck Borel, AAR-Projekt, UB-Freiburg 16
Konfiguration des Identity Providers • Beispiel einer Konfiguration mit einem JDBC-Resolver: Anpassen der resolver. jdbc. xml Eindeutige Attributreferenz resolver. xml <Attribute. Resolver …> <Simple. Attribute. Definition id="urn: mace: dir: attribute-def: member " source. Name="member"> <Data. Connector. Dependency requires="db 1"/> Referenz zur </Simple. Attribute. Definition > Datenbankverbindung <JDBCData. Connector id="db 1" db. URL="jdbc: postgresql: //aar. ub. uni-freiburg. de/redi? user=postgres& password=test " db. Driver="org. postgresql. Driver" max. Active="10" max. Idle="5"> Verbindung zur <Query>Select member from users where name = ? </Query> Datenbank </JDBCData. Connector> <Custom. Data. Connector id="echo" class="edu. internet 2. middleware. shibboleth. aa. attrresolv. provider. Sample. Connector"/> </Attribute. Resolver> SQL-Abfrage (? = %PRINCIPAL%) Franck Borel, AAR-Projekt, UB-Freiburg 17
Konfiguration des Identity Providers • Beispiel einer Konfiguration mit einem JDBCResolver: Anpassen der arp. xml Empfänger <? xml version="1. 0" encoding="UTF-8"? > <Attribute. Release. Policy xmlns: xsi=http: //www. w 3. org/2001/XMLSchema-instance xmlns="urn: mace: shibboleth: arp: 1. 0" xsi: schema. Location="urn: mace: shibboleth: arp: 1. 0 shibboleth-arp-1. 0. xsd" > <Rule> <Target><Any. Target/></Target> <Attribute name="urn: mace: dir: attribute-def: member "> <Any. Value release="permit"/> </Attribute> </Rule> </Attribute. Release. Policy> Erlauben? Franck Borel, AAR-Projekt, UB-Freiburg Attributname 18
Schnittstellen erweitern • Steht keine geeignete Schnittstelle für die Authentifizierung zur Verfügung können eigene Schnittstellen mit Hilfe der JAAS-Schnittstelle entwickelt werden. • Fehlt eine Schnittstelle für die Autorisierung müssen eigene Resolver erstellt werden. Franck Borel, AAR-Projekt, UB-Freiburg 19
Danke für Ihre Aufmerksamkeit! Franck Borel, AAR-Projekt, UB-Freiburg 20
9900f569bd4618256d62a652b73a7e3a.ppt