Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung Nächste ÜberarbeitungBeide Seiten der Revision |
de:shibidp:config-attributes [2020/10/01 13:58] – [eduPersonTargetedId hinterlegen] Wolfgang Pempe | de:shibidp:config-attributes [2023/04/26 16:13] – [Vervollständigung der Attributdefinitionen] Wolfgang Pempe |
---|
| <- de:production|Produktivbetrieb ^ de:shibidp:uebersicht|Überblick: Tutorial zur IdP-Inbetriebnahme ^ de:attributes-nutshell|Attributes in a Nutshell -> |
====== Anpassung der Attributkonfiguration ====== | ====== Anpassung der Attributkonfiguration ====== |
| |
* Editieren Sie die Datei ''./conf/attributes/default-rules.xml'' und importieren Sie dort das neue Schema:<code xml><import resource="dfnEduPerson.xml" /></code> | * Editieren Sie die Datei ''./conf/attributes/default-rules.xml'' und importieren Sie dort das neue Schema:<code xml><import resource="dfnEduPerson.xml" /></code> |
| |
==== eduPersonTargetedId hinterlegen ==== | ==== eduPersonTargetedID und andere verbreitete Attribute hinterlegen ==== |
Auch die veraltete, aber noch viel benutzte ''eduPersonTargetedId'' ist nicht vordefiniert. Da viele SPs sie noch verlangen, sollten Sie sie hinterlegen. Für ein einzelnes Attribut legen Sie eine ''.properties''-Datei unterhalb von ''./conf/attributes/custom'' an und befüllen sie mit UI-Informationen und Transcoding-Regeln. | Auch die veraltete, aber noch viel benutzte [[de:common_attributes#a11|eduPersonTargetedID]] ist nicht vordefiniert. Da viele SPs sie noch verlangen, sollten Sie sie hinterlegen. Wir haben eine kleine Sammlung verbreiteter, nicht mitgelieferter Attribute für den IdP 4.x zusammengestellt. Sie enthält neben den Transcoding Properties für ''eduPersonTargetedID'' auch gängige Attribute aus dem SCHAC-Schema (z.B. ''schacPersonalUniqueCode'') und ''bwidmOrgId''. Laden Sie sich die Datei **[[de:shibidp:dfn_misc_transcoder|dfnMisc.xml]]** herunter und legen Sie sie nach ''./conf/attributes/dfnMisc.xml''. Referenzieren Sie sie in ''./conf/attributes/default-rules.xml''. |
| |
<file properties ./conf/attributes/custom/eduperson_targetedid.properties> | ==== Neu hinzugekommene Attribute im eduPerson-Schema ==== |
id=eduPersonTargetedID | Die mit dem Shibboleth IdP ausgelieferte Datei ''./conf/attributes/eduPerson.xml'' ist inzwischen nicht mehr auf dem aktuellen Stand der Spezifikation des eduPerson-Schemas. Bis hier eine neue, ergänzte Version mit einem IdP-Update erscheint, empfehlen wir, die hinzugekommenen Attribute in einzelnen ''*.properties''-Dateien unterhalb von ''./conf/attributes/custom'' zu pflegen. Diese Dateien können entfernt werden, wenn die ausgelieferte Datei ''./conf/attributes/eduPerson.xml'' die Attribute enthält. |
transcoder=SAML2XMLObjectTranscoder | |
saml2.name=urn:oid:1.3.6.1.4.1.5923.1.1.1.10 | <file properties /opt/shibboleth-idp/conf/attributes/custom/eduPersonDisplayPronouns.properties> |
displayName.de=Targeted ID (pseudonyme Kennung) | id=eduPersonDisplayPronouns |
displayName.en=Targeted ID (pseudonymous ID) | transcoder=SAML2StringTranscoder |
description.de=Targeted ID: Eindeutige, pseudonyme Nutzerkennung, unterschiedlich pro Service Provider | saml2.name=urn:oid:1.3.6.1.4.1.5923.1.1.1.18 |
description.en=Targeted ID: A unique, pseudonymous identifier for a person, different for each service provider | displayName.en=Displayed pronouns |
| displayName.de=Angezeigte Pronomen |
| description.en=Text representing the word(s) this person prefers as their personal pronoun(s) |
| description.de=Text, den diese Person als persönliche(s) Pronomen bevorzugt |
</file> | </file> |
(Weitere Informationen zur [[de:shibidp:config-attributes-edupersontargetedid#shibboleth_idp_4x_neuinstallationen|eduPersonTargetedId]]) | |
| |
<callout type="primary" title="Alternatives Verfahren"> | ==== eduPersonAssurance und REFEDS Assurance Framework ==== |
Alternativ zum Anlegen einer Property-Datei kann ergänzend zur o.g. Datei ''dfnEduPerson.xml'' die Datei **[[https://download.aai.dfn.de/schema/dfnMisc.xml|dfnMisc.xml]]** heruntergeladen werden, die neben den Transcoding Properties für **''eduPersonTargetedID''** auch solche für weitere, häufiger genutzte Attribute aus dem SCHAC-Schema (z.B. ''schacPersonalUniqueCode'') sowie ''bwidmOrgId'' enthält. Bitte nicht vergessen, auch diese Datei in ''./conf/attributes/default-rules.xml'' zu referenzieren! | Siehe hierzu die [[de:aai:assurance_idp|Hinweise und Konfigurationsbeispiele zur Implementierung des REFEDS Assurance Frameworks für IdPs]]. |
</callout> | |
| |
==== Optional: SAML1 abschalten ==== | ==== Optional: SAML1 abschalten ==== |
Die Minimal-Konfiguration enthält nur wenige Attribute. Welche weiteren Attributdefinitionen Sie einpflegen müssen, hängt davon ab, welche SPs Sie nutzen möchten und welche Attribute die von Ihrem IdP erwarten. | Die Minimal-Konfiguration enthält nur wenige Attribute. Welche weiteren Attributdefinitionen Sie einpflegen müssen, hängt davon ab, welche SPs Sie nutzen möchten und welche Attribute die von Ihrem IdP erwarten. |
Beginnen Sie z.B. mit unserer [[de:common_attributes|Liste der Attribute, die jeder IdP bereitstellen können sollte]], und definieren Sie sie in ''./conf/attribute-resolver.xml''. | Beginnen Sie z.B. mit unserer [[de:common_attributes|Liste der Attribute, die jeder IdP bereitstellen können sollte]], und definieren Sie sie in ''./conf/attribute-resolver.xml''. |
| |
| **Wenn Sie Attribute aus Ihrem IdM holen, die genau die gleiche ID haben, die auch in der Attribute Registry definiert ist, können Sie diese Attribute direkt importieren**, ohne für jedes eine ''<AttributeDefinition>'' zu schreiben. Abschnitte wie //"Ich definiere das Attribut ''mail'', indem ich das Attribut ''mail'' aus dem LDAP hole und es - wie in der Registry angegeben - als ''mail'' an SPs schicke"// sind nicht mehr nötig. Die zu importierenden Attribute werden unten in ''./conf/attribute-resolver.xml'' beim DataConnector mit der Direktive ''exportAttributes'' definiert. \\ |
| **Ausnahme:** Attribute wie ''eduPersonScopedAffiliation'' und ''eduPersonPrincipalName'', die bereits mit Scope aus dem LDAP/AD kommen, dürfen nicht via ''exportAttributes'' direkt an die Registry weitergereicht, sondern müssen über eine entsprechende ''<AttributeDefinition>'' mit ''type="Prescoped"'' definiert werden. |
| |
| <file xml ./conf/attribute-resolver.xml> |
| <DataConnector id="myLDAP" xsi:type="LDAPDirectory" |
| ldapURL="%{idp.attribute.resolver.LDAP.ldapURL}" |
| baseDN="%{idp.attribute.resolver.LDAP.baseDN}" |
| principal="%{idp.attribute.resolver.LDAP.bindDN}" |
| principalCredential="%{idp.attribute.resolver.LDAP.bindDNCredential}" |
| useStartTLS="%{idp.attribute.resolver.LDAP.useStartTLS:true}" |
| connectTimeout="%{idp.attribute.resolver.LDAP.connectTimeout}" |
| responseTimeout="%{idp.attribute.resolver.LDAP.responseTimeout}" |
| exportAttributes="mail givenName sn displayName ou"> |
| <!-- Um auch auf sog. operational attributes aus dem IdM zuzugreifen, ist die folgende Zeile nötig. --> |
| <ReturnAttributes>* +</ReturnAttributes> |
| <FilterTemplate> |
| <![CDATA[ |
| %{idp.attribute.resolver.LDAP.searchFilter} |
| ]]> |
| </FilterTemplate> |
| <ConnectionPool |
| minPoolSize="%{idp.pool.LDAP.minSize:3}" |
| maxPoolSize="%{idp.pool.LDAP.maxSize:10}" |
| blockWaitTime="%{idp.pool.LDAP.blockWaitTime:PT3S}" |
| validatePeriodically="%{idp.pool.LDAP.validatePeriodically:true}" |
| validateTimerPeriod="%{idp.pool.LDAP.validatePeriod:PT5M}" |
| expirationTime="%{idp.pool.LDAP.idleTime:PT10M}" /> |
| </DataConnector> |
| </file> |
| |
==== Beispiele ==== | ==== Beispiele ==== |
* [[de:shibidp:config-attributes-edupersonuniqueid|eduPersonUniqueId]] | * [[de:shibidp:config-attributes-edupersonuniqueid|eduPersonUniqueId]] |
* [[de:shibidp:config-attributes-edupersontargetedid|eduPersonTargetedID]] | * [[de:shibidp:config-attributes-edupersontargetedid|eduPersonTargetedID]] (veraltet, aber noch recht verbreitet) |
| * [[de:shibidp:config-attributes-aaiplus|SAML Subject ID und Pairwise ID]] |
===== Einrichtung neuer Attributfreigaben ===== | ===== Einrichtung neuer Attributfreigaben ===== |
| * Bitte lesen Sie die Seite [[de:aai:attributes_transmission|Attributübermittlung vom IdP an den SP]] zur grundsätzlichen Funktionsweise. |
* Idealerweise sollte jeder SP-Betreiber die von seinem SP benötigten Attribute online dokumentieren und sie in den SP-Metadaten anführen. | * Idealerweise sollte jeder SP-Betreiber die von seinem SP benötigten Attribute online dokumentieren und sie in den SP-Metadaten anführen. |
* Bei vielen SPs müssen Sie den SP-Betreiber erst kontaktieren, bevor Ihre User*innen Zugriff bekommen. Eine Attributfreigabe alleine reicht nicht notwendigerweise aus, der Betreiber muss ggf. auch die entityID Ihres IdP bei sich auf eine Autorisierungsliste setzen. | * Bei vielen SPs müssen Sie den SP-Betreiber erst kontaktieren, bevor Ihre User*innen Zugriff bekommen. Eine Attributfreigabe alleine reicht nicht notwendigerweise aus, der Betreiber muss ggf. auch die entityID Ihres IdP bei sich auf eine Autorisierungsliste setzen. |
| |
Siehe auch die Dokumentation zum [[https://wiki.shibboleth.net/confluence/display/IDP4/AttributeFilterConfiguration|Attributfilter]] im Shibboleth Wiki. | Siehe auch die Dokumentation zum [[https://wiki.shibboleth.net/confluence/display/IDP4/AttributeFilterConfiguration|Attributfilter]] im Shibboleth Wiki. |
| ==== Subject Identifier Attributes ==== |
| * Freigabe von [[de:shibidp:config-attributes-subject_ids|SAML V2.0 Subject Identifier Attributes]] (subject-id, pairwise-id) |
| |
==== Häufig genutzt Service Provider ==== | ==== Häufig genutzte Service Provider ==== |
| |
* Freigabe von ''eduPersonScopedAffiliation'' und ''eduPersonEntitlement'' an [[de:shibidp:config-attributes-publishers|Verlagsanbieter]] | * Freigabe von ''eduPersonScopedAffiliation'' und ''eduPersonEntitlement'' an [[de:shibidp:config-attributes-publishers|Verlagsanbieter]] |
* [[de:shibidp:config-attributes-eduroam|CAT eduroam]] | * [[de:shibidp:config-attributes-eduroam|CAT eduroam]] |
* [[https://www.conf.dfn.de/beschreibung-des-dienstes/aai-freischaltung/|DFNconf und DFN-Webconferencing]] | * [[https://www.conf.dfn.de/anleitungen-und-dokumentation/dfnconf-portal/aai-freischaltung|DFNconf und DFN-Webconferencing]] |
| * [[de:shibidp:config-attributes-dfnmailsupport|DFN-Mailsupport]] |
| * [[de:shibidp:config-attributes-easyroam4edu|EasyRoam4Edu]] (Pilotbetrieb) |
* [[de:shibidp:config-attributes-eduvpn|eduVPN]] (Pilotprojekt) | * [[de:shibidp:config-attributes-eduvpn|eduVPN]] (Pilotprojekt) |
| * [[de:shibidp:config-attributes-erasmus|Erasmus-Dienste]] |
* [[de:shibidp:config-attributes-gigamove|Gigamove]] der RWTH Aachen | * [[de:shibidp:config-attributes-gigamove|Gigamove]] der RWTH Aachen |
* [[de:shibidp:config-attributes-inacademia|InAcademia]] | * [[de:shibidp:config-attributes-inacademia|InAcademia]] |
* [[de:shibidp:config-attributes-nahsh|NAHSH]] (Semesterticket Schleswig Holstein) | * [[de:shibidp:config-attributes-nahsh|NAHSH]] (Semesterticket Schleswig Holstein) |
* [[de:shibidp:config-attributes-kivuto|Kivuto / On the Hub]] | * [[de:shibidp:config-attributes-kivuto|Kivuto / On the Hub]] |
| * [[de:shibidp:config-attributes-tcs|TCS Cert-Manager]] |
| * [[de:shibidp:config-attributes-coco#attributfreigabe_fuer_code-of-conduct_sps|Attributfreigaben nach Angaben in SP-Metadaten]] richten (Beispiel) |
* [[de:shibidp:config-attributes-local-sps|Einheitliche Attributfreigaben für alle lokalen SPs]] | * [[de:shibidp:config-attributes-local-sps|Einheitliche Attributfreigaben für alle lokalen SPs]] |
| * [[de:shibidp:config-attributes-dependencies|Attributfreigabe in Abhängigkeit des Wertes eines anderen Attributes]] |
* e-Research SPs: | * e-Research SPs: |
* [[de:shibidp:config-attributes-coco|Code of Conduct-SPs]] | * [[de:shibidp:config-attributes-coco|Code of Conduct-SPs]] |
* [[de:shibidp:config-attributes-rands|REFEDS Research and Scholarship Entity Category]] | * [[de:shibidp:config-attributes-rands|REFEDS Research and Scholarship Entity Category]] |
* [[de:shibidp:config-attributes-elixir|ELIXIR]] | * [[de:shibidp:config-attributes-elixir|ELIXIR]] |
| * [[de:entity_attributes#beispiele_filter|Service Provider aus Community-Projekten, Freigabe anhand einer Entity Category]] |
| |
==== Kommerzielle Tenant SPs als lokale SPs ==== | ==== Kommerzielle Tenant SPs als lokale SPs ==== |
| * [[https://wiki.shibboleth.net/confluence/display/KB/Adobe+Creative+Cloud+Integration+Guide|Adobe Creative Cloud]] |
FIXME Besseren Ort hierfür finden! | * [[de:shibidp:config-attributes-arcgis|ArcGIS Online]] |
* [[de:shibidp:config-attributes-cisco-webex|Cisco Webex]] | * [[de:shibidp:config-attributes-cisco-webex|Cisco Webex]] |
* [[de:shibidp:config-attributes-linkedin-learning|LinkedIn Learning]] | * [[de:shibidp:config-attributes-linkedin-learning|LinkedIn Learning]] |
| |
{{tag>idp4 tutorial}} | ==== SPs, die nicht an der DFN-AAI teilnehmen ==== |
| |
| Sie können Service Provider an den IdP anbinden, die nicht an der DFN-AAI teilnehmen. Dies bedeutet v.a. für Sie mehr Arbeit: |
| |
| Wir kennen diese SPs nicht und können deren Support nicht übernehmen. Erfragen Sie, ob der SP standardkonformes SAML2 spricht, so dass Ihr IdP die erforderlichen Attribute auch liefern kann. (Oder definieren Sie in Ihrem IdP ggf. die selbst ausgedachten Attribute einzelner Anbieter...) |
| |
| Der Metadatenaustausch kann so erfolgen: Sie erhalten i.d.R. eine Möglichkeit, die Metadaten Ihres IdP per Formular o.ä. an den SP zu übermitteln. Die aktuellen Metadaten Ihres IdP können Sie sich aus der Metadatenverwaltung holen, wie unter [[de:shibidp:troubleshooting|Troubleshooting]] beschrieben. |
| |
| Achtung: Jede Metadatenänderung müssen Sie dort von Hand nachziehen, z.B. erneuerte IdP-Zertifikate für die SAML-basierte Kommunikation. |
| |
| Für die umgekehrte Richtung, also die Bekanntmachung der SP-Metadaten im IdP gehen Sie so vor: Sie erhalten die SP-Metadaten vom Anbieter. Damit legen Sie einen neuen SP in ihrem Metadatenzugang an. Nehmen Sie ihn nur in den lokalen Metadatensatz Ihrer Heimateinrichtung auf, der ja meist im IdP eh bereits [[de:metadata_local|konfiguriert]] ist. Auch hier müssen Sie Metadatenaktualisierungen auf Seite des SPs selbst einpflegen. |
| |
| {{tag>idp4 tutorial attribute}} |