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:shibidp:config-attributes [2020/05/13 15:49] Silke Meyerde:shibidp:config-attributes [2023/11/01 18:43] (aktuell) Wolfgang Pempe
Zeile 1: Zeile 1:
 +<- de:production|Produktivbetrieb ^ de:shibidp:uebersicht|Überblick: Tutorial zur IdP-Inbetriebnahme ^ de:attributes-nutshell|Attributes in a Nutshell ->
 ====== Anpassung der Attributkonfiguration ====== ====== Anpassung der Attributkonfiguration ======
  
 Sie haben beim initialen Einrichten des IdPs eine [[de:shibidp:config-attributes-minimal|Minimal-Konfiguration]] für Attributdefinitionen und -freigaben heruntergeladen. Nachdem Ihr IdP in die Produktivföderation aufgenommen wurde, müssen Sie nun für die echten SPs, auf die Ihre User*innen zugreifen sollen, Attribut-Freigaben konfigurieren. Hier und auf den folgenden Unterseiten finden Sie einige Beispiele zu den üblichsten Konfigurationen in der DFN-AAI. Sie haben beim initialen Einrichten des IdPs eine [[de:shibidp:config-attributes-minimal|Minimal-Konfiguration]] für Attributdefinitionen und -freigaben heruntergeladen. Nachdem Ihr IdP in die Produktivföderation aufgenommen wurde, müssen Sie nun für die echten SPs, auf die Ihre User*innen zugreifen sollen, Attribut-Freigaben konfigurieren. Hier und auf den folgenden Unterseiten finden Sie einige Beispiele zu den üblichsten Konfigurationen in der DFN-AAI.
 +
 +===== Vervollständigung der Attribute Registry =====
 +Ab Shibboleth IdP 4.x werden bestimmte Zusatzinformationen zu den definierten Attributen in der Attribute Registry vorgenommen. Das sind die Konfigurationsdateien unterhalb von ''./conf/attributes''. Alle Standardattribute sind dort bereits vorkonfiguriert. Pro Schema finden Sie eine ''.xml''-Datei in dem Ordner, z.B. ''./conf/attributes/eduPerson.xml''.
 +<callout color="#ff9900" title="Anpassungen an der Attribute Registry">
 +  * Zur Definition mehrerer Attribute oder eines Schemas legen Sie eine ''.xml''-Datei in ''./conf/attributes'' und binden sie in ''./conf/attributes/default-rules.xml'' ein.
 +  * Zur Definition einzelner Attribute legen Sie eine ''.properties''-Datei in ''./conf/attributes/custom''.
 +</callout>
 +
 +==== dfnEduPerson-Schema einbinden ====
 +Das [[de:attributes#e-learning_und_dfn-spezifische_erweiterungen|dfnEduPerson-Schema]] wird nicht mitgeliefert, da es DFN-spezifische Attribute enthält. Wenn Sie es benötigen, gehen Sie so vor:   
 +  * Laden Sie sich unsere [[https://download.aai.dfn.de/schema/dfnEduPerson.xml|.xml-Datei]] herunter und legen Sie sie in den Ordner ''./conf/attributes''.
 +  * Editieren Sie die Datei ''./conf/attributes/default-rules.xml'' und importieren Sie dort das neue Schema:<code xml><import resource="dfnEduPerson.xml" /></code>
 +
 +==== eduPersonTargetedID und andere verbreitete Attribute hinterlegen ====
 +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''.
 +
 +==== Neu hinzugekommene Attribute im eduPerson-Schema ====
 +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.
 +
 +<file properties /opt/shibboleth-idp/conf/attributes/custom/eduPersonDisplayPronouns.properties>
 +id=eduPersonDisplayPronouns
 +transcoder=SAML2StringTranscoder
 +saml2.name=urn:oid:1.3.6.1.4.1.5923.1.1.1.18
 +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>
 +
 +==== eduPersonAssurance und REFEDS Assurance Framework ====
 +Siehe hierzu die [[de:aai:assurance_idp|Hinweise und Konfigurationsbeispiele zur Implementierung des REFEDS Assurance Frameworks für IdPs]].
 +
 +==== Optional: SAML1 abschalten ====
 +In den Dateien der Attribute Registry sehen Sie bei jedem Attribut zwei Transcoder, einen für SAML1 und einen für SAML2:<code>
 +                    <prop key="transcoder">SAML2StringTranscoder SAML1StringTranscoder</prop>
 +                    <prop key="saml2.name">urn:oid:1.3.6.1.4.1.5923.1.1.1.1</prop>
 +                    <prop key="saml1.name">urn:mace:dir:attribute-def:eduPersonAffiliation</prop></code>
 +
 +SAML1 ist veraltet. In der DFN-AAI gibt es keine Service Provider mehr, die ausschließlich SAML1 können. Daher kann der SAML1 Transcoder überall herausgenommen werden:<code>                    <prop key="transcoder">SAML2StringTranscoder</prop>
 +                    <prop key="saml2.name">urn:oid:1.3.6.1.4.1.5923.1.1.1.1</prop></code>
  
 ===== Vervollständigung der Attributdefinitionen ===== ===== Vervollständigung der Attributdefinitionen =====
Zeile 7: Zeile 48:
 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:** Falls Attribute wie ''eduPersonScopedAffiliation'' oder ''eduPersonPrincipalName'' bereits mit Scope aus dem LDAP/AD kommen, dürfen diese nicht via ''exportAttributes'' direkt an die Registry weitergereicht werden, 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.
Zeile 24: Zeile 96:
  
 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 ====+==== Anonymous Access Entity Category ==== 
 +  * Manche SPs lassen sich bereits mit diesen Angaben nutzen. Siehe hierzu die Spezifikation unter https://refeds.org/category/anonymous 
 +  * Zur Attribut-Konfiguration von ''eduPersonScopedAffiliation'' siehe das Beispiel für [[de:shibidp:config-attributes-publishers|Verlagsanbieter]]  
 +  * Für IdPs, die die Attributfreigabe an diese Entity Category unterstützen, sollte unbedingt in der Metadatenverwaltung das entsprechende Entity Category Support Attribut gesetzt werden 
  
 +<file xml ./conf/attribute-filter.xml>
 +<AttributeFilterPolicy id="anonoymous_access">
 +   <PolicyRequirementRule 
 +         xsi:type="EntityAttributeExactMatch"
 +         attributeName="http://macedir.org/entity-category"
 +         attributeValue="https://refeds.org/category/anonymous" />
 +      <AttributeRule attributeID="schacHomeOrganization"      permitAny="true" />
 +      <AttributeRule attributeID="eduPersonScopedAffiliation" permitAny="true" />
 +</AttributeFilterPolicy>
 +</file>
 +
 +==== Pseudonymous and Personalized Access Entity Categories ====
 +  * Beispiele für die [[de:shibidp:config-attributes-access_ecs|Freigabe von Attributen für diese Entity Categories]]
 +
 +==== 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|easyroam]] 
   * [[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-dticket|Berechtigungsprüfung für ein ermäßigtes Deutschlandticket]]
   * [[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-clarin|CLARIN SPs]] 
 +    * [[de:shibidp:config-attributes-rands|REFEDS Research and Scholarship Entity Category]] 
 +    * [[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}}
  • Zuletzt geändert: vor 4 Jahren