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

Installation und Konfiguration des Identity Provider Shibboleth Workshop Freiburg, 12.10.2005

Embed Size (px)

DESCRIPTION

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? - PowerPoint PPT Presentation

Citation preview

Page 1: 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

Page 2: 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

Page 3: Installation und Konfiguration des Identity Provider Shibboleth Workshop  Freiburg, 12.10.2005

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

Page 4: Installation und Konfiguration des Identity Provider Shibboleth Workshop  Freiburg, 12.10.2005

Franck Borel, AAR-Projekt, UB-Freiburg 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?

Page 5: Installation und Konfiguration des Identity Provider Shibboleth Workshop  Freiburg, 12.10.2005

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

Page 6: Installation und Konfiguration des Identity Provider Shibboleth Workshop  Freiburg, 12.10.2005

Franck Borel, AAR-Projekt, UB-Freiburg 6

Installation des Identity Providers

Übersicht zu den Komponenten des Identity Providers:

Apachemod_jk

Tomcat

SSO (HS)

AALDAP

ARPSQL

Authentifizierung über Tomcat oder Apache schützt

SSO (HS)Autorisierung

BenutzerdatenRichtlinien für die Freigabe

von Attributen...

Shibboleth-Komponenten

Page 7: Installation und Konfiguration des Identity Provider Shibboleth Workshop  Freiburg, 12.10.2005

Franck Borel, AAR-Projekt, UB-Freiburg 7

Konfiguration des Identity Providers

Übersichtskarte zu den Konfigurationsdateien

Tomcat

Apache

Identity Provider

server.xml

web.xml

idp.xml

metadata.xml arp.site.xml

resolver.xml

httpd.conf

mod_jk.conf

Workers.properties

log4j.properties

mod_jk

Page 8: Installation und Konfiguration des Identity Provider Shibboleth Workshop  Freiburg, 12.10.2005

Franck Borel, AAR-Projekt, UB-Freiburg 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)

Page 9: Installation und Konfiguration des Identity Provider Shibboleth Workshop  Freiburg, 12.10.2005

Franck Borel, AAR-Projekt, UB-Freiburg 9

Konfiguration des Identity Providers

• Grundeinstellungen an der Hauptkonfigurationsdatei idp.xml

<?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>

Attribute

Standard Relaying

Party: z.B. Föderation

oder Applikation

Eindeutige ID des Identity

Providers (URI)

Page 10: Installation und Konfiguration des Identity Provider Shibboleth Workshop  Freiburg, 12.10.2005

Franck Borel, AAR-Projekt, UB-Freiburg 10

Konfiguration des Identity Providers

• Beispiel für eine formularbasierte Authentifizierung mit MemoryRealm1. server.xml bearbeiten

2. web.xml bearbeiten

3. Login-Seite mit FORM-Authentifizierung und eine FORM-Fehlerseite erstellen

Page 11: Installation und Konfiguration des Identity Provider Shibboleth Workshop  Freiburg, 12.10.2005

Franck Borel, AAR-Projekt, UB-Freiburg 11

Konfiguration des Identity Providers

Formularbasierte Authentifizierung mit MemoryRealm:

…<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

server.xml

Einbinden der Klasse

MemoryRealm

XML-Datei mit Benutzername/Passwort

debug level (0-4 / default = 0)

Page 12: Installation und Konfiguration des Identity Provider Shibboleth Workshop  Freiburg, 12.10.2005

Franck Borel, AAR-Projekt, UB-Freiburg 12

Konfiguration des Identity Providers

Formularbasierte Authentifizierung mit MemoryRealm

Identity Provider

…<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>…

web.xml

Authenti-fizierungs-methode

FORM-Seiten

Benutzergruppe

Page 13: Installation und Konfiguration des Identity Provider Shibboleth Workshop  Freiburg, 12.10.2005

Franck Borel, AAR-Projekt, UB-Freiburg 13

Konfiguration des Identity Providers

Formularbasierte Authentifizierung mit MemoryRealm

…<form method="POST" action="<%=response.encodeURL('j_security_check')%>… <input type="text" name="j_username" /> <input type="password" name="j_password">…</form>…

Identity Provider

login.jsp Aufruf von j_security_check

Benutzername/Passwort

Page 14: Installation und Konfiguration des Identity Provider Shibboleth Workshop  Freiburg, 12.10.2005

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

Page 15: Installation und Konfiguration des Identity Provider Shibboleth Workshop  Freiburg, 12.10.2005

Franck Borel, AAR-Projekt, UB-Freiburg 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 ? )

Page 16: Installation und Konfiguration des Identity Provider Shibboleth Workshop  Freiburg, 12.10.2005

Franck Borel, AAR-Projekt, UB-Freiburg 16

Konfiguration des Identity Providers

• Beispiel einer Konfiguration mit einem JDBC-Resolver: Anpassen der idp.xml

<?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>

idp.xmlLegt fest, welche Resolver-

Konfigurationsdatei verwendet werden soll.

Attribute Authority und sSSO müssen bei der Verwendung von SSL auf getrennten Ports laufen!

Page 17: Installation und Konfiguration des Identity Provider Shibboleth Workshop  Freiburg, 12.10.2005

Franck Borel, AAR-Projekt, UB-Freiburg 17

Konfiguration des Identity Providers

• Beispiel einer Konfiguration mit einem JDBC-Resolver: Anpassen der resolver.jdbc.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>

resolver.xmlEindeutige

Attributreferenz

Referenz zur Datenbankverbindung

Verbindung zur Datenbank

SQL-Abfrage (? = %PRINCIPAL%)

Page 18: Installation und Konfiguration des Identity Provider Shibboleth Workshop  Freiburg, 12.10.2005

Franck Borel, AAR-Projekt, UB-Freiburg 18

Konfiguration des Identity Providers

• Beispiel einer Konfiguration mit einem JDBC-Resolver: Anpassen der arp.xml

<?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>

arp.xmlEmpfänger

AttributnameErlauben?

Page 19: Installation und Konfiguration des Identity Provider Shibboleth Workshop  Freiburg, 12.10.2005

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

Page 20: Installation und Konfiguration des Identity Provider Shibboleth Workshop  Freiburg, 12.10.2005

Franck Borel, AAR-Projekt, UB-Freiburg 20

Danke für Ihre Aufmerksamkeit!