Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung Nächste ÜberarbeitungBeide Seiten der Revision | ||
de:shibidp3config [2017/02/22 16:04] – Raoul Gunnar Borenius | de:shibidp3config [2017/03/17 14:00] – Raoul Gunnar Borenius | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== | + | ====== Konfiguration des Shibboleth IdP 3.x====== |
Allgemeine Hinweise: | Allgemeine Hinweise: | ||
- | * Die unten genannten | + | * Die folgenden |
* bei den Konfigurationsbeispielen bitte nicht die kompletten Dateien mit den Konfigurationsschnipseln ersetzen, i.d.R. handelt es sich nur um Auszüge. Bitte nur die angezeigten Zeilen übernehmen bzw. entsprechend ergänzen! | * bei den Konfigurationsbeispielen bitte nicht die kompletten Dateien mit den Konfigurationsschnipseln ersetzen, i.d.R. handelt es sich nur um Auszüge. Bitte nur die angezeigten Zeilen übernehmen bzw. entsprechend ergänzen! | ||
* wir empfehlen während der Konfiguration permanent drei Desktop-Fenster offen zu halten in denen Sie den Tomcat- und die beiden relevanten IdP-Logs mitverfolgen sollten: | * wir empfehlen während der Konfiguration permanent drei Desktop-Fenster offen zu halten in denen Sie den Tomcat- und die beiden relevanten IdP-Logs mitverfolgen sollten: | ||
<code bash> | <code bash> | ||
- | root@idp:/ | + | root@idp-dev:/ |
</ | </ | ||
<code bash> | <code bash> | ||
- | root@idp:/ | + | root@idp-dev:/ |
</ | </ | ||
<code bash> | <code bash> | ||
- | root@idp:/ | + | root@idp-dev:/ |
</ | </ | ||
- | So sehen Sie sofort falls Sie beim Editiern | + | So sehen Sie sofort falls Sie beim Editieren |
- | ====Föderationsmetadaten==== | + | Los geht es mit der [[de:shibidp3config-metadata|Metadaten]]-Konfiguration. |
- | + | ||
- | Der IdP kann gleichzeitig mehrere Metadatensätze verarbeiten. Um später einen reibungslosen Übergang | + | |
- | in die DFN-AAI-Produktivumgebung zu gewährleisten sollten Sie jetzt gleich sowohl die Metadaten | + | |
- | + | ||
- | <file xml / | + | |
- | < | + | |
- | + | ||
- | <!-- ... --> | + | |
- | + | ||
- | <!-- für den initialen Testbetrieb die Metadaten der Testföderation --> | + | |
- | < | + | |
- | xsi: | + | |
- | backingFile=" | + | |
- | metadataURL=" | + | |
- | maxRefreshDelay=" | + | |
- | < | + | |
- | certificateFile="/ | + | |
- | < | + | |
- | < | + | |
- | </ | + | |
- | </ | + | |
- | + | ||
- | <!-- Die Produktiv-Metadaten können auch sofort aktiviert werden --> | + | |
- | < | + | |
- | xsi: | + | |
- | backingFile=" | + | |
- | metadataURL=" | + | |
- | maxRefreshDelay=" | + | |
- | < | + | |
- | certificateFile="/ | + | |
- | < | + | |
- | < | + | |
- | </ | + | |
- | </ | + | |
- | + | ||
- | ... | + | |
- | + | ||
- | </ | + | |
- | </ | + | |
- | + | ||
- | Starten Sie Tomcat neu um die neuen Einstellungen zu aktivieren (dabei Logdateien mitverfolgen!): | + | |
- | <code bash> | + | |
- | root@idp:/ | + | |
- | </ | + | |
- | + | ||
- | ====Anbindung IdM (LDAP/ | + | |
- | + | ||
- | Die IdM-Anbindung ist erfahrungsgemäss der kniffligste Teil der IdP-Konfiguration. Es empfiehlt sich daher den Default-Loglevel der LDAP-Kategorie zu erhöhen: | + | |
- | + | ||
- | <file xml / | + | |
- | ... | + | |
- | <!-- aus Datenschutzgründen nur 14 Tage aufbewahren --> | + | |
- | < | + | |
- | + | ||
- | <!-- Much higher performance if you operate on DEBUG. --> | + | |
- | <!-- < | + | |
- | + | ||
- | <!-- Logging level shortcuts. --> | + | |
- | < | + | |
- | <!-- Loglevel von " | + | |
- | < | + | |
- | ... | + | |
- | </ | + | |
- | + | ||
- | Starten Sie Tomcat neu um die neuen Einstellungen zu aktivieren (dabei Logdateien mitverfolgen!): | + | |
- | <code bash> | + | |
- | root@idp:/ | + | |
- | </ | + | |
- | + | ||
- | Bei einem Login-Vorgang des Users am IdP macht der IdP im Hintergrund zwei LDAP-Abfragen: | + | |
- | + | ||
- | * Authentisierung des Users | + | |
- | * Abruf der Attribute des Users | + | |
- | + | ||
- | Diese beiden Schritte werden in ldap.properties unabhängig voneinander konfiguriert: | + | |
- | + | ||
- | === LDAP-Abfrage 1: User-Authentisierung === | + | |
- | + | ||
- | <file properties / | + | |
- | # bitte entsprechend den Möglichkeiten Ihres IdM-Systems anpassen, im Beispiel | + | |
- | # eine Konfiguration wie Sie für OpenLDAP und auch Active Directory funktionieren kann: | + | |
- | idp.authn.LDAP.authenticator | + | |
- | idp.authn.LDAP.ldapURL | + | |
- | idp.authn.LDAP.useStartTLS | + | |
- | idp.authn.LDAP.useSSL | + | |
- | idp.authn.LDAP.sslConfig | + | |
- | # | + | |
- | # Pfad zum Root-Zertifikat der verwendeten PKI, dieser sollte folgendermassen überprüft werden | + | |
- | # bevor er im IdP konfiguriert wird (Beispiel für DFN-PKI): | + | |
- | # | + | |
- | # openssl s_client -connect ldap.uni-beispiel.de: | + | |
- | # -CAfile / | + | |
- | # | + | |
- | # ' | + | |
- | idp.authn.LDAP.trustCertificates | + | |
- | # ' | + | |
- | # | + | |
- | # | + | |
- | # sofern während der Auth-Phase festgestellt werden | + | |
- | # hier die entsprechenden Attribute angegeben werden | + | |
- | # (FIXME: konkretes Beispiel für OpenLDAP und AD heraussuchen) | + | |
- | idp.authn.LDAP.returnAttributes | + | |
- | # | + | |
- | # LDAP-Verbindungsparameter, | + | |
- | # konfiguriert werden: | + | |
- | # | + | |
- | # ldapsearch -H ldaps:// | + | |
- | # -b " | + | |
- | # -D cn=idp, | + | |
- | # -x -w ' | + | |
- | # | + | |
- | # | + | |
- | idp.authn.LDAP.baseDN | + | |
- | # statt " | + | |
- | idp.authn.LDAP.userFilter | + | |
- | idp.authn.LDAP.bindDN | + | |
- | idp.authn.LDAP.bindDNCredential | + | |
- | + | ||
- | </ | + | |
- | + | ||
- | Starten Sie Tomcat neu um die neuen Einstellungen zu aktivieren (dabei Logdateien mitverfolgen!): | + | |
- | <code bash> | + | |
- | root@idp:/ | + | |
- | </ | + | |
- | + | ||
- | Siehe auch im Shibboleth Wiki unter [[https:// | + | |
- | + | ||
- | === LDAP-Abfrage 2: User-Attribute === | + | |
- | + | ||
- | <file properties / | + | |
- | # wie bei Abfrage 1 muss hier das relevante User-Attribut angegeben werden, für | + | |
- | # MS-AD ist das üblicherweise " | + | |
- | idp.attribute.resolver.LDAP.searchFilter | + | |
- | </ | + | |
- | + | ||
- | Starten Sie Tomcat neu um die neuen Einstellungen zu aktivieren (dabei Logdateien mitverfolgen!): | + | |
- | <code bash> | + | |
- | root@idp:/ | + | |
- | </ | + | |
- | + | ||
- | === Bevor Sie weiter machen müssen Sie unbedingt die LDAP-Verbindung testen! === | + | |
- | + | ||
- | * tragen Sie Ihren idP in der [[https:// | + | |
- | * warten Sie eine Stunde bis der neue Eintrag auf den DFN-Testsystemen angekommen ist | + | |
- | * machen Sie mithilfe unserer Test-SPs einen ersten Login-Versuch, | + | |
- | + | ||
- | Es werden Ihnen jetzt noch keine Attribute angezeigt, was aber nicht weiter tragisch ist. | + | |
- | + | ||
- | Sollten Sie nicht erfolgreich zum SP zurückgeleitet werden, achten Sie darauf, von welchem | + | |
- | System die Fehlermeldung im Browser generiert wird. Entsteht die Fehlermeldung am IdP, | + | |
- | schauen Sie bitte in idp-process.log nach, was die Ursache ist. Generiert unser Test-SP | + | |
- | die Fehlermeldung, | + | |
- | Sollten Sie damit nicht weiterkommen, | + | |
- | und den genauen Zeitpunkt, zu dem der Fehler aufgetreten ist, damit wir mithilfe unseres | + | |
- | SP-Logs die Ursache bestimmen können. | + | |
- | + | ||
- | === Erst wenn der Login funktioniert sollten Sie die Attribute-Konfiguration angehen! === | + | |
- | + | ||
- | ==== Attribute ==== | + | |
- | + | ||
- | Erzeugung und Freigabe der SAML-Attribute wird weiterhin über die Dateien attribute-resolver.xml und attribute-filter.xml gesteuert. Diese unterscheiden sich syntaktisch und semantisch leicht von den gewohnten Dateien im IdP 2.x. | + | |
- | + | ||
- | Mit den folgenden beiden Konfigurationsdateien sollte ein erster Test gegen die DFN-Test-SPs schnell gelingen: | + | |
- | + | ||
- | === Minimal-attribute-resolver.xml === | + | |
- | + | ||
- | <file xml / | + | |
- | <?xml version=" | + | |
- | < | + | |
- | xmlns=" | + | |
- | xmlns: | + | |
- | xsi: | + | |
- | + | ||
- | <!-- ========================================== --> | + | |
- | < | + | |
- | <!-- ========================================== --> | + | |
- | + | ||
- | <!-- für uid das nehmen was der User eingetippt hat --> | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | </ | + | |
- | + | ||
- | <!--- eduPersonPrincipalName aus uid generieren --> | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | </ | + | |
- | + | ||
- | <!--- mail aus LDAP holen --> | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | </ | + | |
- | + | ||
- | < | + | |
- | < | + | |
- | <!-- ========================================== --> | + | |
- | + | ||
- | < | + | |
- | ldapURL=" | + | |
- | baseDN=" | + | |
- | principal=" | + | |
- | principalCredential=" | + | |
- | useStartTLS=" | + | |
- | connectTimeout=" | + | |
- | trustFile=" | + | |
- | responseTimeout=" | + | |
- | < | + | |
- | < | + | |
- | %{idp.attribute.resolver.LDAP.searchFilter} | + | |
- | ]]> | + | |
- | </ | + | |
- | < | + | |
- | minPoolSize=" | + | |
- | maxPoolSize=" | + | |
- | blockWaitTime=" | + | |
- | validatePeriodically=" | + | |
- | validateTimerPeriod=" | + | |
- | expirationTime=" | + | |
- | failFastInitialize=" | + | |
- | </ | + | |
- | + | ||
- | </ | + | |
- | </ | + | |
- | Starten Sie Tomcat neu um die neuen Einstellungen zu aktivieren (dabei Logdateien mitverfolgen!): | + | |
- | <code bash> | + | |
- | root@idp:/ | + | |
- | </ | + | |
- | === attribute-filter.xml für die DFN-AAI-Test === | + | |
- | + | ||
- | <file xml / | + | |
- | <?xml version=" | + | |
- | < | + | |
- | xmlns=" | + | |
- | xmlns: | + | |
- | xsi: | + | |
- | + | ||
- | < | + | |
- | < | + | |
- | < | + | |
- | <Rule xsi: | + | |
- | <Rule xsi: | + | |
- | </ | + | |
- | + | ||
- | < | + | |
- | < | + | |
- | < | + | |
- | </ | + | |
- | + | ||
- | </ | + | |
- | </ | + | |
- | Starten Sie Tomcat neu um die neuen Einstellungen zu aktivieren (dabei Logdateien mitverfolgen!): | + | |
- | <code bash> | + | |
- | root@idp:/ | + | |
- | </ | + | |
- | ==== Attribute-Test mithilfe der Test-SPs in der DFN-AAI-Test ==== | + | |
- | + | ||
- | Bitte testen Sie jetzt die Attribute-Freigabe gegen unsere Test-SPs, siehe dazu | + | |
- | https:// | + | |
- | + | ||
- | Erst wenn diese Tests erfolgreich sind uns Sie die Attribute ' | + | |
- | + | ||
- | ==== Attribute-Test mithilfe aacli ==== | + | |
- | + | ||
- | Mit dem **Resolvertest (aacli)** besteht die Möglichkeit, | + | |
- | <code bash> | + | |
- | root@idp# ./aacli.sh -n test-clt -r https:// | + | |
- | </ | + | |
- | (**-n** principal = user id; **-r** requester = entityId des anfragenden SP) | + | |
- | + | ||
- | ====Zertifikate==== | + | |
- | + | ||
- | Sofern Sie erfolgreich Attribute übertragen konnten sollten Sie jetzt als nächstes auf DFN-PKI-Zertifikate wechseln. | + | |
- | + | ||
- | Die bei der Installation erzeugten Private Keys und zugehörigen selbst-signierten Zertifikate müssen für den späteren Produktionsbetrieb gegen DFN-PKI-Zertifikate ausgetauscht werden. Wir empfehlen die Verwendung der selben Key- und Zertifikats-Files, | + | |
- | + | ||
- | Unter Debian/ | + | |
- | + | ||
- | <file ini / | + | |
- | # ... | + | |
- | # Settings for public/ | + | |
- | # During decryption key rollover, point the " | + | |
- | # keypair, uncomment in credentials.xml, | + | |
- | idp.signing.key= / | + | |
- | idp.signing.cert= / | + | |
- | idp.encryption.key= / | + | |
- | idp.encryption.cert= / | + | |
- | # | + | |
- | # | + | |
- | # ... | + | |
- | </ | + | |
- | + | ||
- | * das Format der Zert-Datei muss PEM sein, DER funktioniert nicht! | + | |
- | * in den PEM-Dateien dürfen keine Kommentare enthalten, sie müssen in der ersten Zeile mit " | + | |
- | * in den PEM-Dateien dürfen am Ende der Zeilen keine Blanks oder andere unsichtbare Zeichen sein | + | |
- | * Bitte darauf achten, dass die PEM-Dateien vom Tomcat-User gelesen werden dürfen! | + | |
- | * die private-key-Datei darf nicht mit einer Passphrase verschlüsselt sein! | + | |
- | + | ||
- | + | ||
- | Auf Debian/ | + | |
- | Der Tomcat-User muss also Mitglied dieser Gruppe sein, siehe die entsprechenden [[https:// | + | |
- | zur Vorbereitung der Systemumgebung in diesem Wiki]] und auch im Shibboleth Wiki unter [[https:// | + | |
- | + | ||
- | Starten Sie Tomcat neu um die neuen Einstellungen zu aktivieren (dabei Logdateien mitverfolgen!): | + | |
- | <code bash> | + | |
- | root@idp:/ | + | |
- | </ | + | |
- | + | ||
- | **Wichtig**: | + | |
- | + | ||
- | * **Denken Sie daran, das neue Zertifikat in der DFN-AAI-Metadatenverwaltung einzutragen. Dort sind zunächst die bei der Installation generierten selbst-signierten Zertifikate eingetragen worden.** Am besten löschen Sie dort alle (sechs!) Zertifikatsinstanzen und tragen danach das neue Zertifikat nur noch zweimal ein: einmal im Abschnitt "IdP Single Sign On Descriptor" | + | |
- | * **Warten Sie dann zwei Stunden bis die neuen Zertifkate in die DFN-AAI-Test-Metadaten aufgenommen worden sind und testen Sie nochmal die Attribut-Freigaben wie oben beschrieben!** | + | |
- | * Die Datei./ | + | |
- | + | ||
- | ====Weiterführende | + | |
- | + | ||
- | Weiter geht's mit dem Webseiten-Layout auf der [[de: | + | |