CESNET provozuje řadu podpůrných aplikací pro zaměstnance, řešitelé projektů a další externě spolupracující osoby. Tyto aplikace často vyžadují autentizaci a také určitý soubor uživatelských atributů. Zdrojem těchto dat je uživatelská databáze CESNET (LDAP). Znamená to, že kromě zaměstnanců CESNET 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ů (hesla).
S příchodem národní akademické federace 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 jeho vlastní organizace, která provádí autentizaci a poskytuje uživatelská data pro cílovou aplikaci. Vzhledem k tomu, že řada aplikací v síti CESNET vyžaduje specifické uživatelské atributy, které jsou k dispozici pouze v uživatelské databázi CESNET, je potřeba zkombinovat federovanou autentizaci s možnosti získat uživatelská data z databáze CESNET.
Ve federacích identit založených na SAML poskytuje identity provider (IdP) autentizaci uživatelů a vydává uživatelské atributy. Tyto dvě služby jsou nejčastěji poskytovány zároveň v okamžiku přihlášení uživatele. Na druhou stranu může identity provider fungovat jako samostatná tzv. atributová autorita - v režimu, kdy na dotaz poskytuje uživatelské atributy.
Znamená to, že daná aplikace může využít určitý identity provider pro autentizaci a pak získat uživatelské atributy z jiného identity provideru, který působí jako 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 identity provideru a aplikace pak získá další potřebné uživatelské atributy dotazem do atributové autority CESNET.
Všechny aplikace vyžadující data z atributové autority CESNET budou sdruženy do tzv. virtuální organizace, která bude mít vlastní záznam v metadatech. Cílem je, aby identity provideři domovských organizací pracovali s touto entitou jako celek. Za běžných okolností vydává identity provider pro každou aplikaci různý uživatelský identifikátor (name identifier). V případě virtuální organizace vydává identity provider uživatelský identifikátor společný pro celou virtuální organizaci, tj. pro všechny aplikace z této virtuální organizace. Na základě tohoto uživatelského identifikátoru atributová autorita CESNET vyhledá data příslušného uživatele a vydá jeho uživatelské atributy aplikaci (z virtuální organizace), která o ně požádala.
Hlavní požadavky:
Identity provider 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 generování a ukládání dat, pokud budou splňovat následující podmínky:
Shibboleth Identity Provider od verze 2.2 umí pracovat s virtuální organizaci (skupina aplikací, service providerů) jako celek. V tomto případě, aplikace, která se dotazuje, zároveň v dotazu uvede, že je členem dané virtuální organizace. Identity provider pak vybere uživatelský identifikátor, který přísluší dané virtuální organizace a ne té konkrétní aplikace. Pro kontrolu, zda aplikace opravdu patří do virtuální organizace, nahlíží identity provider do metadat, kde je tato virtuální organizace definována a kde jsou uvedeny všechny členy (aplikace).
Tato funkcionalita je automatická a pokud identity provider správně implementuje stored ID data connector, není potřeba do konfigurace nijak zasahovat.