eduGAIN
Co je eduGAIN?
eduGAIN je služba vyvíjená v rámci projektu GÉANT, která propojuje různé federace identit a umožňuje snadný přístup ke zdrojům a službám v rámci globální výzkumné a vzdělávací komunity. Poskytuje technické zázemí a definuje pravidla, která usnadňují interakci mezi entitami napříč různými federacemi.
K eduGAIN se připojují vždy pouze celé federace. Jednotlivé entity – poskytovatelé identit (Identity Provider, IdP) a služeb (Service Provider, SP) – se pak připojují k eduGAIN přes svou domovskou federaci. Tímto způsobem se již globální zdroje a aplikace, které poskytují své služby různým federacím, nemusí připojovat do každé federace zvlášť. Zároveň uživatelé poskytovatelů identit snadno získají přístup k aplikacím z jiných federací připojených do eduGAIN.
Výhody pro poskytovatele služeb
- Větší počet uživatelů.
- Snížení nákladů na jednoho uživatele – není potřeba udržovat autentizační údaje a poskytovat příslušnou podporu.
Výhody pro poskytovatele identit
- Více aplikací pro uživatele.
- Bez dalších nákladů – stačí, když je IdP členem federace, která je připojena do eguGAIN.
Výhody pro koncové uživatele
- Přístup k většímu počtu aplikací.
- Jednotná identita a přihlašovací údaje pro všechny aplikace přístupné přes eduGAIN.
- eduGAIN je pro uživatele transparentní – poskytuje přístup k službám, aniž by byl „vidět“.
Jak funguje?
eduGAIN definuje různé sady technických i organizačních pravidel – framework policy. Členské federace se zavazují, že tyto podmínky budou dodržovat. Samotné entity (IdP a SP) z jednotlivých federací pak už nemusí podepisovat žádné další dohody. Je čistě na domovské federaci, aby určila podmínky pro členství v eduGAINu a aby zajistila dodržování dohodnutých pravidel v rámci eduGAINu.
Na technické úrovni nepřidává eduGAIN žádné další mechanismy nad rámec SAML. Entity v eduGAINu mezi sebou komunikují jako v klasické SAML federaci. Teoreticky každá SAML kompatibilní entita může komunikovat v rámci eduGAINu. Metadata všech entit v eduGAINu se udržují v centrálním registru metadat eduGAIN (MDS). Publikaci a údržbu jednotlivých entit v registru mají na starost příslušné domovské federace. Zároveň je povinností každé členské federace, aby zpřístupnila metadata eduGAINu pro své entity.
Jak se připojit?
Entity eduID.cz se nestávají součástí eduGAINu automaticky. Je potřeba nastavit členství v aplikaci MetaMan.
Nejpozději do dvou dnů od zařazení metadat do eduGAINu by Vaše entita měla být registrována v eduGAINu a Vaši zahraniční partneři registrovaní v eduGAINu by Vaše metadata měli mít k dispozici.
Vy zároveň musíte na své entitě zajistit stahování metadata eduGAINu.
Metadata eduGAINu
Aby bylo možné komunikovat s entitami z eduGAINu, je potřeba získat jejich metadata. Metadata entit eduGAINu najdete na následujících adresách (jsou podepsaná standardním certifikátem jako metadata federace eduID.cz):
- https://metadata.eduid.cz/entities/edugain – metadata všech entit,
- https://metadata.eduid.cz/entities/edugain+idp – metadata všech IdP (určeno pro SP),
- https://metadata.eduid.cz/entities/edugain+sp – metadata všech SP (určeno pro IdP).
Stačí je přidat jako další zdroj metadat v konfiguraci IdP nebo SP.
Shibboleth IdP
Přidání metadat eduGAINu do Shibboleth IdP za předpokladu, že veřejný klíč k ověření podpisu v metadatech je uložen v instalaci IdP v souboru credentials/metadata.eduid.cz.crt.pem
. Následující kus kódu je třeba přidat do souboru conf/metadata-providers.xml
.
<!-- eduGAIN --> <MetadataProvider id="edugain" xsi:type="FileBackedHTTPMetadataProvider" backingFile="%{idp.home}/metadata/edugain.xml" metadataURL="https://metadata.eduid.cz/entities/edugain+sp" maxRefreshDelay="PT30M"> <MetadataFilter xsi:type="SignatureValidation" requireSignedRoot="true" certificateFile="%{idp.home}/credentials/metadata.eduid.cz.crt.pem" /> <MetadataFilter xsi:type="RequiredValidUntil" maxValidityInterval="P30D" /> </MetadataProvider>
Shibboleth SP
Přidání metadat eduGAINu do Shibboleth SP za předpokladu, že veřejný klíč k ověření podpisu v metadatech je uložen v instalaci SP v souboru /etc/shibboleth/metadata.eduid.cz.crt.pem
. Následující kus kódu je třeba přidat do souboru /etc/shibboleth/shibboleth2.xml
.
<!-- eduGAIN --> <MetadataProvider type="XML" validate="true" url="https://metadata.eduid.cz/entities/edugain+idp" backingFilePath="edugain.xml" maxRefreshDelay="900"> <MetadataFilter type="RequireValidUntil" maxValidityInterval="2419200"/> <MetadataFilter type="Signature" certificate="metadata.eduid.cz.crt.pem" verifyBackup="false"/> </MetadataProvider>
Atributy
Uvolňování atributů na straně IdP (Attribute Releace Policy, ARP)
Pokud chcete specifikovat, které atributy se mají uvolňovat pro SP z eduGAIN, je potřeba v conf/attribute-filter.xml
přidat nový element AttributeFilterPolicy
, například:
<!-- eduGAIN --> <AttributeFilterPolicy id="edugain"> <PolicyRequirementRule xsi:type="InEntityGroup" groupID="http://edugain.org/"/> <AttributeRule attributeID="cn" permitAny="true"/> <AttributeRule attributeID="displayName" permitAny="true"/> <AttributeRule attributeID="eduPersonEntitlement" permitAny="true"/> <AttributeRule attributeID="eduPersonPrincipalName" permitAny="true"/> <AttributeRule attributeID="eduPersonScopedAffiliation" permitAny="true"/> <AttributeRule attributeID="eduPersonTargetedID" permitAny="true"/> <AttributeRule attributeID="eduPersonUniqueId" permitAny="true"/> <AttributeRule attributeID="givenName" permitAny="true"/> <AttributeRule attributeID="mail" permitAny="true"/> <AttributeRule attributeID="o" permitAny="true"/> <AttributeRule attributeID="schacHomeOrganization" permitAny="true"/> <AttributeRule attributeID="sn" permitAny="true"/> </AttributeFilterPolicy>
V případě, že jste při instalaci použili doporučený soubor s výchozími pravidly pro uvolňování atributů na adrese https://www.eduid.cz/shibboleth-idp/attribute-filter.xml, máte vše plně připraveno a stačí v případě potřeby jen uvedený seznam uvolňovaných atributů upravit dle svých potřeb.