Dies ist eine alte Version des Dokuments!


Entity Attributes

Entity Attributes?

Bei Entity Attributen handelt es sich um eine 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 zugriffsberechtigte IdPs festzumachen.

Über dieses Entity Attribut wird die Verlässlichkeitsklasse des Identity Providers angezeigt.

dfn-aai-idp-metadata.xml
  <md:EntityDescriptor entityID="https://idp.scc.kit.edu/idp/shibboleth">
    <md:Extensions>
      <mdrpi:RegistrationInfo registrationAuthority="https://www.aai.dfn.de" registrationInstant="2010-03-15T10:30:11Z">
        <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://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>
    </md:Extensions>

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 die REFEDS-Website und unsere Dokumentation zu Sirtfi Compliance in der DFN-AAI.

Das Sirtfi Entity Attribut 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:

  1. In den Metadaten muss ein Security-Kontakt benannt sein. Dabei muss es sich um eine Funktionsadresse handeln, keine persönliche E-Mail-Adresse.
  2. Wir setzen voraus, dass Sirtfi-konforme Einrichtungen die jeweils aktuellste Software-Version für den IdP bzw. SP einsetzen.
  3. Die SSL-Konfiguration des Webservers muss aktueller Best Practice entsprechen. Dazu ziehen wir den Servertest von ssllabs.com heran.

Zu den Maßnahmen und Prozeduren im Falle eines Sicherheitsvorfalls siehe unter Incident Response.

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>

Entity Categories

Eine Entity Category ist genau genommen auch ein Entity Attribut. 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.

Die folgenden drei Entity Categories kommen international zum Einsatz:

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 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 REFEDS die Registrierungskriterien (Punkt 4) und die Attributliste (Punkt 5).

In diesem Beispiel sehen die Metadaten eines Service Providers, der sich allen drei Entity Categories zurechnet:

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>
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>

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:

Implementierungswünsche für weitere Entity Categories richten Sie bitte an hotline@aai.dfn.de.

Beispiele (Metadaten)

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>
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>

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.

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>

SP-seitige Whitelist, bei der die Metadaten, mit denen der SP arbeitet, auf IdPs aus dem bwIDM-Projekt beschränkt werden:

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>

SP-seitige Blacklist, bei der aus den Metadaten, mit denen der SP arbeitet, sog. Public IdPs / Self-Signup IdPs entfernt werden:

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>

SP-seitige Whitelist, bei der die Metadaten, mit denen der SP arbeitet, auf IdPs der Verlässlichkeitsklasse „Advanced“ beschränkt werden:

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>

IdP: Attributfreigabe an bwIDM-SPs:

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>

Weitere Beispiele unter Attribut-Konfiguration.

  • Zuletzt geändert: vor 4 Jahren