You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 37 Next »

Detta är ett arbetsdokument

Beskrivning av European Student Identifier (ESI)

European Student Identifier, förkortat ESI, är ett särskilt attribut som används vid administration av europeiska studentutbyten, t.ex. inom Erasmusprogrammet, samt vid de virtuella europeiska universiteten för att primärt underlätta att personuppgifter och studieresultat överförs korrekt mellan de inblandade högskolorna och universiteten.

ESI representeras i SAML som schacPersonalUniqueCode (se nedan för detaljer)

Alla lärosäten som deltar i Erasmus+ måste innan November 2021 ha implementerat ESI för att vara säkra på att fortsättningsvis ha tillgång till Erasmus-programmets tekniska infrastruktur.

Alternativa sätt att implementera ESI

Ett ESI är alltså en unik, permanent och stabil identifierare som byggs upp av ett prefix som är unikt för organisationen eller organisationerna, och ett suffix som är unikt inom en eller en grupp av organisationer.  Det är inte omöjligt att en person "samlar på sig" mer än ett ESI under sin studietid men det är naturligtvis enklare ju färre ESIer man behöver hålla reda på. Det finns också fördelar om ett ESI kan följa med en student genom hela livet varför eduID kan vara värdefullt att integrera med även för lärosäten med egna IdPer.

Implementationen av ESI på ett lärosäte kretsar kring följande två beslut:

  1. Hur skapar man den lokala unika identifieraren för en student?
  2. Hur gör man ESI-attributet tillgängligt i samband med inloggning till de tjänster som ska konsumera attributet?

Svaret på den första frågan handlar delvis om lärosätet är anslutet till Ladok eller ej. Svaret på den andra frågan handlar om om det finns en bra integration mellan Ladok (eller ett annat motsvarande system) och antingen lärosätets IdP. Om Svaret på den första frågan är nej - dvs om lärosätet inte är anslutet till Ladok - måste man hitta ett annat sätt att välja en stabil, unik och permanent identifierare. Om lärosätet saknar integration med sin IdP eller av andra skäl inte kan eller vill använda denna kan eduID användas.

Tänk på följande:

  • Allt detta är rekommendationer - varje lärosäte fattar ett eget beslut om ESI
  • Det är bäst om en student har få ESI:er men det är inte en katastrof om en student har flera ESIer under sin studietid - tex i samband med flytt till eller från ett lärosäte som inte ingår i Ladok eller för studenter som inte gått igenom central antagning och därför inte har ett StudentUID.
  • Man kan behöva hantera studenter som gått igenom lokal antagning på ett annat sätt än vanliga "NyA-studenter" - detta kan ge olika ESI-strukturer inom ett lärosäte. Detta är inte ett problem för ESI-samarbetet.
  • ESI är inte knutet till personnummer och kräver inte "verifierade" användare - ett ESI är frikopplat från nationella identifieringssystem och är gemensamt för hela EU
  • Genom att samordna ESI med eduID kan en student behålla sitt ESI över lång tid - även efter att man valt att rensa bort ett lärosäteskonto. Detta främjar livslångt lärande på sikt.

De olika fallen faller inom följande huvudkategorier som vi beskriver nedan.

Lärosätet är anslutet till Ladok och och har egen integration med Ladok


Förslag till beslut

  1. Lärosätet skapar ESI baserat på ExterntUID i Ladok enligt beskrivningen nedan.
  2. Det egna lärosätets IdP konfigureras att göra attribut-release av ESI via integration med det lokala systemet.

Att tänka på...

  • Lärosätet kan även be eduID slå på integration med Ladok så att samma ESI släpps från både lärosätets egen IdP samt från eduID (för studenter som även har konto i eduID). Kontakta eduID isåfall

Lärosätet är inte anslutet till Ladok men använder NyA för antagning


Förslag till beslut

  1. Lärosätet skapar ESI baserat på STUDENT_UID i NyA-Open enligt beskrivningen nedan.
  2. Det egna lärosätets IdP konfigureras att göra attribut-release av ESI via integration med det lokala systemet.

Lärosätet är anslutet till ladok men har inte möjlighet att göra en egen integration som använder StudentUID


Förslag till beslut

  1. Använd den integration som eduID kommer utveckla med Ladok. ESI får den struktur som beskrivs nedan baserat på ExterntUID i Ladok.
  2. eduID gör attribut-release av ESI

Att tänka på...

  • Ta kontakt med eduID

