Anbindung des IdP an IdM Systeme



Ähnliche Dokumente
Einführung in das Verfahren Shibboleth Schwerpunkt Iden:ty Provider

Einführung in das Verfahren Shibboleth Schwerpunkt Iden:ty Provider

mylogin: Single Sign-On an der Universität Freiburg 5. Shibboleth-Workshop der AAR in Kooperation mit der DFN-AAI

Shibboleth zum Mitmachen die AAR-Testumgebung 3ter AAR Workshop

Single Sign-On an der Universität Freiburg Das Projekt mylogin

Kommunikationsübersicht XIMA FORMCYCLE Inhaltsverzeichnis

Neuerungen bei Shibboleth 2

Fallstudie Universität Freiburg: IdM, Personalrat, Datenschutz

Internet Explorer Version 6

Shibboleth IdP-Erweiterungen an der Freien Universität Berlin

GRUNDLEGENDES ZUM EINRICHTEN DES LAPTOP-ABGLEICHS

Tomcat Konfiguration und Administration

e-books aus der EBL-Datenbank

Installation des GeoShop Redirector für Apache (Stand ) ================================================================

Was meinen die Leute eigentlich mit: Grexit?

MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003

Lokale Installation von DotNetNuke 4 ohne IIS

Wo finde ich die Software? - Jedem ProLiant Server liegt eine Management CD bei. - Über die Internetseite

Planung für Organisation und Technik

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten


Quick Guide Mitglieder

FTP-Server einrichten mit automatischem Datenupload für

Externe Authentifizierung. Externe Authentifizierung IACBOX.COM. Version Deutsch

Sie finden im Folgenden drei Anleitungen, wie Sie sich mit dem Server der Schule verbinden können:

Verbinden von IBM Informix mit Openoffice mittels JDBC

1. SaxIS-Shibboleth. Shibboleth-Workshop. Chemnitz, 15. Dezember Dipl. Wirt.-Inf. Lars Eberle, Projekt SaxIS und BPS GmbH

Aktuelles zur DFN-AAI AAI-Forum, 53. DFN-Betriebstagung, Oktober 2010

Thomas Wagner 2009 (im Rahmen der TA) Installation von MySQL 5.0 und Tomcat 5.5

Information zum SQL Server: Installieren und deinstallieren. (Stand: September 2012)

Leichte-Sprache-Bilder

Outlook Exp. Konten einrichten, so geht es!

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

Übersicht... 2 Dateiupload... 3 Administratorfunktionen... 4

Shibboleth-AttributManagement. DFN-AAI Workshop Kaiserslautern

ACDSee Pro 3-Tutorials: Versenden von Bilder an eine FTP-Site

Web-Single-Sign-On in der LUH

Bedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof

OUTLOOK (EXPRESS) KONFIGURATION POP3

Anleitung Grundsetup C3 Mail & SMS Gateway V

Handbuch. timecard Connector Version: REINER SCT Kartengeräte GmbH & Co. KG Goethestr Furtwangen

SEMINAR Modifikation für die Nutzung des Community Builders

EMU Bill & Report 1/33

Wichtig ist die Originalsatzung. Nur was in der Originalsatzung steht, gilt. Denn nur die Originalsatzung wurde vom Gericht geprüft.

Verbundzentrale des GBV (VZG) Till Kinstler / Digitale Bibliothek

Österreichische Trachtenjugend

How-to: Webserver NAT. Securepoint Security System Version 2007nx

Diese Anleitung enthält Anweisungen, die nur durch erfahrene Anwender durchgeführt werden sollten!


Anleitung Jahreswechsel

VVA Webservice Online Lieferbarkeits-Abfrage

Installation SQL- Server 2012 Single Node

Online-Prüfungs-ABC. ABC Vertriebsberatung GmbH Bahnhofstraße Neckargemünd

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen.

Backup der Progress Datenbank

Anlegen eines DLRG Accounts

Stecken Sie Ihren USB Stick oder Ihre externe USB Festplatte in den USB Steckplatz des Sinus 154 DSL SE.

ecaros-update 8.2 Update 8.2 procar informatik AG 1 Stand: DP 02/2014 Eschenweg Weiterstadt

Die Industrie- und Handelskammer arbeitet dafür, dass Menschen überall mit machen können

