cs:tech:attributes

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revize Předchozí verze
Následující verze
Předchozí verze
Následující verze Obě strany příští revize
cs:tech:attributes [2020/01/06 18:06]
jan.oppolzer@cesnet.cz [Povinné atributy] ePTID
cs:tech:attributes [2020/03/24 15:08]
jan.oppolzer@cesnet.cz [Doporučení]
Řádek 3: Řádek 3:
 Názvy atributů využívaných u IdP a SP se liší od názvů použitých v SAML komunikaci. Znamená to, že na každé straně je potřeba definovat vhodné mapovaní. Toto rozdělení zvyšuje interoperabilitu různých součástí federace, které můžou mít rozdílné názvy pro stejné atributy. Názvy atributů využívaných u IdP a SP se liší od názvů použitých v SAML komunikaci. Znamená to, že na každé straně je potřeba definovat vhodné mapovaní. Toto rozdělení zvyšuje interoperabilitu různých součástí federace, které můžou mít rozdílné názvy pro stejné atributy.
  
-Existuje několik způsobů kodování atributu v SAML komunikaci. Pokaždé jde o [[http://​en.wikipedia.org/​wiki/​Uniform_Resource_Identifier|URI]]:​+Existuje několik způsobů kodování atributu v SAML komunikaci. Pokaždé jde o [[https://​en.wikipedia.org/​wiki/​Uniform_Resource_Identifier|URI]]:​
  
-  * **urn:oid** - pokud jde o atribut z LDAP třídy, nejvhodnější je zápis pomocí OID, např. atribut mail se da zapsat jako //​urn:​oid:​0.9.2342.19200300.100.1.3//​ +  * **urn:​oid** ​-- pokud jde o atribut z LDAP třídy, nejvhodnější je zápis pomocí OID, 
-  * **urn:​mace** - v ostatních případech je možné použít identifikátor z namespace //​urn:​mace//​ a to buď ze standardizovaného podstromu ​[[http://​middleware.internet2.edu/​urn-mace/​urn-mace-dir-attribute-def.html|urn:​mace:​dir:​attribute-def]]tak i z vlastního podstromu, který ale musí být explicitně přidělen organizaci +  * **urn:​mace** ​-- v ostatních případech je možné použít identifikátor z namespace //​urn:​mace//​ a to buď ze standardizovaného podstromu, ​nebo z vlastního podstromu explicitně přiděleného ​organizaci, 
-  * **URL** - nejvhodnější způsob pojmenování vlastních atributů je použití ​URL, kde hostname je z domény patřící dané organizaci, např//​https://​cesnet.cz/​attribute-def/​customAttr //+  * **URL** ​-- nejvhodnější způsob pojmenování vlastních atributů je pomocí URL při použití domény patřící dané organizaci.
  
-Podrobné informace o konvencích v pojmenovávání atributů najdete na [[https://​wiki.shibboleth.net/​confluence/​display/​SHIB2/​SAMLAttributeNaming|Shibboleth Wiki]].+Podrobné informace o konvencích v pojmenovávání atributů najdete na [[https://​wiki.shibboleth.net/​confluence/​display/​CONCEPT/​SAMLAttributeNaming|Shibboleth Wiki]].
  
 +===== Objektová třída eduPerson =====
  
 +Federativní uspořádání //AAI// (Authentication and Authorization Infrastructure) si vyžádalo vznik společné sady atributů sloužících k autentizaci a autorizaci uživatele. Sdružení [[https://​www.internet2.edu|Internet2]] proto vyvinulo pro potřebu vzdělávacích institucí objektovou třídu //​eduPerson//​. Tato třída představuje rozšíření tříd //person//, //​organizationalPerson//​ a //​inetOrgPerson//​.
 +
 +  * [[https://​wiki.refeds.org/​display/​STAN/​eduPerson|Domovská stránka eduPerson]]
 +  * [[http://​software.internet2.edu/​eduperson/​internet2-mace-dir-eduperson-201602.html|Specifikace eduPerson]]
 +  * [[https://​wiki.refeds.org/​display/​STAN/​eduPerson+LDIF+Files|LDIF data]]
 +
 +Cílem této sekce webu je stručně popsat význam jednotlivých atributů a jejich hodnot tak, jak by měly být používány v českém akademickém prostředí. Jedná se o dokument vycházející z aktuálních požadavků. V budoucnu se bude s největší pravděpodobností dále vyvíjet na základě nových potřeb a diskuze v rámci komunity eduID.cz.
 +
 +Schéma //​eduPerson//​ je implementováno jako objektová třída v adresářové struktuře LDAP. To však neznamená, že všechny atributy musí být nutně uloženy v LDAP serveru. Obzvláště u atributů //​eduPersonScopedAffiliation//​ a //​eduPersonPrincipalName//​ se vzhledem k jejich povaze nabízí možnost jejich generování při odpovědi poskytovatele identit (IdP) na autorizační dotaz.
  
 ===== Povinné atributy ===== ===== Povinné atributy =====
Řádek 17: Řádek 27:
 Každý poskytovatel identit musí být schopen povinné atributy poskytovat. Jedná se o následující: ​ Každý poskytovatel identit musí být schopen povinné atributy poskytovat. Jedná se o následující: ​
  
-  * **[[cs:​tech:​attributes:​cn]]** +  * [[cs:​tech:​attributes:​cn]] 
-    //Definice:// celé jméno včetně diakritiky a bez akademických titulů v pořadí křestní jméno (jména) a příjmení +  ​[[cs:​tech:​attributes:​edupersonaffiliation]] 
-    //Příklad:// Kryštof Šáteček+  ​* [[cs:​tech:​attributes:​edupersonprincipalname]] 
 +  ​[[cs:​tech:​attributes:​edupersonscopedaffiliation]] 
 +  ​[[cs:​tech:​attributes:​edupersontargetedid]] 
 +  [[cs:tech:​attributes:​edupersonuniqueid]] 
 +  [[cs:tech:​attributes:​givenname]] 
 +  * [[cs:​tech:​attributes:​mail]] 
 +  * [[cs:​tech:​attributes:​sn]] 
 +  * [[cs:​tech:​attributes:​unstructuredname]]
  
-  * **[[cs:​tech:​attributes:​edupersonprincipalname]]** +===== Doporučené atributy =====
-    * //​Definice://​ jednoznačný identifikátor osoby v rámci federace +
-    * //​Příklad://​ satecek@example.org +
- +
-  * **[[cs:​tech:​attributes:​edupersonscopedaffiliation]]**  +
-    * //​Definice://​ vztah(y) osoby k organizaci +
-    * //​Příklad://​ member@example.org,​ employee@example.org,​ staff@example.org +
- +
-  * **[[cs:​tech:​attributes:​edupersontargetedid]]** +
-    * //​Definice://​ persistentní náhodně vygenerovaný řetězec nenesoucí žádnou informaci o osobě +
-    * //​Příklad://​ <​nowiki>​https://​idp.example.org/​idp/​shibboleth!https://​sp.example.org/​shibboleth!DMSjKwRge9YmZlc3leBnl0npqBs=</​nowiki>​ +
- +
-  * **[[cs:​tech:​attributes:​edupersonuniqueid]]** +
-    * //​Definice://​ jednoznačný,​ dlouhotrvající,​ neměnný a nikdy nerecyklovatelný identifikátor osoby v rámci federace +
-    * //​Příklad://​ 89645@example.org +
-    * //​Poznámka://​ souvisí s atributem "​unstructuredName"​ a generuje se jako hodnota_unstructuredName@example.org +
- +
-  * **[[cs:​tech:​attributes:​givenName]]** +
-    * //​Definice://​ celé křestní jméno (případně všechna křestní jména) včetně diakritiky +
-    * //​Příklad://​ Kryštof +
- +
-  * **[[cs:​tech:​attributes:​mail]]** +
-    * //​Definice://​ __ověřená__ adresa elektronické pošty uživatele +
-    * //​Příklad://​ krystof.satecek@example.org +
- +
-  * **[[cs:​tech:​attributes:​sn]]** +
-    * //​Definice://​ celé příjmení (případně všechna příjmení) včetně diakritiky +
-    * //​Příklad://​ Šáteček +
- +
-  * **[[cs:​tech:​attributes:​unstructuredname]]** +
-    * //​Definice://​ unikátní identifikátor uživatele, který se nikdy nezmění a nikdy nepoužije pro jiného uživatele +
-    * //​Příklad://​ 89645 +
-    * //​Poznámka://​ souvisí s eduPersonUniqueId,​ který ho využívá +
- +
-===== Regulované (doporučenéatributy =====+
    
-Všichni poskytovatele identit, kteří používají regulované atributy, ​ je používají pouze k níže uvedenému ​ účelu. +Všichni poskytovatele identit, kteří používají regulované atributy, je používají pouze k níže uvedenému účelu.
- +
-  * **[[cs:​tech:​attributes:​o]]** +
-    * //​Definice://​ označení organizace +
-    * //​Příklad://​ CESNET, z. s. p. o. +
- +
-  * **[[cs:​tech:​attributes:​ou]]** +
-    * //​Definice://​ označení organizační složky v rámci organizace +
-    * //​Příklad://​ Oddělení síťové identity +
- +
-Výše uvedené atributy slouží pro prezentační účely a nejsou vhodné pro autorizaci.  +
- +
-  * **[[cs:​tech:​attributes:​edupersonentitlement]]** +
-    * //​Definice://​ řízení přístupu k vyjmenovaným službám +
-    * //​Příklad://​ urn:​mace:​terena.org:​tcs:​escience-user +
- +
-  * **[[cs:​tech:​attributes:​czedupersonstudysubject]]** +
-    * //​Definice://​ kód studijního oboru dle [[https://​is.cuni.cz/​studium/​ciselniky/​index.php?​STACK_SAVE_modul=ciselniky&​func_count=0&​RETURN_FROM_SP=0&​ORIGINAL_SP_VALUE=0&​STACK_SAVE_return=akce_cis_v_vyber_kf_table&​menu=cis_v_vyber_kf&​KEY=Az1&​id_ciselnik=201&​menu=cis_v_data_kf&​order_reset=1|číselníku MŠMT]] +
-    * //​Příklad://​ 2601T017 (kód pro studijní obor //​Bezdrátové komunikace//​) +
- +
-  * **[[cs:​tech:​attributes:​czedupersonstudyprogramme]]** +
-    * //​Definice://​ kód studijního programu dle [[https://​is.cuni.cz/​studium/​ciselniky/​index.php?​STACK_SAVE_modul=ciselniky&​func_count=0&​RETURN_FROM_SP=0&​ORIGINAL_SP_VALUE=0&​STACK_SAVE_return=akce_cis_v_vyber_kf_table&​menu=cis_v_vyber_kf&​KEY=Az1&​id_ciselnik=200&​menu=cis_v_data_kf&​order_reset=1|číselníku MŠMT]] +
-    * //​Příklad://​ B2643 (kód pro studijní program //​Elektrotechnika,​ elektronika,​ komunikační a řídicí technika//)+
  
-  ​* **[[cs:​tech:​attributes:​edupersonorgunitdn]]** +  * [[cs:​tech:​attributes:​displayname]] 
-    //Definice:// DN popisující organizační jednotku, k níž má osoba formální vztah +  ​[[cs:​tech:​attributes:​edupersonentitlement]] 
-    //Příklad:// ou=k135,​o=fel,​dc=cvut,​dc=cz+  [[cs:tech:​attributes:​o]] 
 +  [[cs:​tech:​attributes:ou]]
  
 ===== TCS atributy ===== ===== TCS atributy =====
  
-  * **[[cs:tech:​attributes:​authmail]]** +Atributy potřebné pro službu ​[[https://tcs.cesnet.cz|TCS]] jsou uvedeny na [[https://pki.cesnet.cz/cs/tcs-admin.html#​technicke_predpoklady|samostatné stránce]].
-    * //Definice:// ověřené e-mailové adresy konkrétního uživatele +
-    * //​Příklad://​ krystof.satecek@example.org +
- +
-  * **[[cs:​tech:​attributes:​commonnameascii]]** +
-    * //​Definice://​ celé jméno v pořadí křestní jméno (jména) a příjmení bez titulů a diakritiky +
-    * //​Příklad://​ Krystof Satecek +
- +
-  * **[[cs:tech:​attributes:​edupersonentitlement]]** +
-    * //Definice:// řízení přístupu k vyjmenovaným službám +
-    * //​Příklad://​ urn:​mace:​terena.org:​tcs:escience-user +
- +
-  * **[[cs:​tech:​attributes:​telephonenumber]]** +
-    * //​Definice://​ telefonní číslo uživatele +
-    * //​Příklad://​ +420123456789+
  
 ===== Lokální atributy ===== ===== Lokální atributy =====
Řádek 120: Řádek 68:
    
 Pro autorizaci je vhodné používat zejména atribut //​eduPersonScopedAffiliation//,​ který vystihuje ​ Pro autorizaci je vhodné používat zejména atribut //​eduPersonScopedAffiliation//,​ který vystihuje ​
-vztah uživatele k organizaci, např. ​memberexample.org. Naopak je nevhodné používat k +vztah uživatele k organizaci, např. ​''​member@example.org''​. Naopak je nevhodné používat k 
 autorizaci identifikaci IdP.  autorizaci identifikaci IdP. 
  
Řádek 137: Řádek 85:
 zajištuje na jedné straně soukromí (není znám jeho login a tedy identifikace) a současně je pro konkrétní ​ zajištuje na jedné straně soukromí (není znám jeho login a tedy identifikace) a současně je pro konkrétní ​
 SP vždy stejně identifikován a SP tak může poskytovat službu uchovávání dat, ať už skutečných dat uživatele ​ SP vždy stejně identifikován a SP tak může poskytovat službu uchovávání dat, ať už skutečných dat uživatele ​
-anebo jen nějaké jeho nastavení. Nezbytná implementace není, u řady služeb bude ale vyžadováno uvolňování ​EPPN.+anebo jen nějaké jeho nastavení. Nezbytná implementace není, u řady služeb bude ale vyžadováno uvolňování ​//​eduPersonPrincipalName//​ nebo //​eduPersonUniqueId//​. 
Poslední úprava:: 2021/12/15 20:29