cs:tech:edugain

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 explicitně požádat o zařazení entity do metadat eduGAINu na e-mailové adrese eduid-admin@eduid.cz.

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):

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.

Odkazy

Last modified:: 2021/08/20 10:08