cs:archive:aa

Atributová autorita

Úvod

CESNET provozuje řadu podpůrných aplikací pro zaměstnance, řešitele projektů a další externě spolupracující osoby. Tyto aplikace často vyžadují autentizaci a také určitý soubor uživatelských atributů, jejichž zdrojem je uživatelská databáze sdružení CESNET. Znamená to, že kromě zaměstnanců sdružení se do této databáze ukládají i účty externích spolupracovníků z jiných organizací, včetně jejich autentizačních údajů.

S příchodem české národní akademické federace identit eduID.cz přibyla možnost federovaného přístupu k aplikacím. Uživatel přistupující k aplikaci je přesměrován na přihlašovací stránku své domovské organizace, která provádí autentizaci a poskytuje základní uživatelské atributy pro cílovou aplikaci. Řada aplikací v síti CESNET vyžaduje specifické uživatelské atributy nad rámec atributů z domovské organizace. Tyto specifické uživatelské atributy jsou k dispozici pouze v uživatelské databázi atributové autority. Je proto potřeba zkombinovat federovanou autentizaci s možností získat tyto dodatečné uživatelské atributy z databáze atributové autority.

Autentizace a atributy

Ve federacích identit založených na standardu SAML2 (Security Assertion Markup Language) poskytuje IdP (Identity Provider) dvě služby:

  • autentizaci uživatelů,
  • vydávání uživatelských atributů.

Tyto dvě služby jsou nejčastěji poskytovány zároveň v okamžiku přihlášení uživatele. IdP ovšem může fungovat jako samostatná tzv. atributová autorita – v režimu, kdy na dotaz poskytuje pouze uživatelské atributy; avšak neřeší předchozí autentizaci uživatele, kterou zajišťuje IdP z domovské organizace uživatele.

Znamená to, že daná aplikace může využít určité IdP pro autentizaci a pak získat dodatečné uživatelské atributy z jiného IdP, které působí jako AA (atributová autorita). Konkrétně v případě aplikací v síti CESNET – uživatel se k aplikaci přihlásí pomocí svého domovského IdP a aplikace pak získá další potřebné uživatelské atributy dotazem do AA sdužení CESNET.

Atributová autorita jinými slovy umožňuje, aby se k uživatelskému účtu z libovolné organizace (např. ČVUT v Praze) přiřadily další uživatelské atributy (např. členství v nějakých skupinách). Je tedy možné vytvořit uživatelské skupiny tvořené uživateli z různých organizací a tedy různých IdP. Tyto skupiny je možné následně používat pro řízení přístupu ve službách využívajících federované přihlašování. Například můžete vytvořit skupinu lidí z různých univerzit a přiřadit je do skupiny administrátorů webové stránky.

Virtuální organizace

Všechny aplikace vyžadující data z atributové autority CESNETu budou sdruženy do tzv. VO (Virtuální Organizace), která bude mít vlastní záznam v metadatech. Cílem je, aby IdP domovských organizací pracovala s touto entitou jako celkem. Za běžných okolností vydává IdP pro každou aplikaci různý uživatelský identifikátor (Name Identifier). V případě virtuální organizace vydává IdP uživatelský identifikátor společný pro celou VO, tj. pro všechny aplikace z této virtuální organizace. Na základě tohoto uživatelského identifikátoru atributová autorita vyhledá data příslušného uživatele a vydá jeho uživatelské atributy aplikaci (z virtuální organizace), která o ně požádala.

Podpora u domovských organizací

Pro využití AA v rámci domovské organizace z české akademické federace identit eduID.cz je potřeba splnit následující požadavky:

  • implementovat podporu pro atribut storedId,
  • používat Shibboleth Identity Provider verze 2.2 nebo vyšší (s přihlédnutím k bezpečnostním oznámením).

Implementace storedId

IdP musí implementovat tzv. stored ID data connector, který generuje a ukládá netransparentní uživatelské identifikátory pro každou žadatelskou aplikaci zvlášť. Stored ID data connector standardně využívá SQL databázi pro ukládání vygenerovaných hodnot, ale v podstatě je možné použít libovolný způsob ukládání hodnot. Generovat hodnoty je možné téměř libovolným způsobem, pokud vygenerovaný identifikátor bude:

  • netransparentní – nelze z jeho hodnoty odvodit identitu uživatele,
  • targeted – pro každého žadatele má jinou hodnotu,
  • persistentní – hodnota pro daného uživatele se v čase nemění.

Shibboleth IdP 2.2+

Shibboleth Identity Provider od verze 2.2 umí pracovat s tzv. virtuální organizací (tj. skupinou aplikací, Service Providerů neboli SP) jako celkem. V tomto případě aplikace (SP), která se dotazuje na uživatelské atributy, zároveň v dotazu uvede, že je členem dané virtuální organizace. IdP pak vybere uživatelský identifikátor, který přísluší dané virtuální organizaci, nikoli konkrétní aplikaci. Pro kontrolu, zda aplikace opravdu patří do virtuální organizace, nahlíží IdP do metadat, kde je tato virtuální organizace definována a kde jsou uvedeni všichni členové.

Tato funkcionalita je automatická a pokud IdP správně implementuje stored ID data connector, není potřeba do konfigurace nijak zasahovat.

Technické informace

Všechny potřebné technické informace týkající se atributové autority provozované sdružením CESNET jsou uvedeny na samostatné stránce v technické sekci. Je zde též uveden návod ke konfiguraci podpory AA pro služby již využívající federalizované přihlášení.

Last modified:: 2017/02/10 07:02