cs:tech:categories:coco

Code of Conduct

Kategorie entit Code of Conduct (nebo také zkráceně CoCo) je určena pro entity, které chrání osobní data uživatelů dle GÉANT Data Protection Code of Conduct. Pro poskytovatele služeb definuje pravidla chování, aby získali uživatelské atributy od poskytovatelů identit jednotlivých domovských organizací. Očekává se totiž, že domovské organizace nebudou bránit uvolňování uživatelských atributů službám, které se zavázaly k ochraně osobních dat.

Oficiální dokumentace v angličtině se nachází na adrese https://wiki.refeds.org/display/CODE/ a chcete-li se stát součástí této kategorie entit, je vaší povinností si originální dokumentaci prostudovat. Zde se nachází pouze nejdůležitější informace, které se CoCo týkají.

Žadatel o členství potvrzuje, že plně pochopil zde uvedenou i odkazovanou dokumentaci a že je členství této entity v souladu s požadavky.

V případě nedodržení požadavků bude entita z této kategorie odebrána a opětovné zařazení nebude umožněno.


1. Seznámení a pochopení CoCo

Ze všeho nejdříve je nutné si projít nejdůležitější část dokumentace, tedy Code of Conduct for Service Providers a SAML 2 Profile for the Data Protection Code of Conduct, pochopit ji a být s ní v plném souladu.

2. Technické požadavky

Technické požadavky na členství v CoCo se liší v závislosti na entitě. Služby (SP) udávají, jak se budou k uživatelským údajům chovat atd. Domovské organizace (IdP) naproti tomu vyjadřují podporu pro CoCo a tedy že odpovídajícím službám budou uvolňovat atributy.

SP

Jste-li správcem SP, tato část je určena pro Vás.

Začít byste měli určitě prostudováním CoCo Recipe for a Service Provider a What attributes are relevant for a Service Provider.

Metadata musí obsahovat:

  • Element UIInfo s následujícími elementy v české (xml:lang=“cs”) i anglické (xml:lang=“en”) mutaci:
    • DisplayName
      • Krátké vypovídající jméno služby, pokud možno bez zkratek.
      • Např. AAIwiki (eduID.cz, eduroam.cz, CESNET PKI).
    • Description
      • Krátký popis poskytované služby, který je vypovídající i pro neznalé uživatele. Doporučená délka je 140 znaků,
      • Např. DokuWiki pro projekty eduID.cz, eduroam.cz a CESNET PKI.
    • PrivacyStatementURL
      • URL adresa k dokumentu se zásady ochrany osobních informací. Dokument musí být přístupný bez nutnosti jakékoliv autentizace.
      • Je vhodné použít následující šablonu.
  • Element AttributeConsumingService se seznam vyžadovaných atributů.
    • Je-li vyžadovaná nějaká specifická hodnota, měl by být použit element AttributeValue.
    • Pokud služba v metadatech nemá žádný element RequestedAttribute, má se za to, že služba nepotřebuje žádné atributy.
    • Služba musí požadovat minimální množství atributů nutných pro poskytování služby.
    • Vyžadované atributy mají mít v elementu RequestedAttribute atribut isRequired=“true”.
    • Seznam vyžadovaných atributů v metadatech musí být stejný jako seznam zpracovávaných atributů v dokumentu odkazovaném v PrivacyStatementURL.
  • Element EntityAttributes s odpovídajícím obsahem značící, že služba vyhovuje s pravidly CoCo.

Příklad metadata pro službu, která vyžaduje atributy displayName, eduPersonPrincipalName a mail je zde:

<EntityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata" entityID="https://www.example.org/shibboleth">
 
  <Extensions>
    <EntityAttributes xmlns="urn:oasis:names:tc:SAML:metadata:attribute">
      <Attribute xmlns="urn:oasis:names:tc:SAML:2.0:assertion"
        Name="http://macedir.org/entity-category" 
        NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
        <AttributeValue>http://www.geant.net/uri/dataprotection-code-of-conduct/v1</AttributeValue>
      </Attribute>
    </EntityAttributes>
  </Extensions>
 
  <SPSSODescriptor>
 
    <Extensions>
      <!-- UIInfo -->
      <UIInfo xmlns=”urn:oasis:names:tc:SAML:metadata:ui”>
        <DisplayName xml:lang="en">Software Database</DisplayName>
        <DisplayName xml:lang="cs">Databáze software</DisplayName>
        <Description xml:lang="en">Software available for download.</Description>
        <Description xml:lang="cs">Seznam software ke stažení.</Description>
        <PrivacyStatementURL xml:lang="en">https://www.example.org/en/privacy.html</PrivacyStatementURL>
        <PrivacyStatementURL xml:lang="cs">https://www.example.org/cs/privacy.html</PrivacyStatementURL>
      </UIInfo>
    </Extensions>
 
  <!-- Requested Attributes -->
  <AttributeConsumingService>
 
    <!-- displayName -->
    <RequestedAttribute
      FriendlyName="displayName" 
      Name="urn:oid:2.16.840.1.113730.3.1.241" 
      NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
      isRequired="true"/>
 
    <!-- eduPersonPrincipalName -->
    <RequestedAttribute 
      FriendlyName="eduPersonPrincipalName" 
      Name="urn:oid:1.3.6.1.4.1.5923.1.1.1.6" 
      NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri" 
      isRequired="true"/>
 
    <!-- mail -->
    <RequestedAttribute 
      FriendlyName="mail" 
      Name="urn:oid:0.9.2342.19200300.100.1.3" 
      NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri" 
      isRequired="true"/>
    </AttributeConsumingService>
 
  </SPSSODescriptor>
 
</EntityDescriptor>

