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.
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.
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.
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):
Stačí je přidat jako další zdroj metadat v konfiguraci IdP nebo SP.
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>
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>
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.
CESNET, z. s. p. o.
Generála Píky 26
16000 Praha 6
info@cesnet.cz
Tel: +420 234 680 222
GSM: +420 602 252 531
support@cesnet.cz