Manuelle Konfiguration einer VPN Verbindung. mit Microsoft Windows 7

TIA - Rechenzentrum. Systemvoraussetzungen

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Verwendung des IDS Backup Systems unter Windows 2000

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Zugriff auf Daten der Wago über eine Webseite

Ihren Kundendienst effektiver machen

Anleitung zur Konfiguration eines NO-IP DynDNS-Accounts mit der TOOLBOXflex-3.2

Kulturobjekte der Donau Das ContentManagementSystem (CMS)

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

M-net -Adressen einrichten - Apple iphone

How to do? Projekte - Zeiterfassung

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

LANiS Mailversender ( Version 1.2 September 2006)

Anbindung des eibport an das Internet

BitDefender Client Security Kurzanleitung

Anleitung zum erstellen einer PDF-Datei aus Microsoft Word

DIRECTINFO ANBINDUNG AN VERZEICHNISDIENSTE WIE ACTIVE DIRECTORY

PHPNuke Quick & Dirty

1. Weniger Steuern zahlen

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Installation Hardlockserver-Dongle

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Wann benötigen Sie eine neue Lizenz-Datei mit der Endung.pkg?

Horstbox VoIP. Stefan Dahler. 1. HorstBox Konfiguration. 1.1 Einleitung

Statuten in leichter Sprache

So funktioniert die NetWorker 7.5 Eigenschaft zum Sichern umbenannter Verzeichnisse ( Backup renamed Directories )

ICS-Addin. Benutzerhandbuch. Version: 1.0

SharePoint Demonstration

Success! Bestellausgabe

Outlook 2013

Lexware professional und premium setzen bis einschließlich Version 2012 den Sybase SQL-Datenbankserver

Internet online Update (Internet Explorer)

3 Installation von Exchange

Betriebshandbuch. MyInTouch Import Tool

Anwenderdokumentation AccountPlus GWUPSTAT.EXE

CMS.R. Bedienungsanleitung. Modul Cron. Copyright CMS.R Revision 1

ID VisitControl. Dokumentation Administration Equitania Software GmbH cmc Gruppe Seite 1

Update und Konfiguraton mit dem ANTLOG Konfigurations-Assistenten

Softwaren Engineering I

Transkript:

Anbindung des IdP an IdM Systeme 13.11.2008, 7. Shibboleth Workshop Franck Borel,

Übersicht Vorraussetzungen Betriebsumfeld Architektur des IdP Standardanbindungen Eigene Anbindung ArpViewer (uapprove) von SWITCH Ausblick 2.2 Franck Borel borel@gbv.de 2

Voraussetzung Grundlage ist eine funkronierende Benutzerverwaltung Wiederholbare Arbeitabläufe Richtlinien bei der Pflege der Benutzerdaten Datenschutz Benutzerverwaltung muss über eine Standardschni:stelle ansprechbar sein Sonderfälle beachten Z.B. Ein Mitarbeiter arbeitet für die UB, ist aber an der PH angestellt und daher nicht im LDAP Verzeichnis des Rechenzentrums verzeichnet. Datenbestand Datenbereinigung (DubleYen, nicht mehr benörgte Accounts, Sonderzugriffe für die Administratoren) Abbildung der AYribute auf den Standard eduperson Seman=k Was ist ein Angehöriger, ein Mitglied einer Hochschule? ( 9 LHG) Welche Rechte hat ein Angehöriger, ein Mitglied an der Hochschule? Franck Borel borel@gbv.de 3

Betriebsumfeld JVM Apache Server Tomcat Server Service Host ajp Context IdP JAAS mod_jk Tomcat Server Service Host IdM ajp Context IdP JAAS Franck Borel borel@gbv.de 4

Betriebsumfeld Pakeeilter, Firewall, DMZ Apache mod_jk, mod_proxy SSL (ZerRfikate) JVM Tomcat Filter, Servlets, Valves, Load Balancing, Monitoring, neue Versionen aufspielen (deployment) IdP Metadaten, AuthenRfizierung, AYribut Resolver JAAS, JDBC, Spring SSL (ZerRfikate) IdM Typische IdMs: LDAP Server, SQL Datenbanken, Bibliothekssyteme (PICA, BiBer, Libero), AcRve Directory Franck Borel borel@gbv.de 5

