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
Nächste ÜberarbeitungBeide Seiten der Revision
de:entity_attributes [2018/10/17 10:14] Wolfgang Pempede:entity_attributes [2019/07/18 11:20] – [Entity Categories] Wolfgang Pempe
Zeile 1: Zeile 1:
 +~~NOTOC~~
 +====== Entity Attribute ======
 +{{INLINETOC 2}}
 +Bei Entity Attributen handelt es sich um eine Erweiterung (Extension) der SAML2-Metadaten, die es ermöglicht, Entities (IdPs, Attribute Authorities, SPs), die bestimmte Merkmale teilen (z.B. Projektzugehörigkeit), mittels solcher Attribute in den Metadaten zu markieren und auf diese Weise zu Gruppen zusammenzufassen. Anhand der Attributnamen und -Werte lassen sich sowohl Metadaten filtern (insbes. SP-seitig) als auch Attributfreigaben an Gruppen von SPs definieren oder in der //Relying Party// Konfiguration bestimmte Profile aktivieren (IdP-seitig) - siehe [[#referenzen_shibboleth_wiki|unten]] sowie die Beispiele unter [[:de:shibidp3attrfilter|Attribut-Konfiguration]].
 +
 +Der betreffende Standard ist hier dokumentiert: [[https://wiki.oasis-open.org/security/SAML2MetadataAttr|SAML V2.0 Metadata Extension for Entity Attributes]]
 +
 +===== Beispiele =====
 +
 +==== eduGAIN Registration Authority ====
 +
 +Hier werden in den eduGAIN-Metadaten die //Registration Authorities// (=Föderationen) angegeben, über die die jeweilige Entity in eduGAIN registriert wurde (für Attributfreigabe ab IdP 3.x obsolet, siehe [[https://wiki.shibboleth.net/confluence/display/IDP30/RegistrationAuthorityConfiguration|Doku im Shibboleth Wiki]]):
 +
 +<file xml dfn-aai-edugain+sp-metadata.xml>
 +  <md:EntityDescriptor entityID="https://foodl.org/simplesaml/module.php/saml/sp/metadata.php/saml">
 +    <md:Extensions>
 +      <mdrpi:RegistrationInfo registrationAuthority="http://feide.no/" registrationInstant="2011-05-05T06:16:34Z">
 +        <mdrpi:RegistrationPolicy xml:lang="en">http://www.feide.no/files/feide/metadata-registration-practice-statement.pdf</mdrpi:RegistrationPolicy>
 +      </mdrpi:RegistrationInfo>
 +      <mdattr:EntityAttributes>
 +        <saml:Attribute Name="http://aai.dfn.de/edugain/registrationAuthority" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
 +          <saml:AttributeValue>http://feide.no/</saml:AttributeValue>
 +        </saml:Attribute>
 +      </mdattr:EntityAttributes>
 +</file>
 +
 +==== Sirtfi (Security Incident Response Trust Framework for Federated Identity) ====
 +
 +Dieses Entity Attribut bezeugt die Bereitschaft und die Fähigkeit des jeweiligen 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|https://wiki.refeds.org/display/SIRTFI/SIRTFI+Home]]. **Als formales Kriterium muss in den Metadaten ein Security Kontakt benannt sein (keine persönliche E-Mail-Adresse).** Um sicherzustellen, dass die Anforderungen bezüglich der Betriebssicherheit [OS] eingehalten werden, prüft das Team der DFN-AAI zwei technische Kriterien, bevor die entsprechende Checkbox freigegeben wird: 
 +  - Es wird vorausgesetzt, dass Sirtfi-konforme Einrichtungen die jeweils aktuellste Software-Version für den IdP bzw. SP einsetzen
 +  - Außerdem muss die SSL-Konfiguration des betreffenden Webservers aktuellen Best Practices entsprechen. (Derzeit ziehen wir den Servertest von [[https://www.ssllabs.com/|ssllabs.com]] zur Prüfung heran.)
 +Zu den Maßnahmen und Prozeduren im Falle eines Sicherheitsvorfalls siehe unter [[de:aai:incidentresponse|Incident Response]].
 +<file xml dfn-aai-edugain+sp-metadata.xml>
 +  <md:EntityDescriptor entityID="https://cern.ch/login" xsi:schemaLocation="urn:oasis:names:tc:SAML:2.0:metadata saml-schema-metadata-2.0.xsd urn:mace:shibboleth:metadata:1.0 shibboleth-metadata-1.0.xsd http://www.w3.org/2000/09/xmldsig# xmldsig-core-schema.xsd">
 +    <md:Extensions>
 +      <mdrpi:RegistrationInfo registrationAuthority="http://rr.aai.switch.ch/" registrationInstant="2014-07-29T13:17:52Z">
 +        <mdrpi:RegistrationPolicy xml:lang="en">https://www.switch.ch/aai/federation/switchaai/metadata-registration-practice-statement-20110711.txt</mdrpi:RegistrationPolicy>
 +      </mdrpi:RegistrationInfo>
 +      <mdattr:EntityAttributes>
 +        <!-- ... -->
 +        <saml:Attribute Name="urn:oasis:names:tc:SAML:attribute:assurance-certification" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
 +          <saml:AttributeValue>https://refeds.org/sirtfi</saml:AttributeValue>
 +        </saml:Attribute>
 +        <!-- ... -->
 +      </mdattr:EntityAttributes>
 +    </md:Extensions>
 +</file>
 +
 +===== Entity Categories =====
 +{{INLINETOC 3}}
 +Das Entity Attribut **Entity Category** wird häufig dazu verwendet, Service Provider, die bestimmte Anforderungen stellen und/oder erfüllen, zu markieren. Dieses Attribut kann beliebig viele Werte annehmen. Ergänzend zu Entity Categories können **Entity Category Support** Attribute definiert werden, mit denen IdP signalisieren können, dass für SPs der entsprechende Entity Categorie eine Attributfreigabe erteilt wird. Zu diesem Themenkomplex siehe [[https://wiki.refeds.org/display/ENT/Entity-Categories+Home|https://wiki.refeds.org/display/ENT/Entity-Categories+Home]]
 +
 +==== International ====
 +**International** kommen vor allem diese Entity Categories zum Einsatz:
 +
 +  * [[:de:shibidp3attrfilter#attributfreigabe_fuer_code-of-conduct_sps|GÉANT Data Protection Code of Conduct for Service Providers in EU/EEA]]
 +  * [[:de:shibidp3attrfilter#refeds_research_and_scholarship_entity_category|Research and Scholarship]]
 +  * [[https://refeds.org/category/hide-from-discovery|Hide from Discovery (nur IdPs)]]
 +
 +In der DFN-AAI **Metadatenverwaltung** tauchen die entsprechenden Checkboxen erst auf, wenn Ihr System die jeweiligen technischen Bedingungen erfüllt.
 +  * Für die Entity Category für den GÉANT Data Protection Code of Conduct for Service Providers in EU/EEA sind die Bedingungen im [[https://wiki.geant.org/display/eduGAIN/Recipe+for+a+Service+Provider|GÉANT Wiki]] dokumentiert. Unsere Metadatenverwaltung prüft, ob Ihr mdui:PrivacyStatementURL auf ein Dokument verweist, das den Code of Conduct explizit referenziert. Des Weiteren müssen die Requested Attributes in den Metadaten deklariert sein.
 +  * Für die Entity Category Research and Scholarship finden Sie bei [[https://refeds.org/category/research-and-scholarship|REFEDS]] die Registrierungskriterien (Punkt 4) und die Attributliste (Punkt 5).
 +
 +=== Beispiele ===
 +
 +<file xml dfn-aai-sp-metadata.xml>
 +  <EntityDescriptor entityID="https://clarin.ids-mannheim.de/shibboleth">
 +    <Extensions>
 +      <mdrpi:RegistrationInfo registrationAuthority="https://www.aai.dfn.de" registrationInstant="2013-10-24T13:14:25Z">
 +        <mdrpi:RegistrationPolicy xml:lang="en">https://www.aai.dfn.de/en/join/</mdrpi:RegistrationPolicy>
 +        <mdrpi:RegistrationPolicy xml:lang="de">https://www.aai.dfn.de/teilnahme/</mdrpi:RegistrationPolicy>
 +      </mdrpi:RegistrationInfo>
 +      <mdattr:EntityAttributes>
 +        <saml:Attribute Name="http://macedir.org/entity-category" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
 +          <saml:AttributeValue>http://www.geant.net/uri/dataprotection-code-of-conduct/v1</saml:AttributeValue>
 +          <saml:AttributeValue>http://refeds.org/category/research-and-scholarship</saml:AttributeValue>
 +          <saml:AttributeValue>http://clarin.eu/category/clarin-member</saml:AttributeValue>
 +        </saml:Attribute>
 +      </mdattr:EntityAttributes>
 +    </Extensions>
 +</file>
 +
 +<file xml dfn-aai-metadata.xml>
 +  <EntityDescriptor entityID="https://idp.hs-bremen.de/idp/shibboleth">
 +    <Extensions>
 +      <mdrpi:RegistrationInfo registrationAuthority="https://www.aai.dfn.de" registrationInstant="2016-11-18T08:40:16Z">
 +        <mdrpi:RegistrationPolicy xml:lang="en">https://www.aai.dfn.de/en/join/</mdrpi:RegistrationPolicy>
 +        <mdrpi:RegistrationPolicy xml:lang="de">https://www.aai.dfn.de/teilnahme/</mdrpi:RegistrationPolicy>
 +      </mdrpi:RegistrationInfo>
 +      <mdattr:EntityAttributes>
 +        <saml:Attribute Name="http://macedir.org/entity-category-support" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
 +          <saml:AttributeValue>http://www.geant.net/uri/dataprotection-code-of-conduct/v1</saml:AttributeValue>
 +        </saml:Attribute>
 +        <saml:Attribute Name="http://aai.dfn.de/loa/degree-of-reliance" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
 +          <saml:AttributeValue>advanced</saml:AttributeValue>
 +        </saml:Attribute>
 +      </mdattr:EntityAttributes>
 +    </Extensions>
 +</file>
 +
 +==== DFN-AAI ====
 +In der **DFN-AAI**  kommen verschiedene Entity Categories zum Einsatz, die z.B. nach Projektzugehörigkeit vergeben und anhand der IdP- und SP-seitigen Filtermechanismen dazu eingesetzt werden können, sog. virtuelle Subföderationen zu bilden, z.B. für bwIDM, Nds-AAI und die Virtuelle Hochschule Bayern. Folgende Kategorien werden derzeit vergeben:
 +
 +  * [[de:aai:ec_bwidm-member|http://aai.dfn.de/category/bwidm-member]]
 +  * [[de:aai:ec_clarin-member|http://clarin.eu/category/clarin-member]]
 +  * [[de:aai:ec_ndsidm-member|http://aai.dfn.de/category/ndsidm-member]]
 +  * [[de:aai:ec_vetmed-member|http://aai.dfn.de/category/vetmed-member]]
 +  * [[de:aai:ec_vhb-member|http://aai.dfn.de/category/vhb-member]]
 +  * [[de:aai:ec_rarp-member|http://aai.dfn.de/category/rarp-member]]
 +  * [[de:aai:ec_public-idp|http://aai.dfn.de/category/public-idp]]
 +
 +Implementierungswünsche für weitere Entity Categories richten Sie bitte an [[hotline@aai.dfn.de|hotline@aai.dfn.de]].
 +
 +=== Beispiele (Metadaten) ===
 +
 +<file xml dfn-aai-sp-metadata.xml>
 +  <EntityDescriptor entityID="https://bw-support.scc.kit.edu/secure">
 +    <Extensions>
 +      <mdrpi:RegistrationInfo registrationAuthority="https://www.aai.dfn.de" registrationInstant="2013-05-29T12:16:37Z">
 +        <mdrpi:RegistrationPolicy xml:lang="en">https://www.aai.dfn.de/en/join/</mdrpi:RegistrationPolicy>
 +        <mdrpi:RegistrationPolicy xml:lang="de">https://www.aai.dfn.de/teilnahme/</mdrpi:RegistrationPolicy>
 +      </mdrpi:RegistrationInfo>
 +      <mdattr:EntityAttributes>
 +        <saml:Attribute Name="http://macedir.org/entity-category" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
 +          <saml:AttributeValue>http://aai.dfn.de/category/bwidm-member</saml:AttributeValue>
 +        </saml:Attribute>
 +      </mdattr:EntityAttributes>
 +    </Extensions>
 +</file>
 +
 +<file xml dfn-aai-metadata.xml>
 +  <EntityDescriptor entityID="https://mylogin.uni-freiburg.de/shibboleth">
 +    <Extensions>
 +      <mdrpi:RegistrationInfo registrationAuthority="https://www.aai.dfn.de" registrationInstant="2009-05-26T08:35:10Z">
 +        <mdrpi:RegistrationPolicy xml:lang="en">https://www.aai.dfn.de/en/join/</mdrpi:RegistrationPolicy>
 +        <mdrpi:RegistrationPolicy xml:lang="de">https://www.aai.dfn.de/teilnahme/</mdrpi:RegistrationPolicy>
 +      </mdrpi:RegistrationInfo>
 +      <mdattr:EntityAttributes>
 +        <saml:Attribute Name="http://macedir.org/entity-category" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
 +          <saml:AttributeValue>http://aai.dfn.de/category/bwidm-member</saml:AttributeValue>
 +        </saml:Attribute>
 +        <saml:Attribute Name="http://aai.dfn.de/loa/degree-of-reliance" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
 +          <saml:AttributeValue>advanced</saml:AttributeValue>
 +        </saml:Attribute>
 +      </mdattr:EntityAttributes>
 +    </Extensions>
 +</file>
 +
 +=== Public IdPs / Self-Signup IdPs ===
 +
 +Hiermit werden alle IdPs gekennzeichnet, die bekanntermaßen jedermann/frau offenstehen, d.h. auch Nutzern außerhalb von Wissenschaft und Forschung. Eine Identitätsprüfung findet i.d.R. nicht statt. Die Vergabe dieser Entity Category wird über eine manuell gepflegte Blacklist gesteuert. Hinweise auf IdPs, die dieser Kategorie zuzuordnen sind, richten Sie bitte an hotline@aai.dfn.de.
 +
 +<file xml dfn-aai-edugain+idp-metadata.xml>
 +  <md:EntityDescriptor entityID="https://indiid.net/idp/shibboleth">
 +    <md:Extensions>
 +      <mdrpi:RegistrationInfo registrationAuthority="http://ukfederation.org.uk" registrationInstant="2014-11-07T16:35:40Z">
 +        <mdrpi:RegistrationPolicy xml:lang="en">http://ukfederation.org.uk/doc/mdrps-20130902</mdrpi:RegistrationPolicy>
 +      </mdrpi:RegistrationInfo>
 +      <mdattr:EntityAttributes>
 +        <saml:Attribute Name="http://macedir.org/entity-category" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
 +          <saml:AttributeValue>http://aai.dfn.de/category/public-idp</saml:AttributeValue>
 +        </saml:Attribute>
 +        <!-- ... --->
 +      </mdattr:EntityAttributes>
 +    </md:Extensions>
 +</file>
 +
 +===== Beispiele (Filter) =====
 +
 +SP-seitige Whitelist, bei der die Metadaten, mit denen der SP arbeitet, auf IdPs aus dem bwIDM-Projekt beschränkt werden:
 +
 +<file xml shibboleth2.xml>
 +<MetadataProvider type="XML"
 +     uri="http://www.aai.dfn.de/fileadmin/metadata/dfn-aai-metadata.xml"
 +     backingFilePath="dfn-aai-metadata.xml" reloadInterval="3600">
 +   <MetadataFilter type="Signature" certificate="/etc/ssl/aai/dfn-aai.g2.pem" />
 +   <MetadataFilter type="Whitelist" matcher="EntityAttributes">
 +         <saml:Attribute Name="http://macedir.org/entity-category"
 +                   NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
 +            <saml:AttributeValue>http://aai.dfn.de/category/bwidm-member</saml:AttributeValue>
 +        </saml:Attribute>
 +   </MetadataFilter>
 +   <MetadataFilter type="EntityRoleWhiteList">
 +      <RetainedRole>md:IDPSSODescriptor</RetainedRole>
 +   </MetadataFilter>
 +</MetadataProvider>
 +</file>
 +
 +SP-seitige Blacklist, bei der aus den Metadaten, mit denen der SP arbeitet, sog. Public IdPs / Self-Signup IdPs entfernt werden:
 +
 +<file xml shibboleth2.xml>
 +<MetadataProvider type="XML"
 +     uri="http://www.aai.dfn.de/fileadmin/metadata/dfn-aai-edugain+idp-metadata.xml"
 +     backingFilePath="dfn-aai-edugain+idp-metadata.xml" reloadInterval="3600">
 +   <MetadataFilter type="Signature" certificate="/etc/ssl/aai/dfn-aai.g2.pem" />
 +   <MetadataFilter type="Blacklist" matcher="EntityAttributes">
 +         <saml:Attribute Name="http://macedir.org/entity-category"
 +                   NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
 +            <saml:AttributeValue>http://aai.dfn.de/category/public-idp</saml:AttributeValue>
 +        </saml:Attribute>
 +   </MetadataFilter>
 +   <MetadataFilter type="EntityRoleWhiteList">
 +      <RetainedRole>md:IDPSSODescriptor</RetainedRole>
 +   </MetadataFilter>
 +</MetadataProvider>
 +</file>
 +
 +SP-seitige Whitelist, bei der die Metadaten, mit denen der SP arbeitet, auf IdPs der [[:de:degrees_of_reliance|Verlässlichkeitsklasse]] "Advanced" beschränkt werden:
 +
 +<file xml shibboleth2.xml>
 +<MetadataProvider type="XML"
 +     uri="http://www.aai.dfn.de/fileadmin/metadata/dfn-aai-idp-metadata.xml"
 +     backingFilePath="dfn-aai-idp-metadata.xml" reloadInterval="3600">
 +   <MetadataFilter type="Signature" certificate="/etc/ssl/aai/dfn-aai.g2.pem" />
 +   <MetadataFilter type="Whitelist" matcher="EntityAttributes">
 +         <saml:Attribute Name="http://aai.dfn.de/loa/degree-of-reliance"
 +                   NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
 +            <saml:AttributeValue>advanced</saml:AttributeValue>
 +        </saml:Attribute>
 +   </MetadataFilter>
 +</MetadataProvider>
 +</file>
 +
 +IdP: Attributfreigabe an bwIDM-SPs:
 +
 +<file xml attribute-filter.xml>
 +<AttributeFilterPolicy id="BwIdm">
 +   <PolicyRequirementRule xsi:type="EntityAttributeExactMatch"
 +      attributeName="http://macedir.org/entity-category"
 +      attributeValue="http://aai.dfn.de/category/bwidm-member" />
 +   <AttributeRule attributeID="bwidmOrgId" permitAny="true"/>
 +   <AttributeRule attributeID="mail" permitAny="true"/>
 +   <AttributeRule attributeID="givenName" permitAny="true"/>
 +   <AttributeRule attributeID="surname" permitAny="true"/>
 +   <AttributeRule attributeID="o" permitAny="true"/>
 +   <AttributeRule attributeID="uid" permitAny="true"/>
 +   <AttributeRule attributeID="eduPersonPrincipalName" permitAny="true"/>
 +   <AttributeRule attributeID="eduPersonScopedAffiliation" permitAny="true"/>
 +   <AttributeRule attributeID="eduPersonEntitlement">
 +      <PermitValueRule xsi:type="ValueRegex" regex="^http://bwidm\.de/entitlement/.*$" />
 +   </AttributeRule>
 +</AttributeFilterPolicy>
 +</file>
 +
 +Weitere Beispiele unter [[https://wiki.aai.dfn.de/de:shibidp3attrfilter|Attribut-Konfiguration]].
 +
 ===== Referenzen (Shibboleth Wiki) ===== ===== Referenzen (Shibboleth Wiki) =====
  
  • Zuletzt geändert: vor 11 Tagen