====== Entity Attributes ======
Bei Entity Attributen handelt es sich um eine [[https://wiki.oasis-open.org/security/SAML2MetadataAttr|Erweiterung der SAML2-Metadaten]], mit der IdPs, Attribute Authorities oder SPs zu Gruppen zusammengefasst werden können. Systeme mit gemeinsamen Merkmalen, z.B. einer Projektzugehörigkeit, werden mit Entity Attributen in den Metadaten markiert. Die Attributnamen und -werte können dann zum Filtern verwendet werden: IdP-seitig ist das interessant, um Attributfreigaben für SP-Gruppen zu vereinheitlichen oder um in der Relying Party-Konfiguration Profile zu aktivieren. SP-seitig können damit Metadaten gefiltert werden, um die Gruppe der zugriffsberechtigten IdPs zu definieren.
\\
===== SP: benötigte Subject Identifier Attribute =====
Die Angabe, ob ein Service Provider eine [[de:common_attributes#a16|Subject Id]] oder eine [[de:common_attributes#a16|Pairwise Id]] (oder eine von beiden) benötigt, erfolgt über ein entsprechendes Entity Attribut (zulässige Werte: ''subject-id'', ''pairwise-id'', ''any'', ''none''). Siehe hierzu die [[https://docs.oasis-open.org/security/saml-subject-id-attr/v1.0/saml-subject-id-attr-v1.0.html|Spezifikation der SAML V2.0 Subject Identifier Attributes]]. Beispiele zur Attributfreigabe finden sich auf [[de:shibidp:config-attributes-subject_ids|dieser Seite]].
Hierzu existiert eine Schaltfläche in der DFN-AAI Metadatenverwaltung:
{{:de:metadata_admin_tool:subject-id.png?400|}}
https://www.aai.dfn.de/fileadmin/documents/mrps_dfn-aai_1.0.pdf
subject-id
===== Sirtfi =====
Dieses seltsame Wort wird "certify" ausgesprochen. Es steht für "Security Incident Response Trust Framework for Federated Identity". Dieses Entity Attribut bezeugt die Bereitschaft und Fähigkeit des IdP-, AA- oder SP-Betreibers, die Anforderungen des Sirtfi Frameworks einzuhalten und bei Sicherheitsvorfällen die Gegenstellen zeitnah zu informieren. Siehe hierzu [[https://wiki.refeds.org/display/SIRTFI/SIRTFI+Home|die REFEDS-Website]] und unsere Dokumentation zu [[:de:aai:incidentresponse#sirtfi_compliance_fuer_idps_und_sps_in_der_dfn-aai|Sirtfi Compliance in der DFN-AAI]].
Das Sirtfi Entity Attribut ''urn:oasis:names:tc:SAML:attribute:assurance-certification'' darf nur unter den im Framework festgelegten Bedingungen geführt werden. Wir prüfen folgende formale und technische Kriterien, bevor wir die entsprechende Checkbox freigeben:
- In den Metadaten muss ein Security-Kontakt benannt sein. Dabei muss es sich um eine Funktionsadresse handeln, keine persönliche E-Mail-Adresse.
- Wir setzen voraus, dass Sirtfi-konforme Einrichtungen die jeweils aktuellste Software-Version für den IdP bzw. SP einsetzen.
- Die SSL-Konfiguration des Webservers muss aktueller Best Practice entsprechen. Dazu ziehen wir den Servertest von [[https://www.ssllabs.com/|ssllabs.com]] heran.
[[https://refeds.org/wp-content/uploads/2022/08/Sirtfi-v2.pdf|Sirtfi Version 2]] beinhaltet alle Punkte der [[https://refeds.org/wp-content/uploads/2016/01/Sirtfi-1.0.pdf|Version 1]], [[https://refeds.org/wp-content/uploads/2022/08/Coexistence-of-Sirtfi-v1-and-v2.pdf|ergänzt und präzisiert]] diese jedoch. Wenn für eine Entity (IdP/SP) Konformität zu Sirtfi 2.0 bestätigt wird, müssen daher als Werte für das entsprechende Entity Attribut sowohl ''https://refeds.org/sirtfi'' als auch ''https://refeds.org/sirtfi2'' gesetzt werden - siehe das Beispiel unten.
Zu den Maßnahmen und Prozeduren im Falle eines Sicherheitsvorfalls siehe unter [[:de:aai:incidentresponse|Incident Response]].
https://www.switch.ch/aai/federation/switchaai/metadata-registration-practice-statement-20110711.txt
https://refeds.org/sirtfi2
https://refeds.org/sirtfi
\\
====== Entity Categories ======
Eine Entity Category ist technisch gesehen ein Wert eines Entity Attributs, das den Namen ''http://macedir.org/entity-category'' führt. Service Provider nutzen Entity Categories, um über die Metadaten zu kommunizieren, dass sie bestimmte Anforderungen stellen und/oder erfüllen. Ein SP kann beliebig viele Entity Categories setzen.
IdP-seitig können als "Gegenstücke" **Entity Category Support**-Attribute definiert werden. Damit signalisieren IdPs, dass sie für SPs der Entity Category eine Attributfreigabe erteilen. Zu diesem Themenkomplex siehe [[https://wiki.refeds.org/display/ENT/Entity-Categories+Home|https://wiki.refeds.org/display/ENT/Entity-Categories+Home]].
\\
===== Internationale Entity Categories =====
Drei Entity Categories kommen international zum Einsatz. Um sie für Ihre Systeme in der DFN-AAI zu setzen, verwenden Sie die [[https://mdv.aai.dfn.de|Metadatenverwaltung]]. Dort tauchen die Checkboxen allerdings erst auf, wenn Ihr System die jeweiligen technischen Bedingungen erfüllt.
\\
==== GÉANT Data Protection Code of Conduct (CoCo v.1) ====
Die Entity Category GÉANT Data Protection Code of Conduct for Service Providers in EU/EEA (CoCo v.1) ist eine Selbstverpflichtungserklärung von Service Providern. Damit sagen Sie über sich aus, dass sie die über SAML2 übertragenen personenbezogenen Daten von Endnutzern entsprechend der EU Datenschutzrichtlinie 95/46/EG von 1995 behandeln. Hintergrundinformationen finden Sie hier im [[https://doku.tid.dfn.de/de:geant_coco|Wiki]]. Die Bedingungen für das Tragen der Entity Category sind im [[https://wiki.geant.org/display/eduGAIN/Recipe+for+a+Service+Provider|GÉANT Wiki]] dokumentiert.
IdP-Betreiber, die die von Code of Conduct-SPs benötigten Attribute freigeben möchten, können sich bzgl. der Filterregel an diesen [[:de:shibidp:config-attributes-coco|Beispielen]] orientieren.
==== REFEDS Data Protection Code of Conduct (CoCo v.2) ====
Die Entity Category REFEDS Data Protection Code of Conduct (CoCco v.2) signalisiert, dass Service Provider, die dieser Entity Category angehören, die auf der DSGVO basierenden [[https://refeds.org/wp-content/uploads/2022/05/REFEDS-CoCo-Best-Practicev2.pdf|Best Practices]] befolgen, die dieses Entity Category definiert. Siehe hierzu auch unter https://refeds.org/category/code-of-conduct/v2.
IdP-Betreiber, die die von Code of Conduct-SPs benötigten Attribute freigeben möchten, können sich bzgl. der Filterregel an diesen [[:de:shibidp:config-attributes-coco|Beispielen]] orientieren.
\\
==== European Student Identifier ====
Siehe unter https://wiki.geant.org/display/SM/European+Student+Identifier+Entity+Category und die Wiki-Seite [[de:shibidp:config-attributes-erasmus|Erasmus-Dienste]].
\\
==== Research and Scholarship ====
Die Entity Category Research and Scholarship können Service Provider setzen, deren Dienst die Zusammenarbeit oder das Management in den Bereichen Forschung und Bildung unterstützt. Die Bedingungen sind bei [[https://refeds.org/category/research-and-scholarship|REFEDS]] aufgelistet, wichtig sind für Sie vor allem die Registrierungskriterien (Punkt 4) und die Attributliste (Punkt 5).
Die Attributfreigaben, die IdP-seitig erfolgen können, sind unter [[:de:shibidp:config-attributes-rands|Attributfreigaben für die REFEDS Research and Scholarship Entity Category]] dokumentiert.
\\
==== Anonymous Access ====
* Siehe unter https://refeds.org/category/anonymous
* Konfigurationsbeispiel für die Attributfreigabe am IdP unter [[de:shibidp:config-attributes#anonymous_access_entity_category|Anpassung der Attributkonfiguration]].
==== Pseudonymous Access ====
* Siehe unter https://refeds.org/category/pseudonymous
* [[de:shibidp:config-attributes-access_ecs|Konfigurationsbeispiel für die Attributfreigabe am IdP]]
==== Personalized Access ====
* Siehe unter https://refeds.org/category/personalized
* [[de:shibidp:config-attributes-access_ecs|Konfigurationsbeispiel für die Attributfreigabe am IdP]]
\\
==== Hide from Discovery ====
Der Entity Category [[https://refeds.org/category/hide-from-discovery|Hide from Discovery]] können IdPs zugeordnet werden, die nicht in zentralen Discovery Services angezeigt werden sollen, wie z.B. dem [[de:discovery#die_zentralen_discovery_services_des_dfn-verein|DFN-AAI WAYF]].
\\
==== Beispiele ====
Hier sehen Sie den Metadatenauszug eines Services Providers mit drei Entity Attributes: Er sagt CoCo-Compliance zu, bietet einen Dienst für kollaboratives Arbeiten in der Forschung o.ä. an und gehört zur Gruppe der Clarin-SPs.
https://www.aai.dfn.de/en/join/
https://www.aai.dfn.de/teilnahme/
https://refeds.org/category/code-of-conduct/v2
http://refeds.org/category/research-and-scholarship
http://clarin.eu/category/clarin-member
Hier sehen Sie den Metadatenauszug eines Identity Providers, der Attributfreigaben für Code of Conduct-getreue SPs konfiguriert hat.
https://www.aai.dfn.de/en/join/
https://www.aai.dfn.de/teilnahme/
https://refeds.org/category/code-of-conduct/v2
===== Entity Categories in der DFN-AAI =====
Implementierungswünsche für weitere Entity Categories richten Sie bitte an [[hotline@aai.dfn.de|]].
In der DFN-AAI kommen Entity Categories zum Einsatz, die z.B. nach Projektzugehörigkeit vergeben werden. Sie können anhand der IdP- und SP-seitigen Filtermechanismen dazu eingesetzt werden, sogenannte **virtuelle Subföderationen** zu bilden, z.B. für bwIDM, Nds-AAI und die Virtuelle Hochschule Bayern. Welche IdPs und SPs zu einer solchen Entity Category / virtuellen Subföderation gehören, lässt sich in der Metadatenverwaltung über eine sog. **Entitätenliste** modellieren. \\
Hierbei ist folgendes zu beachten:
* Die Liste und die zugehörige Entity Category müssen vom [[hotline@aai.dfn.de,|DFN-AAI]] Team initial eingerichtet werden
* Die Zugriffsrechte auf die Entitätenliste werden vom DFN-AAI Team gesetzt, auch für Sub-Admins
Folgende Kategorien werden derzeit vergeben:
* [[http://aai.dfn.de/category/bwidm-member|http://aai.dfn.de/category/bwidm-member]]
* [[http://aai.dfn.de/category/campus-lsa-member|http://aai.dfn.de/category/campus-lsa-member]]
* [[http://clarin.eu/category/clarin-member|http://clarin.eu/category/clarin-member]]
* [[http://aai.dfn.de/category/fid-licences-member|http://aai.dfn.de/category/fid-licences-member]]
* [[http://aai.dfn.de/category/heidi-member|http://aai.dfn.de/category/heidi-member]]
* [[http://aai.dfn.de/category/highmeducation-member|http://aai.dfn.de/category/highmeducation-member]]
* [[http://aai.dfn.de/category/idm.nrw-member|http://aai.dfn.de/category/idm.nrw-member]]
* [[http://aai.dfn.de/category/metavideoportal-member|http://aai.dfn.de/category/metavideoportal-member]]
* [[http://aai.dfn.de/category/ndsidm-member|http://aai.dfn.de/category/ndsidm-member]]
* [[http://aai.dfn.de/category/no-aes-gcm-support|http://aai.dfn.de/category/no-aes-gcm-support]]
* [[http://aai.dfn.de/category/psy-infra|http://aai.dfn.de/category/psy-infra]]
* [[http://aai.dfn.de/category/public-idp|http://aai.dfn.de/category/public-idp]]
* [[http://aai.dfn.de/category/rarp-member|http://aai.dfn.de/category/rarp-member]]
* [[http://aai.dfn.de/category/sh-idm-member|http://aai.dfn.de/category/sh-idm-member]]
* [[http://aai.dfn.de/category/vhb-member|http://aai.dfn.de/category/vhb-member]]
Details hierzu finden sich auf einer [[:de:aai:entity_categories|separaten Übersichtsseite]].
==== Beispiele (Metadaten) ====
Hier sehen Sie den Metadatenauszug eines SP, der am bwIdM-Verbund teilnimmt:
https://www.aai.dfn.de/en/join/
https://www.aai.dfn.de/teilnahme/
http://aai.dfn.de/category/bwidm-member
Hier sehen Sie den Metadatenauszug eines IdP, der am bwIdM-Verbund teilnimmt:
https://www.aai.dfn.de/en/join/
https://www.aai.dfn.de/teilnahme/
http://aai.dfn.de/category/bwidm-member
Hier sehen Sie den Metadatenauszug eines IdP aus den eduGAIN-Metadaten (UK-Föderation), an dem sich Nutzer*innen selbst registrieren können:
http://ukfederation.org.uk/doc/mdrps-20130902
http://aai.dfn.de/category/public-idp
==== Beispiele (Filter) ====
**SP-seitiger Include-Filter, bei der die Metadaten, mit denen der SP arbeitet, auf IdPs aus dem bwIDM-Projekt beschränkt werden:**
http://aai.dfn.de/category/bwidm-member
\\
**SP-seitiger Exclude-Filter, bei der aus den Metadaten, mit denen der SP arbeitet, sog. Public IdPs / Self-Signup IdPs entfernt werden:**
http://aai.dfn.de/category/public-idp
md:IDPSSODescriptor
\\
**IdP: Attributfreigabe an bwIDM-SPs:**
\\
**IdP: Attributfreigabe an SPs des Meta-Videoportal unterrichtsvideos.net:** \\
(siehe hierzu auch unter https://unterrichtsvideos.net/metaportal/faq#IDP_Infos)
\\
**IdP: Freigabe der subject-id an SPs für FID-Lizenzen:** \\
Es ist nur die Freigabe einer subject-id ODER einer eduPersonUniqueId notwendig
(siehe hierzu auch unter https://www.fid-lizenzen.de/zusammenarbeit-fid-kfl)
\\
**IdP: Freigabe der eduPersonUnique-id an SPs für FID-Lizenzen:** \\
Es ist nur die Freigabe einer eduPersonUniqueId ODER einer subject-id notwendig
(siehe hierzu auch unter https://www.fid-lizenzen.de/zusammenarbeit-fid-kfl)
Weitere Beispiele unter [[de:shibidp:config-attributes#haeufig_genutzt_service_provider|Attribut-Konfiguration]].
===== Referenzen =====
Weiterführende Informationen finden Sie im Shibboleth Wiki unter folgenden Links:
* **IdP - Attributfreigabe**
* [[https://wiki.shibboleth.net/confluence/display/IDP4/EntityAttributeExactMatchConfiguration|EntityAttributeExactMatch Configuration]]
* [[https://wiki.shibboleth.net/confluence/display/IDP4/EntityAttributeRegexMatchConfiguration|EntityAttributeRegexMatch Configuration]]
* **IdP - Relying Party Konfiguration**
* [[https://wiki.shibboleth.net/confluence/display/IDP4/RelyingPartyConfiguration#RelyingPartyConfiguration-Overrides|RelyingParty Configuration - Overrides, (RelyingPartyByTag)]]
* **IdP - internes Tagging mit Entity Attributen**
* [[https://wiki.shibboleth.net/confluence/display/IDP4/EntityAttributesFilter|Metadata - EntityAttributesFilter]]
* **SP - Metadata Filter (matcher="EntityAttributes")**
* [[https://wiki.shibboleth.net/confluence/display/SP3/IncludeMetadataFilter|Include MetadataFilter]]
* [[https://wiki.shibboleth.net/confluence/display/SP3/ExcludeMetadataFilter|Exclude MetadataFilter]]
* **SP - internes Tagging mit Entity Attributen**
* [[https://wiki.shibboleth.net/confluence/display/SP3/EntityAttributesMetadataFilter|Entity Attributes Metadata Filter]]
{{tag>entity-category entity-attribute subjectIdentifierAttributes}}