Architektur des IdP IdPSession Filter Profile AuthenRfizierung Principal Autorisierung SchniYstelle zum IdM IdenRty Management Franck Borel borel@gbv.de 6

KonfiguraRon des IdP web.xml IdPSession Filter Profile service.xml handler.xml Principal Autorisierung Encoding ayributeresolver.xml web.xml AuthenRfizierung Filter Resolver ayributefilter.xml ayributeresolver.xml SchniYstelle zum IdM IdenRty Management Franck Borel borel@gbv.de 7

Standardanbindung AuthenRfizierung RemoteUser UsernamePassword IPAddress PreviousSession (Single Sign On) Autorisierung Konnektor für starsche Daten Konnektor zum Speichern von persistenten IDs mit Hilfe einer Datenbank Konnektor für relaronale Datenbanken LDAP Konnektor Franck Borel borel@gbv.de 8

StandardschniYstellen zum IdM JAAS LDAP AciRve Directory Kerberos JDBC RelaRonale Datenbanken Franck Borel borel@gbv.de 9

Standardanbindung Was kann man mit der Standardanbindung alles machen? AuthenRfizierung mit Benutzername und Passwort mit der IP Adresse verschiedene IdMs mit JAAS abfragen. Hierbei gelten die Regeln die von JAAS vorgegeben werden! LDAP Server, Kerberos, AcRve Directory und relaronale Datenbanken Autorisierung LDAP Server, AcRve Directory und relaronale Datenbanken IdMs in Reihe schalten Franck Borel borel@gbv.de 10

Standardanbindung Was geht nicht? AuthenRfizierung: AuthNHandler kombinieren: z.b. Benutzername/Passwort + IP Adresse IdMs in Reihe schalten Andere Parameter neben den Benutzernamen und dem Passwort verwenden (z.b. IP Adresse, OrganisaRon) Beliebige Protokolle zur Abfrage des IdM verwenden (z.b. SOAP, (X)SLNP) Kombinierte Abfragen: Zusammentragen von InformaRonen und diese auswerten. X.509 AuthenRfizierung Autorisierung Beliebige Protokolle zur Abfrage des IdM verwenden (z.b. SOAP, (X)SLNP) Kombinierte Abfragen: Zusammentragen von InformaRonen und diese auswerten. Franck Borel borel@gbv.de 11

AuthenRfizierung mit JAAS JAAS ist das Akronym für Java AuthenBcaBon and AutorizaBon Service Integriert im JDK JAAS orienrert sich an den Pluggable AuthenBcaBon Modules (PAM) Der IdP verwendet JAAS für die AuthenRfizierung in seiner Standardanbindung UsernamePassword Die Standardanbindung bietet eine ferrge SchniYstelle zum LDAP, AcRve Directory und Kerberos an. Verschiedene Konnektoren können konfiguriert werden: JAAS fragt der Reihe nach die an den Konnektoren angehängten IdMs ab. Der erste Treffer wird genommen (!). Franck Borel borel@gbv.de 12

AuthenRfizierung und Autorisierung mit JAAS Was muss beachtet werden? Der IdP unterstützt nur die Weitergabe der Parameter Benutzername und Passwort. JAAS KonfiguraRon wird in die JAVA VM geladen. Deshalb muss bei Änderungen der Servlet Container neu gestartet werden. Logging ist nicht möglich! JAAS ist Teil der JVM. Werden verschiedene Benutzerverwaltungen abgefragt, muss garanrert sein, dass die Benutzernamen eindeu=g sind. Franck Borel borel@gbv.de 13

AuthenRfizierung mit JAAS <servlet> <servlet-name>usernamepasswordauthhandler</servlet-name> <servletclass> edu.internet2.middleware.shibboleth.idp.authn.provider.usernamepasswordloginservlet </servlet-class> <init-param> <param-name>jaasconfigname</param-name> <param-value>shibuserauth</param-value> web.xml </init-param> </servlet> <LoginHandler xsi:type="usernamepassword" jaasconfigurationlocation="file:///myopt/shibboleth-idp-2.1.0/conf/login.config"> <AuthenticationMethod> urn:oasis:names:tc:saml:2.0:ac:classes:passwordprotectedtransport </AuthenticationMethod> </LoginHandler> handler.xml ShibUserAuth { edu.vt.middleware.ldap.jaas.ldaploginmodule required host= ldap1.example.org ldap2.example.org ldap3.example.org base= ou=people,dc=example,dc=org tls= true userfield= uid } login.config Franck Borel borel@gbv.de 14

