Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung |
de:attributes-nutshell [2024/11/27 10:03] – [Attribut-Encoding] Doreen Liebenau | de:attributes-nutshell [2024/11/28 13:50] (aktuell) – [Attributfilter] Links aktualisiert Doreen Liebenau |
---|
</Script> | </Script> |
</AttributeDefinition></code> | </AttributeDefinition></code> |
* Er kann neue Attribute erstellen, die z.B. von vorhandenen Attributen oder Werten abhängen. Im folgenden Beispiel wird ein Attribut aus einem anderen gebildet: Die eduPersonAffiliation muss bereits definiert sein und wird weiterverwendet. "Scoped" bedeutet, dass der in ''./conf/idp.properties'' definierte IdP-Scope ("hochschule-xy.de") an den Attributwert angehängt wird. So wird aus der eduPersonAffiliation die eduPersonScopedAffiliation gemacht. Wenn eduPersonAffiliation den Wert "student" hat, bekommt eduPersonScopedAffiliation den Wert "student@hochschule-xy.de". (vgl. [[https://wiki.shibboleth.net/confluence/display/IDP4/ScopedAttributeDefinition|ScopedAttributeDefinition im Shibboleth-Wiki]])<code xml> <AttributeDefinition xsi:type="Scoped" id="eduPersonScopedAffiliation" scope="%{idp.scope}"> | * Er kann neue Attribute erstellen, die z.B. von vorhandenen Attributen oder Werten abhängen. Im folgenden Beispiel wird ein Attribut aus einem anderen gebildet: Die eduPersonAffiliation muss bereits definiert sein und wird weiterverwendet. "Scoped" bedeutet, dass der in ''./conf/idp.properties'' definierte IdP-Scope ("hochschule-xy.de") an den Attributwert angehängt wird. So wird aus der eduPersonAffiliation die eduPersonScopedAffiliation gemacht. Wenn eduPersonAffiliation den Wert "student" hat, bekommt eduPersonScopedAffiliation den Wert "student@hochschule-xy.de". (vgl. [[https://shibboleth.atlassian.net/wiki/spaces/IDP5/pages/3199503258/ScopedAttributeDefinition|ScopedAttributeDefinition im Shibboleth-Wiki]])<code xml> <AttributeDefinition xsi:type="Scoped" id="eduPersonScopedAffiliation" scope="%{idp.scope}"> |
<InputAttributeDefinition ref="eduPersonAffiliation" /> | <InputAttributeDefinition ref="eduPersonAffiliation" /> |
</AttributeDefinition></code> | </AttributeDefinition></code> |
| |
Diese Konfigurationen nehmen Sie in einer der zentralen Konfigurationsdateien ''./conf/attribute-resolver.xml'' vor: Dort sind sowohl die Attributquellen (LDAP, AD, SQL) als auch die IdP-intern definierten Attribute hinterlegt. Es gibt verschiedene Typen von ''AttributeDefinition'', u.a. Simple, Mapped, oder ScriptedAttribute, um mit den Attributen zu jonglieren. Alle Typen sind im [[https://wiki.shibboleth.net/confluence/display/IDP4/AttributeDefinitionConfiguration|Shibboleth-Wiki]] dokumentiert. | Diese Konfigurationen nehmen Sie in einer der zentralen Konfigurationsdateien ''./conf/attribute-resolver.xml'' vor: Dort sind sowohl die Attributquellen (LDAP, AD, SQL) als auch die IdP-intern definierten Attribute hinterlegt. Es gibt verschiedene Typen von ''AttributeDefinition'', u.a. Simple, Mapped, oder ScriptedAttribute, um mit den Attributen zu jonglieren. Alle Typen sind im [[https://shibboleth.atlassian.net/wiki/spaces/IDP5/pages/3199502907/AttributeDefinitionConfiguration|Shibboleth-Wiki]] dokumentiert. |
| |
===== Attributfilter ===== | ===== Attributfilter ===== |
| |
Welche Attribute an welche SPs herausgegeben werden, reguliert man über Attribute Filter Policies in ''./conf/attribute-filter.xml''. Dort werden die freizugebenden Attribute über ihre ID aus ''./conf/attribute-resolver.xml'' angesprochen. Die Kriterien, nach denen Filterregeln greifen sollen, sind sehr flexibel. Die gängigsten Fälle sind das Filtern nach EntityIDs, also einzelnen SPs, und nach Entity-Attributen, also nach Markern, die eine ganze Gruppe von SPs trägt. (Siehe auch im Shibboleth-Wiki: [[https://wiki.shibboleth.net/confluence/display/IDP4/AttributeFilterConfiguration|AttributeFilterConfiguration]] und [[https://wiki.shibboleth.net/confluence/display/IDP4/AttributeFilterPolicyConfiguration|AttributeFilterPolicyConfiguration]].) | Welche Attribute an welche SPs herausgegeben werden, reguliert man über Attribute Filter Policies in ''./conf/attribute-filter.xml''. Dort werden die freizugebenden Attribute über ihre ID aus ''./conf/attribute-resolver.xml'' angesprochen. Die Kriterien, nach denen Filterregeln greifen sollen, sind sehr flexibel. Die gängigsten Fälle sind das Filtern nach EntityIDs, also einzelnen SPs, und nach Entity-Attributen, also nach Markern, die eine ganze Gruppe von SPs trägt. (Siehe auch im Shibboleth-Wiki: [[https://shibboleth.atlassian.net/wiki/spaces/IDP5/pages/3199501794/AttributeFilterConfiguration|AttributeFilterConfiguration]] und [[https://shibboleth.atlassian.net/wiki/spaces/IDP5/pages/3199501835/AttributeFilterPolicyConfiguration|AttributeFilterPolicyConfiguration]].) |
| |
Eine einfache Filter-Policy, die //ein// Attribut an den SP mit der EntityID https://beispiel-sp.de/shibboleth herausgibt, könnte so aussehen:<code xml><AttributeFilterPolicy id="beispiel"> | Eine einfache Filter-Policy, die //ein// Attribut an den SP mit der EntityID https://beispiel-sp.de/shibboleth herausgibt, könnte so aussehen:<code xml><AttributeFilterPolicy id="beispiel"> |