Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung Nächste ÜberarbeitungBeide Seiten der Revision |
de:shibsp [2020/04/19 10:18] – Raoul Gunnar Borenius | de:shibsp [2022/03/03 17:21] – 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://shibboleth.atlassian.net/wiki/spaces/SP3/pages/2063696193/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> |
validate="true" backingFilePath="dfn-aai-basic-metadata.xml" reloadInterval="3600"> | validate="true" backingFilePath="dfn-aai-basic-metadata.xml" reloadInterval="3600"> |
<MetadataFilter type="Signature" certificate="/etc/ssl/aai/dfn-aai.pem" /> | <MetadataFilter type="Signature" certificate="/etc/ssl/aai/dfn-aai.pem" /> |
<MetadataFilter type="Whitelist"> | <MetadataFilter type="Include"> |
<Include>https://idp.uni-beispiel1.de/idp/shibboleth</Include> | <Include>https://idp.uni-beispiel1.de/idp/shibboleth</Include> |
<Include>https://idp.uni-beispiel2.de/idp/shibboleth</Include> | <Include>https://idp.uni-beispiel2.de/idp/shibboleth</Include> |
</file> | </file> |
| |
Für ein Beispiel eines Metadata Filters anhand einer [[de:entity_attributes#entity_categories|Entity Category]] siehe die Dokumentation des bwIDM-Projekts unter https://www.bwidm.de/teilnahme/dienstanbieter/ (Abschnitt 1.2 - Technische Voraussetzungen) | Für ein Beispiel eines Metadata Filters anhand einer [[de:entity_attributes#entity_categories|Entity Category]] siehe die Dokumentation des bwIDM-Projekts unter https://www.bwidm.de/teilnahme/dienstanbieter/ (Abschnitt 1.2 - Technische Voraussetzungen). |
| |
| Weiter Beispiele für Include- und Exclude-Filter anhand von Entity Attributen siehe unter [[https://doku.tid.dfn.de/de:entity_attributes#beispiele_filter|Entity Attributes]]. |
| |
| Im folgenden zwei Beispiele für Metadata Filter, die anhand der **Registration Authority** (also der jeweiligen Heimatföderation) auf die eduGAIN-Metadaten angewandt werden: |
| |
| **Nur Identity Provider aus der SWITCHaai (CH) und ACOnet Identity Federation (AT) zulassen:** |
| |
| <file xml /etc/shibboleth/shibboleth2.xml> |
| ... |
| <MetadataProvider type="XML" |
| url="http://www.aai.dfn.de/fileadmin/metadata/dfn-aai-edugain+idp-metadata.xml" |
| validate="true" backingFilePath="dfn-aai-edugain+idp-metadata.xml" reloadInterval="3600"> |
| <MetadataFilter type="Signature" certificate="/etc/ssl/aai/dfn-aai.pem" /> |
| <MetadataFilter type="Include" matcher="RegistrationAuthority"> |
| <registrationAuthority>http://rr.aai.switch.ch/</registrationAuthority> |
| <registrationAuthority>http://eduid.at</registrationAuthority> |
| </MetadataFilter> |
| </MetadataProvider> |
| ... |
| </file> |
| |
| **Identity Provider aus zwei fiktiven Föderationen ausschließen:** |
| |
| <file xml /etc/shibboleth/shibboleth2.xml> |
| ... |
| <MetadataProvider type="XML" |
| url="http://www.aai.dfn.de/fileadmin/metadata/dfn-aai-edugain+idp-metadata.xml" |
| validate="true" backingFilePath="dfn-aai-edugain+idp-metadata.xml" reloadInterval="3600"> |
| <MetadataFilter type="Signature" certificate="/etc/ssl/aai/dfn-aai.pem" /> |
| <MetadataFilter type="Exclude" matcher="RegistrationAuthority"> |
| <registrationAuthority>http://xyz.qq</registrationAuthority> |
| <registrationAuthority>http://zyx.ww</registrationAuthority> |
| </MetadataFilter> |
| </MetadataProvider> |
| ... |
| </file> |
| |
| **Hinweis:** Die Werte für ''registrationAuthority'' sind unter https://technical.edugain.org/status dokumentiert. Ein Klick auf den jeweiligen Föderationsnamen öffnet ein Fenster mit allen relevanten Infortmationen. |
| |
Nach allen Änderungen in ''shibboleth2.xml'' muss der shibd Service neu gestartet werden: | Nach allen Änderungen in ''shibboleth2.xml'' muss der shibd Service neu gestartet werden: |
=== Installation === | === Installation === |
| |
Siehe hierzu die betreffende [[https://wiki.shibboleth.net/confluence/display/EDS10/2.+Installation|Seite im Shibboleth Wiki]]. | (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]].) |
| |
* CentOS/RedHat/SuSE | * CentOS/RedHat/SuSE |
| |
=== 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> | </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. |
| |
\\ | \\ |
* **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}} |