IdP

Jste-li správcem IdP, tato část je určena pro Vás.

Začít byste měli určitě prostudováním CoCo Recipe for a Home Organisation a Data protection good practice for Home Organisations.

Metadata musí obsahovat element EntityAttributes s odpovídajícím obsahem vyjadřují podporu pro CoCo a tedy že odpovídajícím službám budou uvolňovat atributy.

<EntityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata" entityID="https://idp.example.org/">
  <Extensions>
 
    <EntityAttributes xmlns="urn:oasis:names:tc:SAML:metadata:attribute">
 
      <Attribute xmlns="urn:oasis:names:tc:SAML:2.0:assertion"
        Name="http://macedir.org/entity-category-support"
        NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
 
        <AttributeValue>http://www.geant.net/uri/dataprotection-code-of-conduct/v1</AttributeValue>
 
      </Attribute>
 
    </EntityAttributes>
 
  </Extensions>
</EntityDescriptor>

Zároveň je potřeba upravit politiku uvolňování atributů v konfiguračním souboru conf/attribute-filter.xml, aby služby z kategorie CoCo dostávaly správně atributy. Příklad uvolňování atributů pro IdP je zde:

<!-- Code of Conduct -->
<AttributeFilterPolicy id="CoCo">
 
    <PolicyRequirementRule
        xsi:type="EntityAttributeExactMatch"
        attributeName="http://macedir.org/entity-category"
        attributeValue="http://www.geant.net/uri/dataprotection-code-of-conduct/v1" />
 
    <!-- displayName -->
    <AttributeRule attributeID="displayName">
        <PermitValueRule xsi:type="AttributeInMetadata" onlyIfRequired="true" />
    </AttributeRule>
 
    <!-- cn -->
    <AttributeRule attributeID="cn">
        <PermitValueRule xsi:type="AttributeInMetadata" onlyIfRequired="true" />
    </AttributeRule>
 
    <!-- mail -->
    <AttributeRule attributeID="mail">
        <PermitValueRule xsi:type="AttributeInMetadata" onlyIfRequired="true" />
    </AttributeRule>
 
    <!-- eduPersonPrincipalName -->
    <AttributeRule attributeID="eduPersonPrincipalName">
        <PermitValueRule xsi:type="AttributeInMetadata" onlyIfRequired="true" />
    </AttributeRule>
 
    <!-- eduPersonScopedAffiliation -->
    <AttributeRule attributeID="eduPersonScopedAffiliation">
        <PermitValueRule xsi:type="AND">
            <Rule xsi:type="AttributeInMetadata" onlyIfRequired="true" />
            <Rule xsi:type="OR">
                <Rule xsi:type="Value" value="affiliate"       ignoreCase="true" />
                <Rule xsi:type="Value" value="alum"            ignoreCase="true" />
                <Rule xsi:type="Value" value="employee"        ignoreCase="true" />
                <Rule xsi:type="Value" value="faculty"         ignoreCase="true" />
                <Rule xsi:type="Value" value="library-walk-in" ignoreCase="true" />                
                <Rule xsi:type="Value" value="member"          ignoreCase="true" />
                <Rule xsi:type="Value" value="staff"           ignoreCase="true" />
                <Rule xsi:type="Value" value="student"         ignoreCase="true" />
            </Rule>
        </PermitValueRule>
    </AttributeRule>
 
    <!-- eduPersonAffiliation -->
    <AttributeRule attributeID="eduPersonAffiliation">
        <PermitValueRule xsi:type="AND">
            <Rule xsi:type="AttributeInMetadata" onlyIfRequired="true" />
            <Rule xsi:type="OR">
                <Rule xsi:type="Value" value="affiliate"       ignoreCase="true" />
                <Rule xsi:type="Value" value="alum"            ignoreCase="true" />
                <Rule xsi:type="Value" value="employee"        ignoreCase="true" />
                <Rule xsi:type="Value" value="faculty"         ignoreCase="true" />
                <Rule xsi:type="Value" value="library-walk-in" ignoreCase="true" />                
                <Rule xsi:type="Value" value="member"          ignoreCase="true" />
                <Rule xsi:type="Value" value="staff"           ignoreCase="true" />
                <Rule xsi:type="Value" value="student"         ignoreCase="true" />
            </Rule>
        </PermitValueRule>
    </AttributeRule>
 
    <!-- schacHomeOrg -->
    <AttributeRule attributeID="schacHomeOrg">
        <PermitValueRule xsi:type="AttributeInMetadata" onlyIfRequired="true" />
    </AttributeRule>
 
</AttributeFilterPolicy>

3. Zařazení do kategorie CoCo

Aktualizujte odpovídajícím způsobem metadata své entity a novou verzi metadat pošlete s žádostí o registraci do CoCo (ukázkový e-mail je uveden níže) na e-mailovou adresu eduid-admin@eduid.cz. E-mail musí být poslán odpovědnou osobou (tzv. administrativním nebo technickým kontaktem) a digitálně podepsán osobním certifikátem. V žádosti o členství v CoCo se musí u služeb (SP) nacházet explicitní informace, že entita úspěšně prošla všemi požadavky. (U IdP to z logiky CoCo není tato informace nutná.)

Předmět: Zařazení https://example.org/shibboleth do CoCo


Dobrý den,

žádám o zařazení entity https://example.org/shibboleth do kategorie entit CoCo.

Entita dodržuje všechny požadavky, které jsou na ni kladeny, aby mohla být do kategorie CoCo zařazena.

S pozdravem
Kryštof Šáteček

Své případné konkrétní otázky směřujte na e-mailovou adresu info@eduid.cz.

Last modified:: 2019/03/29 13:34