Lärosätet är inte anslutet till ladok och väljer att göra egen attribut-release av ESI.


Förslag till beslut

  1. Etablera ESI i en lokalt system eller liknande enligt följande struktur urn:schac:PersonalUniqueCode:int:esi:<lärosätets scope i swamid>:<lokal unik identifierare>
  2. Det egna lärosätets IdP konfigureras att göra attribut-release av ESI via integration med det lokala systemet.

Att tänka på...

  • Planera för utvecklingsinsatsen redan nu.
  • Överväg att även integrera med eduID för att göra det möjligt för studenter att behålla sitt ESI hela livet. Kontakta eduID isåfall.

Lärosätet är inte anslutet till ladok och använder eduID för att skapa ESI


Förslag till beslut

  1. Lärosätet använder eduIDs API (SCIM) för att skicka information om vilka som är studenter till eduID
  2. eduID gör attribut-release av ESI baserad på eduID eppn

Att tänka på...

  • Evt kan lärosätet också välja att hämta hem ESI-attributet till en egen IdP för att även göra attribut-release från egen IdP.
  • Planera för utvecklingsinsatsen och kontakta eduID för att så snart som möjligt börja utveckla mot eduID SCIM-API.
  • Detta alternativ kan även användas för studenter som inte gått igenom central antagning och kan kombineras med andra alternativ.

Använda StudentUID från Ladok som ESI

I Ladok finns ett ExterntUID för varje student. Värdet kommer ursprungligen från UHR:s studenttjänst och samordnas med NyA/Antagning.se. För att i möjligaste mån se till studenter har samma ESI oberoende vilket lärosäte/inloggningstjänst studenten loggar in via så bör detta användas för ESI.

ExterntUID i Ladok är ett uuid, exempelvis 9e342e78-5b6c-4902-966e-50e28a21e601.

Alternativ 1: Värdet på schacPersonalUniqueCode blir då: urn:schac:PersonalUniqueCode:int:esi:SE:student-9e342e78-5b6c-4902-966e-50e28a21e601

Alternativ 2: Värdet på schacPersonalUniqueCode blir då: urn:schac:PersonalUniqueCode:int:esi:ladok.se:9e342e78-5b6c-4902-966e-50e28a21e601

Alternativ 1 föredras då <sHO> troligtvis måste kunna korsrelateras till attributet schacHomeOrganization (inte klart utläsbart ur specen av ESI, undersökning pågår).

ExterntUID går även att läsa ut från NyA-Open (speciellt för lärosäten som inte har Ladok men som använder NyA för antagning). Där återfinns det i tabellen STUDENT_PERSON_ID_MAP:

select p.PNR, m.STUDENT_UID from NYA.PERSON p join NYA.STUDENT_PERSON_ID_MAP m on p.PERSON_ID = m.PERSON_ID where p.PNR = '<pnr>'

Använda unikt id från eduID som ESI

Varje användare i eduID har en unikt id som används som identifierare i attributet eduPersonPrincipalName (<unikt-id>@eduid.se)

Det unika id:t är en textsträng på specifikt format, exempelvis abcde-fghij

Alternativ 1: Värdet på schacPersonalUniqueCode blir då: urn:schac:PersonalUniqueCode:int:esi:SE:eduid-abcde-fghij

Alternativ 2: Värdet på schacPersonalUniqueCode blir då: urn:schac:PersonalUniqueCode:int:esi:eduid.se:abcde-fghij

Alternativ 1 föredras då <sHO> troligtvis måste kunna korsrelateras till attributet schacHomeOrganization (inte klart utläsbart ur specen av ESI, undersökning pågår).

Använda användaridentitet vid lärosäte som ESI

Varje användare vid lärosätet har en unik användaridentitet som aldrig återanvänds för annan individ.

Användaridentiteten är en textsträng, exempelvis abcd1234, och lärosätet har DNS-domänen (SAML Scope) larosate.se.

Värdet på schacPersonalUniqueCode blir då: urn:schac:PersonalUniqueCode:int:esi:larosate.se:abcd1234

Att göra attributrelease av ESI

European Student Identifier (ESI) har inget eget attribut utan använder attributet schacPersonalUniqueCode. Detta attribut är ett s.k. samlingsattribut som kan innehålla värden för många olika tjänster. Det är därför inte lämpligt att släppa detta attribut för tjänster som kräver det i metadata via entitetskategorin Géant Data Protection Code of Conduct. För närvarande håller det på att tas fram en egen entitetskategori för att kunna släppa ESI endast till de tjänster som ska få tillgång till ESI. Mer information kommer att publiceras här.

