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 14:30] Wolfgang Pempede:shibeds [2020/04/07 14:38] Raoul Gunnar Borenius
Zeile 1: Zeile 1:
 ====== Shibboleth Embedded Discovery Service (EDS) ====== ====== Shibboleth Embedded Discovery Service (EDS) ======
  
-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.+Sofern Ihr SP seinen Service nur gewissen Einrichtungen zur Verfügung stellt, empfehlen wir einen sogenannten Metadata-Filter im SP zu konfigurieren:
  
-**Die offizielle Dokumentation zum EDS findet sich im [[https://wiki.shibboleth.net/confluence/display/EDS10/Embedded+Discovery+Service|Shibboleth Wiki]].**+1. Beispiel-Filter: explizite Angabe der gewünschten IdPs:
  
-**Ergänzend hierzu** einige allgemeine Anmerkungen und Hinweise zur Installation unter Debian: 
-   * Download unter http://shibboleth.net/downloads/embedded-discovery-service/latest/ 
-   * Tatsächlich benötigt werden nur die im Zip-Archiv enthaltenen Dateien ''idpselect_config.js'', ''idpselect.css'', ''idpselect.js'' und ggf. ''index.html'', siehe hierzu auch die enthaltene ''README.txt'' 
-   * Unter Debian empfiehlt es sich, diese Dateien unter ''/var/www'', ''/var/www/html'' o.ä. abzulegen, z.B.\\ ''/var/www/vhosts/sp.uni-beispiel.de/ds/'' 
-   * Zunächst muss ''index.html'' angepasst oder eine eigene HTML-Seite angelegt werden, in der die JavaScript-Aufrufe eingebettet werden, siehe hierzu die Kommentare in ''index.html'' sowie die [[https://wiki.shibboleth.net/confluence/display/EDS10/2.+Installation#id-2.Installation-2.3WebPageSetup|offizielle Dokumentation]] 
-     * 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]] 
- 
-**Konfiguration des Service Providers** (üblicherweise unter ''/etc/shibboleth/shibboleth2.xml''): 
 <file xml /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="Chaining">
    <MetadataProvider type="XML"     <MetadataProvider type="XML" 
          uri="https://www.aai.dfn.de/fileadmin/metadata/DFN-AAI-Basic-metadata.xml"          uri="https://www.aai.dfn.de/fileadmin/metadata/DFN-AAI-Basic-metadata.xml"
-         backingFilePath="DFN-AAI-Basic-metadata.xml" legacyOrgNames="true+         backingFilePath="DFN-AAI-Basic-metadata.xml" 
          minRefreshDelay="240" reloadInterval="300">          minRefreshDelay="240" reloadInterval="300">
       <MetadataFilter type="RequireValidUntil" maxValidityInterval="604800"/>       <MetadataFilter type="RequireValidUntil" maxValidityInterval="604800"/>
-      <MetadataFilter type="Signature" certificate="/etc/ssl/aai/dfn-aai.pem" />+      <MetadataFilter type="Signature" certificate="/etc/ssl/aai/dfn-aai.g2.pem" />
       <MetadataFilter type="Whitelist">       <MetadataFilter type="Whitelist">
          <Include>https://idp.uni-beispiel1.de/idp/shibboleth</Include>          <Include>https://idp.uni-beispiel1.de/idp/shibboleth</Include>
Zeile 34: Zeile 21:
       </MetadataFilter>       </MetadataFilter>
    </MetadataProvider>    </MetadataProvider>
-   <!-- hier ggfweitere MetadataProvider-Elemente -->+   ... 
 </MetadataProvider> </MetadataProvider>
 </file> </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): +2. Beispiel: Positiv-Auswahl anhand einer **Entity Category** 
-<file apache /etc/apache2/sites-enabled/sp.uni-beispiel.de.conf> + 
-Alias /ds /var/www/vhosts/sp.uni-beispiel.de/ds/ +siehe  Online-Dokumentation des bwIDM-Projekts unter https://www.bwidm.de/teilnahme/dienstanbieter/ (Abschnitt 1.2 - Technische Voraussetzungen) 
-<Location /ds> + 
-   Require all granted + 
-</Location+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
-</file>+ 
 +**Die offizielle Dokumentation zum EDS findet sich im [[https://wiki.shibboleth.net/confluence/display/EDS10/Embedded+Discovery+Service|Shibboleth Wiki]].** 
 + 
 +**Ergänzend hierzu** einige allgemeine Anmerkungen und Hinweise zur Installation unter Debian: 
 +   * Download unter http://shibboleth.net/downloads/embedded-discovery-service/latest/ 
 +   * Tatsächlich benötigt werden nur die im Zip-Archiv enthaltenen Dateien ''idpselect_config.js'', ''idpselect.css'', ''idpselect.js'' und ggf. ''index.html'', siehe hierzu auch die enthaltene ''README.txt'' 
 +   * Unter Debian empfiehlt es sich, diese Dateien unter ''/var/www'', ''/var/www/html'' o.ä. abzulegen, z.B.\\ ''/var/www/vhosts/sp.uni-beispiel.de/ds/'' 
 +   * Zunächst muss ''index.html'' angepasst oder eine eigene HTML-Seite angelegt werden, in der die JavaScript-Aufrufe eingebettet werden, siehe hierzu die Kommentare in ''index.html'' sowie die [[https://wiki.shibboleth.net/confluence/display/EDS10/2.+Installation#id-2.Installation-2.3WebPageSetup|offizielle Dokumentation]] 
 +     * 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]]
  
-Der EDS kommt **zum Beispiel** beim DFN Test-SP3 zum Einsatz: https://testsp3.aai.dfn.de/