Autorisierung mit LDAP <resolver:dataconnector id="myldap" xsi:type="ldapdirectory" xmlns="urn:mace:shibboleth:2.0:resolver:dc ldapurl="ldap://ldap.example.org" basedn="ou=people,dc=example,dc=org" principal="uid=myservice,ou=system principalcredential="myservicepassword"> <FilterTemplate> <![CDATA[ (uid=$requestcontext.principalname)]]> </FilterTemplate> </resolver:dataconnector> ayributeresolver.xml EindeuRge ID Adresse des LDAP Nutzer mit welchem der Konnektor an den LDAP gebunden wird Suchfilter Passwort für die Bindung des Konnektors Franck Borel borel@gbv.de 15

Autorisierung mit LDAP Was kann man noch machen? Definieren, welche AYribute zurückgegeben werden sollen LDAP SSL/TSL Franck Borel borel@gbv.de 16

AuthenRfizierung und Autorisierung mit JDBC Defini=on: JDBC ist eine DatenbankschniYstelle der Java Plaworm, die eine einheitliche SchniYstelle zu Datenbanken verschiedener Hersteller bietet und speziell auf relaronale Datenbanken ausgerichtet ist. Was gibt es zu beachten? JDBC Bibliothek liegt beim IdP nicht bei! Wenn Sie nicht selber programmieren wollen, müssen Sie den RemoteUser AuthenBcaBon Handler verwenden! Die AuthenRfizierung geschieht über die StandardauthenRfizierung von Tomcat und dem JDBCRealm (KonfiguraRon wie bei Shibboleth 1.3) Für die Autorisierung gibt es einen ferrgen Konnektor. Franck Borel borel@gbv.de 17

AuthenRfizierung mit JDBC <servlet-mapping> <servlet-name>remoteuserauthhandler</servlet-name> <url-pattern>/authn/remoteuser</url-pattern> </servlet-mapping> <security-constraint> <display-name>shibboleth IdP</display-name> <web-resource-collection> <web-resource-name>user authentication</web-resource-name> <url-pattern>/authn/remoteuser</url-pattern> <http-method>get</http-method> <http-method>post</http-method> </web-resource-collection> <auth-constraint> <role-name>user</role-name> </auth-constraint> <user-data-constraint> <transport-guarantee>confidential</transport-guarantee> </user-data-constraint> </security-constraint> web.xml <security-role> <role-name>user</role-name> </security-role> Franck Borel borel@gbv.de 18

AuthenRfizierung mit JDBC context.xml <LoginHandler xsi:type="remoteuser"> <AuthenticationMethod>urn:oasis:names:tc:SAML: 2.0:ac:classes:unspecified </AuthenticationMethod> </LoginHandler> handler.xml Name des Datenbankteibers, der im lib Verzeichnis des Tomcat sein muss. <Realm classname="org.apache.catalina.realm.jdbcrealm drivername="org.gjt.mm.mysql.driver connectionurl="jdbc:mysql://localhost/authority? user=dbuser&password=dbpass usertable="users" usernamecol="user_name usercredcol="user_pass userroletable="user_roles" rolenamecol="role_name /> URL zur Datenbank Tabelle mit den Nutzer; Name des Nutzers; Passwort des Nutzer, Role des Nutzer = rolename in der web.xml Franck Borel borel@gbv.de 19

Autorisierung mit JDBC <resolver:dataconnector xsi:type="dc:relationaldatabase" xmlns="urn:mace:shibboleth:2.0:resolver:dc" id="mydatabase > <ApplicationManagedConnection jdbcdriver="org.hsqldb.jdbcdriver" jdbcurl="jdbc:hsqldb:res:/data/database/shibdb" jdbcusername="sa" /> <QueryTemplate> <![CDATA[ SELECT * FROM PEOPLE WHERE netid='${principal}' ]]> </QueryTemplate> </resolver:dataconnector> AYributeresolver.xml Franck Borel borel@gbv.de 20

