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
de:aai:training:shibsp [2021/02/24 15:39] – [2. Attribute Map auffüllen] Silke Meyerde:aai:training:shibsp [2021/12/16 08:53] (aktuell) – [Der User-Identifier: REMOTE_USER] Korrekturen bei User Identifiern Silke Meyer
Zeile 1: Zeile 1:
 ====== Einführung in den Shibboleth SP ====== ====== Einführung in den Shibboleth SP ======
-<callout color="#ff9900" title="Download der Schulungs-VM"> +<callout color="#ff9900" title="Download der Schulungs-VM und Mitschnitte"> 
-Die Schulungs-VM können Sie sich [[https://download.aai.dfn.de/ws/2021/sp-schulung/2021-02-18_sp_workshop.ova|hier]] (.ova, 3,9 GB) herunterladen.+Die Schulungs-VM können Sie sich [[https://download.aai.dfn.de/ws/2021/sp-schulung/2021-02-18_sp_workshop.ova|hier]] (.ova, 3,9 GB) herunterladen. Die Mitschnitte finden Sie auf [[de:aai:training:shibsp_recordings|dieser Seite]].
 </callout> </callout>
 ===== Hinweise zur virtuellen Maschine ===== ===== Hinweise zur virtuellen Maschine =====
Zeile 82: Zeile 82:
 </code> </code>
  
-===== Informationen zur SP-Installation =====+===== Untersuchung der SP-Installation =====
  
   * User und Gruppe ''_shibd''   * User und Gruppe ''_shibd''
Zeile 141: Zeile 141:
 </callout> </callout>
  
-===== Untersuchung der Installation =====+===== Untersuchung der SP-Installation II =====
  
 Zunächst schauen Sie sich bitte noch etwas in der VM um. Zunächst schauen Sie sich bitte noch etwas in der VM um.
Zeile 150: Zeile 150:
 wget --no-check-certificate https://sp2.local/Shibboleth.sso/Metadata -O /opt/shibboleth-idp/metadata/sp2-metadata.xml</code> wget --no-check-certificate https://sp2.local/Shibboleth.sso/Metadata -O /opt/shibboleth-idp/metadata/sp2-metadata.xml</code>
  
-==== Der Identifier: REMOTE_USER ====+==== Der User-Identifier: REMOTE_USER ====
  
 Über die Variable REMOTE_USER wird in ''/etc/shibboleth/shibboleth2.xml'' der primäre Identifier der Browser-Nutzer*innen übergeben. Jedes in ''attribute-map.xml'' (s.u.) genannte Attribute kann als Quelle angegeben werden. Dazu wird die ''id'' referenziert, die in der Attribute Map steht. Bei Mehrfachnennung (mit Leerzeichen getrennt) wird das erste mit Werten befüllte Attribut verwendet. Über die Variable REMOTE_USER wird in ''/etc/shibboleth/shibboleth2.xml'' der primäre Identifier der Browser-Nutzer*innen übergeben. Jedes in ''attribute-map.xml'' (s.u.) genannte Attribute kann als Quelle angegeben werden. Dazu wird die ''id'' referenziert, die in der Attribute Map steht. Bei Mehrfachnennung (mit Leerzeichen getrennt) wird das erste mit Werten befüllte Attribut verwendet.
Zeile 160: Zeile 160:
   * Über die Zeit sollte derselbe Wert nicht für andere Nutzer*innen übermittelt werden.   * Über die Zeit sollte derselbe Wert nicht für andere Nutzer*innen übermittelt werden.
   * Das Attribut sollte nur //einen// Wert liefern. ''mail'' eignet sich deshalb nicht.   * Das Attribut sollte nur //einen// Wert liefern. ''mail'' eignet sich deshalb nicht.
-  * Aus Datenschutzsicht ist ein Identifier zu bevorzugen, der kein SP-übergreifendes User-Tracking erlaubt wie z.B. ''eduPersonUniqueId'', ''eduPersonPrincipalName'' oder die noch relativ neue ''SAML Subject ID''+  * **Aus Datenschutzsicht ist ein Identifier zu bevorzugen, der kein SP-übergreifendes User-Tracking erlaubt** wie z.B. ''SAML Pairwise ID'' oder ''persistentID'' (beide pseudonym und targeted, also pro User*in //pro SP// generiert und persistiert). 
-  * **gute Wahl: persistentId.** Die SAML 2 NameID ist pseudonym und targeted, wird also pro User*in //pro SP// generiert und persistiert.+  * ''SAML Subject ID'' und''eduPersonUniqueID'' sind zwar pseudonym, werden aber nicht pro SP generiert. Daher ist ein SP-übergreifendes User-Tracking möglich (was ja in bestimmten Fällen auch erwünscht sein kann). ''eduPersonPrincipalName'' ist in sehr vielen Fällen nicht pseudonym, sondern basiert auf Namen oder uids. Daher geht der Trend weg von der Nutzung des ''eduPersonPrincipalName'' als User Identifier.
  
 ==== attribute-map.xml ==== ==== attribute-map.xml ====
Zeile 317: Zeile 317:
  
 ==== 1. Anpassung des Loglevels ==== ==== 1. Anpassung des Loglevels ====
 +
 +<callout color="#ff9900" title="Screencast">
 +Die Durchführung dieser Übung können Sie in unserem [[de:aai:training:shibsp_recordings#uebung_1anpassung_des_loglevels|Screencast]] ansehen.
 +</callout>
  
 Behalten Sie in einer separaten Konsole die Logdateien des SP im Blick: Behalten Sie in einer separaten Konsole die Logdateien des SP im Blick:
Zeile 332: Zeile 336:
  
 ==== 2. Auffüllen der Attribute Map ==== ==== 2. Auffüllen der Attribute Map ====
 +
 +<callout color="#ff9900" title="Screencast">
 +Die Durchführung dieser Übung können Sie in unserem [[de:aai:training:shibsp_recordings#uebung_2auffuellen_der_attribute_map|Screencast]] ansehen.
 +</callout>
  
 Editieren Sie die Datei ''/etc/shibboleth/attribute-map.xml''. Nur wenige Attribute sind hier einkommentiert. Damit der SP auch die anderen Attribute erkennt, entfernen Sie bitte die Kommentarzeichen um die übrigen Attribute. Auch die eduPersonUniqueId, die weiter unten verwendet werden soll, fehlt hier noch. Ergänzen Sie:<code xml><Attribute name="urn:oid:1.3.6.1.4.1.5923.1.1.1.13" id="eduPersonUniqueId"/></code>. Editieren Sie die Datei ''/etc/shibboleth/attribute-map.xml''. Nur wenige Attribute sind hier einkommentiert. Damit der SP auch die anderen Attribute erkennt, entfernen Sie bitte die Kommentarzeichen um die übrigen Attribute. Auch die eduPersonUniqueId, die weiter unten verwendet werden soll, fehlt hier noch. Ergänzen Sie:<code xml><Attribute name="urn:oid:1.3.6.1.4.1.5923.1.1.1.13" id="eduPersonUniqueId"/></code>.
  
 ==== 3. Location schützen ==== ==== 3. Location schützen ====
 +
 +<callout color="#ff9900" title="Screencast">
 +Die Durchführung dieser Übung können Sie in diesem [[de:aai:training:shibsp_recordings#uebung_3eine_location_schuetzen|Screencast]] ansehen.
 +</callout>
  
 Editieren Sie die Datei ''/etc/apache2/sites-enabled/sp1.conf''. Fügen Sie in den VirtualHost für Port 443 folgenden oben bereits erwähnten Abschnitt ein, um beim Zugriff auf ''https://sp1.local'' eine gültige Session zu verlangen:<file xml /etc/apache2/sites-enabled/sp1.conf> Editieren Sie die Datei ''/etc/apache2/sites-enabled/sp1.conf''. Fügen Sie in den VirtualHost für Port 443 folgenden oben bereits erwähnten Abschnitt ein, um beim Zugriff auf ''https://sp1.local'' eine gültige Session zu verlangen:<file xml /etc/apache2/sites-enabled/sp1.conf>
Zeile 366: Zeile 378:
  
 ==== 4. Locations mit unterschiedlichen Regeln ==== ==== 4. Locations mit unterschiedlichen Regeln ====
 +
 +<callout color="#ff9900" title="Screencast">
 +Die Durchführung dieser Übung können Sie in diesem [[de:aai:training:shibsp_recordings#uebung_4locations_mit_unterschiedlichen_regeln_schuetzen#uebung_3eine_location_schuetzen|Screencast]] ansehen.
 +</callout>
  
 Im selben virtuellen Host (sp1.local) sollen jetzt zwei Locations mit verschiedenen Autorisierungsregeln versehen werden. In den Zielverzeichnissen der beiden URLs liegen bereits index.html-Dateien bereit. Zur Erinnerung: Der Identity Provider übermittelt nur eingeschränkte Informationen an den SP1: Im selben virtuellen Host (sp1.local) sollen jetzt zwei Locations mit verschiedenen Autorisierungsregeln versehen werden. In den Zielverzeichnissen der beiden URLs liegen bereits index.html-Dateien bereit. Zur Erinnerung: Der Identity Provider übermittelt nur eingeschränkte Informationen an den SP1:
Zeile 396: Zeile 412:
  
 ==== 5. Zweiten VHost schützen ==== ==== 5. Zweiten VHost schützen ====
 +
 +<callout color="#ff9900" title="Screencast">
 +Die Durchführung dieser Übung können Sie in diesem [[de:aai:training:shibsp_recordings#uebung_5zweiten_vhost_schuetzen|Screencast]] ansehen.
 +</callout>
  
 https://wiki.shibboleth.net/confluence/display/SP3/ApplicationOverride https://wiki.shibboleth.net/confluence/display/SP3/ApplicationOverride
Zeile 576: Zeile 596:
  
 ==== 7. Showcase Moodle-Anbindung ==== ==== 7. Showcase Moodle-Anbindung ====
 +
 +<callout color="#ff9900" title="Screencast">
 +Die Durchführung dieser Übung können Sie in diesem [[de:aai:training:shibsp_recordings#showcasemoodle-anbindung_mit_mitgeliefertem_plugin|Screencast]] ansehen.
 +</callout>
 +
   * Moodle-Verzeichnis: ''/var/www/moodle''   * Moodle-Verzeichnis: ''/var/www/moodle''
   * lokaler Moodle-Admin: shibboleth, Passwort: Shibboleth1!   * lokaler Moodle-Admin: shibboleth, Passwort: Shibboleth1!
  • Zuletzt geändert: vor 3 Jahren