Attributfreigabe für Code-of-Conduct SPs
REFEDS Data Protection Code of Conduct (CoCo v.2)
Basiert auf der DSGVO. Weitere Infos unter Entity Categories und https://refeds.org/category/code-of-conduct/v2.
IdPs, die u.g. Filter Policy implementiert haben, sollten in der Metadatenverwaltung den entsprechenden Entity Category Support setzen!
NB: Der Bedarf bezüglich einer pairwise-id oder subject-id muss SP-seitig über ein entsprechendes Entity Attribut signalisiert werden, siehe hierzu auch diese Beispiele.
Hier ein Beispiel für die Freigabe der subject-id/pairwise-id (sofern angefordert) für SPs, die dem CoCo v.2 folgen:
- ./conf/attribute-filter.xml
- <AttributeFilterPolicy id="releaseSubjectId2coco"> <PolicyRequirementRule xsi:type="AND"> <Rule xsi:type="EntityAttributeExactMatch" attributeName="urn:oasis:names:tc:SAML:profiles:subject-id:req" attributeValue="subject-id" /> <Rule xsi:type="EntityAttributeExactMatch" attributeName="http://macedir.org/entity-category" attributeValue="https://refeds.org/category/code-of-conduct/v2" /> </PolicyRequirementRule> <AttributeRule attributeID="samlSubjectID" permitAny="true"/> </AttributeFilterPolicy> <AttributeFilterPolicy id="releasePairwiseId2coco"> <PolicyRequirementRule xsi:type="AND"> <Rule xsi:type="OR"> <Rule xsi:type="EntityAttributeExactMatch" attributeName="urn:oasis:names:tc:SAML:profiles:subject-id:req" attributeValue="pairwise-id" /> <Rule xsi:type="EntityAttributeExactMatch" attributeName="urn:oasis:names:tc:SAML:profiles:subject-id:req" attributeValue="any" /> </Rule> <Rule xsi:type="EntityAttributeExactMatch" attributeName="http://macedir.org/entity-category" attributeValue="https://refeds.org/category/code-of-conduct/v2" /> </PolicyRequirementRule> <AttributeRule attributeID="samlPairwiseID" permitAny="true"/> </AttributeFilterPolicy> 
IdPs sollten nur die vom SP angeforderten Attribute freigeben, d.h. in den SP-Metadaten wird das jeweilige Attribut mit isRequired=„true“ angefordert. Siehe auch  Good practice for Home organisations.
Mit dem Parameter onlyIfRequired=„true“ werden nur angeforderte Attribute freigegeben. Default-Wert von onlyIfRequired ist true, der Parameter muss also nicht zwingend angegeben werden. Weitere Informationen finden Sie hier
Ausführliches Beispiel für eine Attribute Filter Policy, die für die allermeisten Anwendungsfälle passen sollte:
- /opt/shibboleth-idp/conf/attribute-filter.xml
- <AttributeFilterPolicy id="releaseToCoCo2"> <PolicyRequirementRule xsi:type="EntityAttributeExactMatch" attributeName="http://macedir.org/entity-category" attributeValue="https://refeds.org/category/code-of-conduct/v2" /> <AttributeRule attributeID="displayName"> <PermitValueRule xsi:type="AttributeInMetadata" onlyIfRequired="true"/> </AttributeRule> <AttributeRule attributeID="eduPersonScopedAffiliation"> <PermitValueRule xsi:type="AttributeInMetadata" onlyIfRequired="true"/> </AttributeRule> <AttributeRule attributeID="eduPersonAffiliation"> <PermitValueRule xsi:type="AttributeInMetadata" onlyIfRequired="true"/> </AttributeRule> <AttributeRule attributeID="mail"> <PermitValueRule xsi:type="AttributeInMetadata" onlyIfRequired="true"/> </AttributeRule> <AttributeRule attributeID="cn"> <PermitValueRule xsi:type="AttributeInMetadata" onlyIfRequired="true"/> </AttributeRule> <AttributeRule attributeID="givenName"> <PermitValueRule xsi:type="AttributeInMetadata" onlyIfRequired="true"/> </AttributeRule> <AttributeRule attributeID="sn"> <PermitValueRule xsi:type="AttributeInMetadata" onlyIfRequired="true"/> </AttributeRule> <AttributeRule attributeID="eduPersonPrincipalName"> <PermitValueRule xsi:type="AttributeInMetadata" onlyIfRequired="true"/> </AttributeRule> <AttributeRule attributeID="schacHomeOrganization"> <PermitValueRule xsi:type="AttributeInMetadata" onlyIfRequired="true"/> </AttributeRule> <AttributeRule attributeID="schacHomeOrganizationType"> <PermitValueRule xsi:type="AttributeInMetadata" onlyIfRequired="true"/> </AttributeRule> <AttributeRule attributeID="o"> <PermitValueRule xsi:type="AttributeInMetadata" onlyIfRequired="true"/> </AttributeRule> </AttributeFilterPolicy> 
GÉANT Data Protection Code of Conduct for Service Providers in EU/EEA (CoCo v.1)
- Offizielle Bezeichnung: „GÉANT Data Protection Code of Conduct for Service Providers in EU/EEA“, siehe auch unter Entity Attributes/Categories
- Basiert auf der Datenschutzrichtlinie 95/46/EG von 1995, die 2018 von der EU Datenschutz-Grundverordnung (DSGVO) abgelöst wurde.
- Dokumentation im GÉANT Wiki
- IdPs, die diese Filter Policy implementiert haben, sollten in der Metadatenverwaltung den entsprechenden Entity Category Support setzen.
- Konfiguration der eduPersonTargetedID
Ausführliches Beispiel, das alle Eventualitäten abdecken sollte:
- /opt/shibboleth-idp/conf/attribute-filter.xml
- <AttributeFilterPolicy id="releaseToCoCo"> <PolicyRequirementRule xsi:type="EntityAttributeExactMatch" attributeName="http://macedir.org/entity-category" attributeValue="http://www.geant.net/uri/dataprotection-code-of-conduct/v1" /> <!--onlyIfRequired="true" kann hier weggelassen werden, da ab IdPv3.2 Default--> <AttributeRule attributeID="displayName"> <PermitValueRule xsi:type="AttributeInMetadata"/> </AttributeRule> <AttributeRule attributeID="eduPersonScopedAffiliation"> <PermitValueRule xsi:type="AttributeInMetadata"/> </AttributeRule> <AttributeRule attributeID="eduPersonAffiliation"> <PermitValueRule xsi:type="AttributeInMetadata"/> </AttributeRule> <AttributeRule attributeID="mail"> <PermitValueRule xsi:type="AttributeInMetadata"/> </AttributeRule> <AttributeRule attributeID="cn"> <PermitValueRule xsi:type="AttributeInMetadata"/> </AttributeRule> <AttributeRule attributeID="givenName"> <PermitValueRule xsi:type="AttributeInMetadata"/> </AttributeRule> <AttributeRule attributeID="sn"> <PermitValueRule xsi:type="AttributeInMetadata"/> </AttributeRule> <AttributeRule attributeID="eduPersonPrincipalName"> <PermitValueRule xsi:type="AttributeInMetadata"/> </AttributeRule> <AttributeRule attributeID="schacHomeOrganization"> <PermitValueRule xsi:type="AttributeInMetadata"/> </AttributeRule> <AttributeRule attributeID="schacHomeOrganizationType"> <PermitValueRule xsi:type="AttributeInMetadata"/> </AttributeRule> <AttributeRule attributeID="eduPersonTargetedID"> <PermitValueRule xsi:type="AttributeInMetadata"/> </AttributeRule> <AttributeRule attributeID="o"> <PermitValueRule xsi:type="AttributeInMetadata"/> </AttributeRule> </AttributeFilterPolicy>