Eigene Anbindung Wann reichen die Standardanbindungen nicht aus? Weitere Parameter notwendig, z.b. IP Adresse, OrganisaRons Name IdM kommt mit den Standardprotokollen (SQL, LDAP) nicht klar, z.b. SOAP SchniYstelle AuthenRfizierungs und Autorisierungsanfragen können nicht mit einer Abfrage beantwortet werden (Beispiel MyLogin) Sie wollen die Nutzer über JDBC authenrfizieren aber auch die neuen Features verwenden. Franck Borel borel@gbv.de 21

Eigene Anbindung Was tun, wenn keine der Standardanbindungen ausreicht? Eigene Anbindung für die AuthenRfizierung schreiben: Über RemoteUser: unterstützt nicht forced reauthenbcabon, und passiv authenbcabon) Eigenen AuthenRcaRonHandler schreiben. Eigene JAAS AuthenRfzierung schreiben (nicht klar, ob beliebige Parameter durchgereicht werden können!) Franck Borel borel@gbv.de 22

Eigene Anbindung Was tun mit der Autorisierung? Bewährtes Verfahren: AuthenRfizierung und Autorisierung gleichzeirg ausführen und das Ergebnis zwischenspeichern (z.b. Datenbank) AYribute werden über die JDBC SchniYstelle abgefragt Eigenen Resolver schreiben: Verlangt gute Kenntnisse in Spring und XML Schema! Beispiele: Flex MyLogin Franck Borel borel@gbv.de 23

Flex (1) (2) login.jsp IdP Flex AuthNHandler AA (3) Service Provider (6) (5) login.php (4) Resolver db IdM Franck Borel borel@gbv.de 24

MyLogin (1) preselecron.jsp login.jsp Filter AuthenRfizierung (5) IdP SSO AA login.php (2) RZ KRZ SP (4) Resolver db (3) (2) UB IP AYribute db Franck Borel borel@gbv.de 25

MyLogin Demo Franck Borel borel@gbv.de 26

ArpViewer (uapprove) Wozu? DatenschutzbesRmmungen: Der Nutzer willigt ein, dass besrmmte Daten an den Anbieter weitergegeben werden. InformaRonen sammeln: Welche AYribute wurden an welchen Anbieter weitergegeben? Transparenz: Nutzer weiß, welche AYribute an den Anbieter weitergegeben werden. FunkRonsweise: Filter (Pfad /*) + Datenbank oder Datei. Wird für 2.2 aus Datenschutzgründen notwendig sein. Franck Borel borel@gbv.de 27

ArpViewer (uapprove) Ablauf Hat der Nutzer die Richtlinien noch nie akzeprert? Oder wurden die Richtlinien zwischenzeitlich geändert Nein Hat der Nutzer eingewilligt, dass alle AYribute an jeden SP weitergeben werden dürfen. Nein Hat der Nutzer eingewilligt, dass die AYribute an diesen SP weitergeben werden dürfen. Jep! Jep! Jep! Nein Zeige Richtlinien an Weiter (FilterChain) Haben sich die Regeln in der ARP geändert, so dass AYribute weitergegeben werden, dem der Nutzer noch nicht zugesrmmt hat? Franck Borel borel@gbv.de 28 Nein Jep!

ArpViewer (uapprove) Demo Franck Borel borel@gbv.de 29

Ausblick 2.2 IP AuthenRfizierung und REMOTE_USER soll ebenfalls über JAAS laufen X.509 AuthenRfizierung Service Provider kann AYribute, die er benörgt in die Metadaten eintragen lassen. Ein Filter wie ArpViewer (uapprove) soll dafür sorgen, dass der Nutzer die Übertragung der AYribute akzepreren oder verweigern kann. Franck Borel borel@gbv.de 30

Finale Danke, dass Sie zugehört haben! Franck Borel borel@gbv.de Anzutreffen auf: hyp://www.gbv.de hyp://aar.ub.uni freiburg.de hyp://www.aai.dfn.de Franck Borel borel@gbv.de 31

AuthenRfizierung mit JAAS Context e.i.m.shibboleth.idp.session.idpsessionfilter e.i.m.shibboleth.idp.authn.provider.usernamepasswordloginservlet Franck Borel borel@gbv.de 32