Definitioner

Definition av European Student Identifier (ESI)

Utdrag från https://wiki.geant.org/display/SM/European+Student+Identifier (v1.0)


This specification defines a profile for the schacPersonalUniqueCode attribute (as defined in the SCHema for Academia) that will be used to transport the European Student Identifier.

Description

The student mobility processes require the use of a number of services, all of which are involved in different stages of the pipeline and which will need to be able to exchange data about the students who are in mobility.

The European Student Identifier is globally unique, persistent, non-targeted, protocol neutral and data transport neutral.

  • Globally Unique: Each student should be uniquely identified across organizational and national boundaries
  • Persistent: The identifier should follow the student while he/she is on student mobility
  • Non-targeted: The identifier should be the same for all services involved in the student mobility processes
  • Protocol neutral: The identifier should not change value depending on the protocol used. For example, it should be the same regardless of whether SAML or OpenID Connect is used
  • Data transport neural: The identifier should not change value depending on how it is transported. For example, the students should be identified by the same identifier regardless if the it is through a federated authentication flow or a back-channel transfer of records.

Format

The European Student Identifier can take on one of two forms, depending on the qualifiers needed to make a given student code globally unique:

ESI with nation-wide (or region-wide) scope student code:

urn:schac:personalUniqueCode:int:esi:<country-code>:<code>

ESI with HEI-wide scope student code:

urn:schac:personalUniqueCode:int:esi:<sHO>:<code>

Where:

  • <country-code> is a valid ISO 3166 country code identifier to qualify the student code with so that it uniquely identifies the student within the Member State (officially assigned ISO 3166-1 alpha-2 country code) or administrative division (e.g. province or state; ISO 3166-2 code), where applicable.
  • <sHO> is the Higher Education Institution's schacHomeOrganization value (possibly further qualified with the organisational unit issuing the student code). Required if the student code is issued by the Home Organization of the student (or one of its org units) and there can be no guarantee that it uniquely identifies the student within the Member State or administrative division.
  • <code> is a string that uniquely identifies the student within the scope that it has been issued. It has to satisfy the requirements for strings to be used in URNs according to RFC 2141, sections 2.2 to 2.4.
  • The complete schacPersonalUniqueCode attribute value for the ESI does not exceed 255 characters in length.

Examples

Non-normative examples for both forms:

  • ESI with nation-wide scope student codes :
    urn:schac:personalUniqueCode:int:esi:hr:xxxxxxxxxx
  • ESI with HEI-wide scope student codes :
    urn:schac:personalUniqueCode:int:esi:example.edu:xxxxxxxxxx
    urn:schac:personalUniqueCode:int:esi:math.example.edu:xxxxxxxxxx

Definition av attributet schacPersonalUniqueCode

Utdrag från: https://wiki.refeds.org/display/STAN/SCHAC+Releases (v1.5)

NameschacPersonalUniqueCode
DescriptionSpecifies a “unique code” for the subject it is associated with.
Its value does not necessarily correspond to any identifier outside the scope of the
directories using this schema.
This might be Student number, Employee number,...
OID1.3.6.1.4.1.25178.1.2.14
Formaturn:schac:personalUniqueCode:<country-code>:<iNSS>

The must be a valid two-letter ISO 3166 country code identifier or the string “int”, and assigned by the SCHAC URN Registry for this attribute at https://wiki.refeds.org/display/STAN/SCHAC+URN+Registry is a Namespace Specific String as defined in RFC 2141 but case insensitive, from a nationally controlled vocabulary, published through the URI identified at the above mentioned SCHAC URN registry.
RFC 4517 definition( schacAttributeType:14
  NAME 'schacPersonalUniqueCode'
  DESC 'Unique code for the subject'
  EQUALITY caseIgnoreMatch
  ORDERING caseIgnoreOrderingMatch
  SUBSTR caseIgnoreSubstringsMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
ExamplesCommon values:
urn:schac:personalUniqueCode:int:studentID:<country-code>:<code>

National extensions:
urn:schac:personalUniqueCode:fi:tut.fi:hetu:010161-995A
urn:schac:personalUniqueCode:es:uma:estudiante:a3b123c12
urn:schac:personalUniqueCode:se:LIN:87654321
  • No labels