Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung Nächste ÜberarbeitungBeide Seiten der Revision |
de:shibsp [2020/04/08 16:39] – Raoul Gunnar Borenius | de:shibsp [2021/08/17 19:04] – Wolfgang Pempe |
---|
~~NOTOC~~ | |
====== Shibboleth SP ====== | ====== Shibboleth SP ====== |
{{INLINETOC 2}} | |
| |
===== Installation und allgemeine Dokumentation ===== | ===== Installation und allgemeine Dokumentation ===== |
</file> | </file> |
| |
**Filtermechanismen** | ===Filtermechanismen=== |
| |
Wenn der vom SP geschützte Dienst nur von Angehörigen bestimmter Einrichtungen genutzt werden soll, können anhand bestimmter Kriterien sogenannte [[https://wiki.shibboleth.net/confluence/display/SP3/MetadataFilter|Metadata Filter]] im SP konfiguriert werden. Dies hat zwei Vorteile: | Wenn der vom SP geschützte Dienst nur von Angehörigen bestimmter Einrichtungen genutzt werden soll, können anhand bestimmter Kriterien sogenannte [[https://wiki.shibboleth.net/confluence/display/SP3/MetadataFilter|Metadata Filter]] im SP konfiguriert werden. Dies hat zwei Vorteile: |
- Der SP arbeitet intern nur mit dem gefilterten, in der Regel deutlich reduzierten Metadatensatz | - Der SP arbeitet intern nur mit dem gefilterten, in der Regel deutlich reduzierten Metadatensatz |
- Ist im SP der entsprechende Discovery Feed Handler konfiguriert (''<Handler type="DiscoveryFeed" Location="/DiscoFeed"/>'') sorgt der Embedded Discovery Service (s.u.) dafür, dass nur die IdPs bzw. Einrichtungen angezeigt werden, die in diesen gefilterten Metadaten enthalten sind. Der entsprechende Parameter in ''idpselect_config.js'' muss hierfür folgendermaßen belegt werden:\\ ''this.dataSource = '/Shibboleth.sso/DiscoFeed''' | - der Embedded Discovery Service zeigt nur diejenigen IdPs bzw. Einrichtungen an, welche in diesen gefilterten Metadaten enthalten sind. In shibboleth2.xml muss ''<Handler type="DiscoveryFeed" Location="/DiscoFeed"/>'' aktiv sein, bitte überprüfen sie das zur Sicherheit!). |
Im folgenden ein Beispiel für eine **Whitelist**: | |
| Die Whitelist wird dann folgendermassen konfiguriert: |
| |
<file xml /etc/shibboleth/shibboleth2.xml> | <file xml /etc/shibboleth/shibboleth2.xml> |
| |
==== Shibboleth EDS (Embedded Discovery Service)==== | ==== Shibboleth EDS (Embedded Discovery Service)==== |
Siehe hierzu die [[https://wiki.shibboleth.net/confluence/display/EDS10/Embedded+Discovery+Service|Dokumentation im Shibboleth-Wiki]] | |
| |
=== Installation === | === Installation === |
| |
Siehe hierzu die betreffende [[https://wiki.shibboleth.net/confluence/display/EDS10/2.+Installation|Seite im Shibboleth Wiki]]. Für RPM-basierte Linux-Varianten bieten die Shibboleth-Entwickler ein [[https://wiki.shibboleth.net/confluence/display/EDS10/2.+Installation|RPM-Paket]] an. Für andere Systeme gibt es ein [[https://shibboleth.net/downloads/embedded-discovery-service/latest/|tar-File]] zum Download. | (Im Folgenden eine Kurzanleitung zur Installation, eine ausführlichere finden Sie auf den [[https://wiki.shibboleth.net/confluence/display/EDS10/2.+Installation|Seiten im Shibboleth Wiki]].) |
| |
<wrap info>Das RPM legt die Dateien des EDS nach /etc/shibboleth-ds/. Daher geht die folgende Anleitung davon aus dass auch auf nicht-RPM-Systemen die Dateien aus dem tar-File nach /etc/shibboleth-ds/ ausgepackt wurden (das im tar-File enthaltene Makefile kann einfach ignoriert werden, unser Installprozess beschränkt sich darauf den Inhalt des tar-files nach /etc/shibboleth-ds/ auszupacken).</wrap> | * CentOS/RedHat/SuSE |
| |
| Für RPM-basierte Linux-Varianten bieten die Shibboleth-Entwickler ein [[https://wiki.shibboleth.net/confluence/display/EDS10/2.+Installation|RPM-Paket]] an. |
| |
| * Debian/Ubuntu/etc. |
| |
| Laden Sie das aktuelle [[https://shibboleth.net/downloads/embedded-discovery-service/latest/|tar-File]] herunter, packen Sie es aus und installieren Sie es: |
| |
| <code> |
| root@server:~# wget https://shibboleth.net/downloads/embedded-discovery-service/latest/shibboleth-embedded-ds-1.2.2.tar.gz |
| root@server:~# tar -xzf shibboleth-embedded-ds-1.2.2.tar.gz |
| root@server:~# cd shibboleth-embedded-ds-1.2.2 ; make install |
| </code> |
| |
\\ | \\ |
| |
=== Konfiguration === | === Konfiguration === |
| |
Damit der EDS die Arbeit aus Sicherheitsgründen nicht verweigert, muss der eigene Vhost-Namen in die "Return White List" eingetragen werden: | Damit der EDS die Arbeit aus Sicherheitsgründen nicht verweigert, muss der eigene Vhost-Namen in die "Return White List" eingetragen werden: |
| |
<file ini /etc/shibboleth-ds/idpselect_config.js> | <file javascript /etc/shibboleth-ds/idpselect_config.js> |
... | ... |
this.returnWhiteList = [ "^https:\/\/meinvhost\.meinedomain\.de\/Shibboleth\.sso\/Login.*$" ]; | this.returnWhiteList = [ "^https:\/\/meinvhost\.meinedomain\.de\/Shibboleth\.sso\/Login.*$" ]; |
</file> | </file> |
<wrap warning>Achten Sie auf die korrekte Syntax, der Eintrag muss in Form einer Regular Expression gemacht werden!</wrap> | <wrap warning>Achten Sie auf die korrekte Syntax, der Eintrag muss in Form einer Regular Expression gemacht werden!</wrap> |
| |
| Verifizieren Sie in der gleichen Datei, daß der Parameter ''this.dataSource'' den Wert '''/Shibboleth.sso/DiscoFeed''' hat damit das Zusammenspiel zwischen SP und EDS funktioniert. |
| |
\\ | \\ |
| Damit ist der EDS grundsätzlich einsatzbereit. Weitere Hinweise und Informationen (z.B. zur Anpassung des Layouts) finden sich in den Kommentaren der Konfigurationsdatei(en) sowie im |
| [[https://wiki.shibboleth.net/confluence/display/EDS10/Embedded+Discovery+Service|Shibboleth-Wiki]]. |
| |
=== Konfiguration für den Produktivbetrieb === | === Konfiguration für den Produktivbetrieb === |
<code>https://wayf.aai.dfn.de/DFN-AAI-Basic/wayf?entityID=https%3A%2F%2Fmyvhost.mydomain.de%2Fshibboleth&return=https%3A%2F%2Fmyvhost.mydpmain.de%2FShibboleth.sso%2FLogin%3FSAMLDS%3D1</code> | <code>https://wayf.aai.dfn.de/DFN-AAI-Basic/wayf?entityID=https%3A%2F%2Fmyvhost.mydomain.de%2Fshibboleth&return=https%3A%2F%2Fmyvhost.mydpmain.de%2FShibboleth.sso%2FLogin%3FSAMLDS%3D1</code> |
| |
Damit ist der EDS grundsätzlich einsatzbereit. Weitere Hinweise und Informationen finden sich in den Kommentaren der Konfigurationsdatei(en) sowie im [[https://wiki.shibboleth.net/confluence/display/EDS10/Embedded+Discovery+Service|Shibboleth-Wiki]]. | |
====Apache Webserver==== | ====Apache Webserver==== |
| |
Alias /shibboleth-sp/main.css /usr/share/shibboleth/main.css | Alias /shibboleth-sp/main.css /usr/share/shibboleth/main.css |
####################################################### | ####################################################### |
| |
| |
# | # |
# Vom SP zu schützende Location | # Vom SP zu schützende Location |
ShibRequestSetting requireSession true | ShibRequestSetting requireSession true |
Require valid-user | Require valid-user |
</Location> | </Location> |
| |
</VirtualHost> | </VirtualHost> |
</file> | </file> |
* **Zertifikate** ''CredentialResolver'' | * **Zertifikate** ''CredentialResolver'' |
* Siehe unter [[de:certificates|Zertifikate]] | * Siehe unter [[de:certificates|Zertifikate]] |
* **Metadaten** (und dfn-aai.g2.pem zur Verifikation der Signatur) ''MetadataProvider'' | * **Metadaten** (und dfn-aai.pem zur Verifikation der Signatur) ''MetadataProvider'' |
* Siehe unter [[de:metadata|Metadaten]] und [[de:production#metadataprovider|Produktivbetrieb]] | * Siehe unter [[de:metadata|Metadaten]] und [[de:production#metadataprovider|Produktivbetrieb]] |
* **Discovery Service** ''SSO/@discoveryURL'' | * **Discovery Service** ''SSO/@discoveryURL'' |
</callout> | </callout> |
| |
| {{tag>sp}} |