Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
de:shibeds [2015/11/11 13:38] Wolfgang Pempede:shibeds [2020/04/07 14:35] Raoul Gunnar Borenius
Zeile 1: Zeile 1:
 ====== Shibboleth Embedded Discovery Service (EDS) ====== ====== Shibboleth Embedded Discovery Service (EDS) ======
 +
 +Sofern Ihr SP seinen Service nur gewissen Einrichtungen zur Verfügung stellt, empfehlen wir einen sogenannten Metadata-Filter im SP zu konfigurieren, der dafür sorgt dass in der Einrichtungsauswahl nur die gewollten Einrichtungen erscheinen:
 +
 +
 +**Konfiguration des Service Providers** (üblicherweise unter ''/etc/shibboleth/shibboleth2.xml''):
 +<file xml /etc/shibboleth/shibboleth2.xml>
 +<SSO discoveryProtocol="SAMLDS" discoveryURL="https://sp.uni-beispiel.de/ds/index.html">
 +  SAML2
 +</SSO>
 +
 +<!-- i.d.R. in Kombination mit einem MetadataFilter: -->
 +
 +<MetadataProvider type="Chaining">
 +   <MetadataProvider type="XML" 
 +         uri="https://www.aai.dfn.de/fileadmin/metadata/DFN-AAI-Basic-metadata.xml"
 +         backingFilePath="DFN-AAI-Basic-metadata.xml" 
 +         minRefreshDelay="240" reloadInterval="300">
 +      <MetadataFilter type="RequireValidUntil" maxValidityInterval="604800"/>
 +      <MetadataFilter type="Signature" certificate="/etc/ssl/aai/dfn-aai.pem" />
 +      <MetadataFilter type="Whitelist">
 +         <Include>https://idp.uni-beispiel1.de/idp/shibboleth</Include>
 +         <Include>https://idp.uni-beispiel2.de/idp/shibboleth</Include>
 +         <Include>https://idp.uni-beispiel3.de/idp/shibboleth</Include>
 +      </MetadataFilter>
 +   </MetadataProvider>
 +   <!-- hier ggf. weitere MetadataProvider-Elemente -->
 +</MetadataProvider>
 +</file>
 +Ein Beispiel für eine Positiv-Auswahl anhand einer **Entity Category** findet sich in der Online-Dokumentation des bwIDM-Projekts unter https://www.bwidm.de/teilnahme/dienstanbieter/ (Abschnitt 1.2 - Technische Voraussetzungen)
 +
 +**Konfiguration des Webservers** (Apache 2.4):
 +<file apache /etc/apache2/sites-enabled/sp.uni-beispiel.de.conf>
 +Alias /ds /var/www/vhosts/sp.uni-beispiel.de/ds/
 +<Location /ds>
 +   Require all granted
 +</Location>
 +</file>
 +
 +Der EDS kommt **zum Beispiel** beim DFN Test-SP3 zum Einsatz: https://testsp3.aai.dfn.de/
 +
 +
  
 Beim EDS handelt es sich um einen Satz von Java Scripts, der sich in beliebige HTML-Seiten einbetten lässt und der mit dem vom Shibboleth SP ab Version 2.4 generierten [[https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPHandler#NativeSPHandler-DiscoveryFeedHandler%28Version2.4andAbove%29|Discovery Feed]] arbeitet (/Shibboleth.sso/DiscoFeed). Hierbei handelt es sich um (IdP-)Daten im JSON-Format, die aus den über ein oder mehrere [[https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPMetadataProvider|MetadataProvider-Elemente]] verfügbaren Metadaten generiert werden - nach Anwendung etwaiger [[https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPMetadataFilter|MetadataFilter]], z.B. einer [[https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPMetadataFilter#NativeSPMetadataFilter-WhitelistMetadataFilter|Whitelist von Entity IDs zugriffsberechtigter IdPs oder einer EntityCategory]]. Auf diese Weise lässt sich mit geringem Aufwand eine Einrichtungsauswahl realisieren, die ausschließlich IdPs von Einrichtungen enthält, deren NutzerInnen Zugriff auf den vom SP geschützten Dienst erhalten sollen. Beim EDS handelt es sich um einen Satz von Java Scripts, der sich in beliebige HTML-Seiten einbetten lässt und der mit dem vom Shibboleth SP ab Version 2.4 generierten [[https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPHandler#NativeSPHandler-DiscoveryFeedHandler%28Version2.4andAbove%29|Discovery Feed]] arbeitet (/Shibboleth.sso/DiscoFeed). Hierbei handelt es sich um (IdP-)Daten im JSON-Format, die aus den über ein oder mehrere [[https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPMetadataProvider|MetadataProvider-Elemente]] verfügbaren Metadaten generiert werden - nach Anwendung etwaiger [[https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPMetadataFilter|MetadataFilter]], z.B. einer [[https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPMetadataFilter#NativeSPMetadataFilter-WhitelistMetadataFilter|Whitelist von Entity IDs zugriffsberechtigter IdPs oder einer EntityCategory]]. Auf diese Weise lässt sich mit geringem Aufwand eine Einrichtungsauswahl realisieren, die ausschließlich IdPs von Einrichtungen enthält, deren NutzerInnen Zugriff auf den vom SP geschützten Dienst erhalten sollen.
Zeile 12: Zeile 53:
      * Für das <noscript>-Element empfiehlt sich der Link auf einen zentralen WAYF/DS, z.B.\\ ''https://wayf.aai.dfn.de/DFN-AAI-Basic/wayf?entityID=https%3A%2F%2Fsp.uni-beispiel.de%2Fshibboleth&return=https%3A%2F%2Fsp.uni-beispiel.de%2FShibboleth.sso%2FLogin%3FSAMLDS%3D1''      * Für das <noscript>-Element empfiehlt sich der Link auf einen zentralen WAYF/DS, z.B.\\ ''https://wayf.aai.dfn.de/DFN-AAI-Basic/wayf?entityID=https%3A%2F%2Fsp.uni-beispiel.de%2Fshibboleth&return=https%3A%2F%2Fsp.uni-beispiel.de%2FShibboleth.sso%2FLogin%3FSAMLDS%3D1''
    * Spezifische Anpassungen müssen in ''idpselect_config.js'' und ggf. ''idpselect.css'' vorgenommen werden, siehe hierzu die Kommentare in den betreffenden Dateien sowie die [[https://wiki.shibboleth.net/confluence/display/EDS10/3.+Configuration|offizielle Dokumentation]]    * Spezifische Anpassungen müssen in ''idpselect_config.js'' und ggf. ''idpselect.css'' vorgenommen werden, siehe hierzu die Kommentare in den betreffenden Dateien sowie die [[https://wiki.shibboleth.net/confluence/display/EDS10/3.+Configuration|offizielle Dokumentation]]
-   * Konfiguration des Service Providers, üblicherweise unter ''/etc/shibboleth/shibboleth2.xml'':