Configurer un IdP pour l'accès au portail d'enregistrement Erasmus Without Paper
1. Objet
Cette fiche technique est destinée aux administrateurs d'IDP.
Elle décrit comment configurer un IDP pour permettre aux personnels autorisés d'un établissement participant au programme Erasmus+ d'accéder au portail d'enregistrement EWP (Erasmus Without Paper Registration Portal).
L'accès au portail EWP pour les personnels de l'établissement est notamment conditionné par le fait de disposer du rôle Admin EWP, qui doit être transmis par l'IDP sous forme d'un attribut eduPersonEntitlement
.
2. Attribut requis
Le fournisseur d'Identité (IdP) doit fournir les attributs suivants au SP EWP Registration Portal :
Attribut | Détail |
---|---|
Au moins 1 des éléments suivants : - eduPersonTargetedID (urn:oid:1.3.6.1.4.1.5923.1.1.1.10) - eduPersonUniqueID (urn:oid:1.3.6.1.4.1.5923.1.1.1.13) - SAML Subject-ID (urn:oasis:names:tc:SAML:attribute:subject-id) - SAML Pairwise-ID (urn:oasis:names:tc:SAML:attribute:pairwise-id) | Identifiant unique de la personne. |
Au moins 1 des éléments suivants : - cn (urn:oid:2.5.4.3) - displayName (urn:oid:2.16.840.1.113730.3.1.241) - sn (urn:oid:2.5.4.4) + givenName (urn:oid:2.5.4.42) | Nom et prénom de la personne. |
mail (urn:oid:0.9.2342.19200300.100.1.3) | Adresse email canonique de la personne fournie par l'établissement. |
schacHomeOrganization (urn:oid:1.3.6.1.4.1.25178.1.2.9) | Identifiant de l'établissement de la personne (nom de domaine DNS). Exemple de valeur : univ-exemple.fr |
eduPersonScopedAffiliation (urn:oid:1.3.6.1.4.1.5923.1.1.1.9) | Statut de la personne vis-à-vis de l'établissement, peut être multi-valuée. Exemple de valeur : staff@univ-exemple.fr |
eduPersonEntitlement (urn:oid:1.3.6.1.4.1.5923.1.1.1.7) | Rôle de la personne. La valeur doit être positionnée à urn:geant:erasmuswithoutpaper.eu:ewp:admin pour l'accès aux outils en ligne EWP |
3. Configuration de l'IDP
3.1 Pré-requis
Dans l'annuaire LDAP de l'établissement (utilisé par l'IDP), l'attribut eduPersonEntitlement
doit être présent et alimenté avec la valeur urn:geant:erasmuswithoutpaper.eu:ewp:admin pour les comptes utilisateurs des personnels autorisés à accéder aux outils en ligne EWP.
3.2 Résolution des attributs
schacHomeOrganization
(attribut statique) et samlPairwiseID
(attribut persistant), vous pouvez vous reporter à notre documentation
L'extrait de fichier resolver ci-dessous fournit les définitions des attributs requis présentés au §2.
- Extrait de fichier attribute-resolver.xml
[...] <AttributeDefinition id="samlPairwiseID" xsi:type="Scoped" scope="%{idp.scope}"> <InputDataConnector ref="myComputedId" attributeNames="persistentID" /> </AttributeDefinition> <AttributeDefinition id="commonName" xsi:type="Simple"> <InputDataConnector ref="myLDAP" attributeNames="cn" /> </AttributeDefinition> <AttributeDefinition id="mail" xsi:type="Simple"> <InputDataConnector ref="myLDAP" attributeNames="mail" /> </AttributeDefinition> <AttributeDefinition id="schacHomeOrganization" xsi:type="Simple"> <InputDataConnector ref="staticAttributes" attributeNames="schacHomeOrganization" /> </AttributeDefinition> <AttributeDefinition id="eduPersonScopedAffiliation" xsi:type="Scoped" scope="%{idp.scope}"> <InputAttributeDefinition ref="eduPersonAffiliation" /> </AttributeDefinition> <AttributeDefinition id="eduPersonEntitlement" xsi:type="Simple"> <InputDataConnector ref="myLDAP" attributeNames="eduPersonEntitlement" /> </AttributeDefinition> [...] <!-- Les propriétés entre accolades ci-dessous doivent être définies les fichier saml-nameid.properties et secrets.properties --> <DataConnector id="myComputedId" xsi:type="ComputedId" generatedAttributeID="persistentID" salt="%{idp.persistentId.salt}" algorithm="%{idp.persistentId.algorithm:SHA}" encoding="%{idp.persistentId.encoding:BASE32}"> <InputAttributeDefinition ref="%{idp.persistentId.sourceAttribute}" /> </DataConnector> <DataConnector id="staticAttributes" xsi:type="Static"> <Attribute id="schacHomeOrganization"> <!-- valeur à adapter (nom de domaine de l'établissement) --> <Value>domaineEtab.fr</Value> </Attribute> </DataConnector> [...]
3.3 Diffusion des attributs
Le filtre donné en exemple ci-dessous permet de renvoyer l'ensemble des attributs requis par le service EWP Registration Portal, desservi par le proxy erasmus dont l'entityid est https://proxy.acc.erasmus.eduteams.org/metadata/backend.xml
- Extrait de fichier attribute-filter.xml
[...] <AttributeFilterPolicy id="ReleaseToEWPRegistrationPortal"> <!-- Transmission des attributs requis au service EWP Registration Portal --> <PolicyRequirementRule xsi:type="Requester" value="https://proxy.prod.erasmus.eduteams.org/metadata/backend.xml" /> <AttributeRule attributeID="samlPairwiseID"> <PermitValueRule xsi:type="ANY"/> </AttributeRule> <AttributeRule attributeID="commonName"> <PermitValueRule xsi:type="ANY"/> </AttributeRule> <AttributeRule attributeID="mail"> <PermitValueRule xsi:type="ANY"/> </AttributeRule> <AttributeRule attributeID="schacHomeOrganization"> <PermitValueRule xsi:type="ANY"/> </AttributeRule> <AttributeRule attributeID="eduPersonScopedAffiliation"> <PermitValueRule xsi:type="ANY"/> </AttributeRule> <AttributeRule attributeID="eduPersonEntitlement"> <PermitValueRule xsi:type="Value" value="urn:geant:erasmuswithoutpaper.eu:ewp:admin" /> </AttributeRule> </AttributeFilterPolicy> [...]