1 / 20

Installation und Konfiguration des Identity Provider Shibboleth Workshop Freiburg, 12.10.2005

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. Installation des Identity Providers. Wie gehen Sie vor?

owen-ramsey
Download Presentation

Installation und Konfiguration des Identity Provider Shibboleth Workshop Freiburg, 12.10.2005

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Installation und Konfiguration des Identity Provider Shibboleth Workshop Freiburg, 12.10.2005 Franck Borel, AAR-Projekt, UB Freiburg

  2. Übersicht • Installation des Identity Providers • Konfiguration des Identity Providers Franck Borel, AAR-Projekt, UB-Freiburg 2

  3. Installation des Identity Providers • Wie gehen Sie vor? • Komponenten installieren und einzeln testen • Komponenten im Verbund testen • DemoAAR oder InQueue Testzugang einrichten und Identity Provider testen • Welche Kenntnisse sind von Vorteil? • Kenntnisse in der Administration von Apache und Tomcat • XML, SAML • Java, insbesondere J2EE • Wie groß ist der zeitliche Aufwand? • Je nach vorhandenen Kenntnissen 1 bis 3 Wochen Franck Borel, AAR-Projekt, UB-Freiburg 3

  4. 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, IdP und WAYF): Welche Datei gehört zu welcher Komponente? Franck Borel, AAR-Projekt, UB-Freiburg 4

  5. 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+ 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 Franck Borel, AAR-Projekt, UB-Freiburg 5

  6. Installation des Identity Providers Übersicht zu den Komponenten des Identity Providers: Apache mod_jk Tomcat Shibboleth- Komponenten Authentifizierung über Tomcat oder Apache schützt SSO (HS) SSO (HS) Autorisierung LDAP AA Richtlinien für die Freigabe von Attributen SQL ARP Benutzerdaten ... Franck Borel, AAR-Projekt, UB-Freiburg 6

  7. Konfiguration des Identity Providers Übersichtskarte zu den Konfigurationsdateien httpd.conf Apache mod_jk.conf server.xml mod_jk Workers.properties web.xml Tomcat resolver.xml idp.xml Identity Provider arp.site.xml metadata.xml log4j.properties Franck Borel, AAR-Projekt, UB-Freiburg 7

  8. 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

  9. Konfiguration des Identity Providers • Grundeinstellungen an der Hauptkonfigurationsdatei idp.xml Attribute <?xml version="1.0" encoding="ISO-8859-1"?> <IdPConfig … AAUrl="https://idp.example.org:8443/shibboleth-idp/AA" resolverConfig="file:/opt/shibboleth-idp-1.3b/etc/resolver.xml" defaultRelyingParty="urn:mace:shibboleth:examples" providerId="https://idp.example.org/shibboleth"> <!- RelyingParty --> → z.B. Liste mit Service Providern <!– ReleasePolicyEngine --> →Weist auf die arp.xml <!– Logging --> → Einstellungen für die Log-Dateien <!- NameMapping --> → Zwischenablage des Principal <!- ArtifactMapper --> → Einstellungen für die Verwendung der Übertragungsmethode Browser/Artifact <!- Credentials --> → Zertifikate/Schlüssel <!- ProtocolHandler --> → Hier wird festgelegt, welche Art von Anfragen beantworten werden <!- MetadataProvider --> → Weist auf die metadata.xml </IdPConfig> Standard Relaying Party: z.B. Föderation oder Applikation Eindeutige ID des Identity Providers (URI) Franck Borel, AAR-Projekt, UB-Freiburg 9

  10. Konfiguration des Identity Providers • Beispiel für eine formularbasierte Authentifizierung mit MemoryRealm • server.xml bearbeiten • web.xml bearbeiten • Login-Seite mit FORM-Authentifizierung und eine FORM-Fehlerseite erstellen Franck Borel, AAR-Projekt, UB-Freiburg 10

  11. Konfiguration des Identity Providers Formularbasierte Authentifizierung mit MemoryRealm: XML-Datei mit Benutzername/Passwort server.xml … <Context path="/shibboleth-13b" docBase="/srv/www/webapps/shibboleth-13b" debug=„4" reloadable="true" <Realmclass Name="org.apache.catalina.realm.MemoryRealm" debug="4" pathname="conf/tomcat-user.xml"/> </context> … Tomcat Einbinden der Klasse MemoryRealm debug level (0-4 / default = 0) Franck Borel, AAR-Projekt, UB-Freiburg 11

  12. Konfiguration des Identity Providers Formularbasierte Authentifizierung mit MemoryRealm web.xml … <login-config> <auth-method>FORM</auth-method> <realm-name>MemoryRealm</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> … Identity Provider Authenti-fizierungs- methode FORM-Seiten Benutzergruppe Franck Borel, AAR-Projekt, UB-Freiburg 12

  13. Konfiguration des Identity Providers Formularbasierte Authentifizierung mit MemoryRealm Aufruf von j_security_check login.jsp … <form method="POST" action="<%=response.encodeURL('j_security_check')%> … <input type="text" name="j_username" /> <input type="password" name="j_password"> … </form> … Identity Provider Benutzername /Passwort Franck Borel, AAR-Projekt, UB-Freiburg 13

  14. Konfiguration des Identity Providers Vordefinierte Realms: • MemoryRealm: 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

  15. 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

  16. Konfiguration des Identity Providers • Beispiel einer Konfiguration mit einem JDBC-Resolver: Anpassen der idp.xml idp.xml Legt fest, welche Resolver-Konfigurationsdatei verwendet werden soll. <?xml version="1.0" encoding="ISO-8859-1"?> <IdPConfig 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.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:mace:shibboleth:idp:config:1.0 ../schemas/shibboleth-idpconfig-1.0.xsd" AAUrl="https://aar.ub-freiburg.de:8443/shibboleth-idp/AA" resolverConfig="file:/opt/shibboleth-idp-1.3b/etc/resolver.jdbc.xml" defaultRelyingParty="urn:mace:shibboleth:examples" providerId="https://aar.ub-freiburg.de/shibboleth"> … </IdPConfig> Attribute Authority und sSSO müssen bei der Verwendung von SSL auf getrennten Ports laufen! Franck Borel, AAR-Projekt, UB-Freiburg 16

  17. Konfiguration des Identity Providers • Beispiel einer Konfiguration mit einem JDBC-Resolver: Anpassen der resolver.jdbc.xml Eindeutige Attributreferenz resolver.xml <AttributeResolver …> <SimpleAttributeDefinition id="urn:mace:dir:attribute-def:member" sourceName="member"> <DataConnectorDependency requires="db1"/> </SimpleAttributeDefinition> <JDBCDataConnector id="db1" dbURL="jdbc:postgresql://aar.ub.uni-freiburg.de/redi?user=postgres&amp;password=test" dbDriver="org.postgresql.Driver" maxActive="10" maxIdle="5"> <Query>Select member from users where name = ?</Query> </JDBCDataConnector> <CustomDataConnector id="echo" class="edu.internet2.middleware.shibboleth.aa.attrresolv.provider.SampleConnector"/> </AttributeResolver> Referenz zur Datenbankverbindung Verbindung zur Datenbank SQL-Abfrage (? = %PRINCIPAL%) Franck Borel, AAR-Projekt, UB-Freiburg 17

  18. Konfiguration des Identity Providers • Beispiel einer Konfiguration mit einem JDBC-Resolver: Anpassen der arp.xml arp.xml Empfänger <?xml version="1.0" encoding="UTF-8"?> <AttributeReleasePolicy xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance xmlns="urn:mace:shibboleth:arp:1.0" xsi:schemaLocation="urn:mace:shibboleth:arp:1.0 shibboleth-arp-1.0.xsd" > <Rule> <Target><AnyTarget/></Target> <Attribute name="urn:mace:dir:attribute-def:member"> <AnyValue release="permit"/> </Attribute> </Rule> </AttributeReleasePolicy> Erlauben? Attributname Franck Borel, AAR-Projekt, UB-Freiburg 18

  19. 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

  20. Danke für Ihre Aufmerksamkeit! Franck Borel, AAR-Projekt, UB-Freiburg 20

More Related