====== 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/aai-plus|http://aai.dfn.de/category/aai-plus]] * [[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/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 md:IDPSSODescriptor \\ **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}}