Detta är ett arbetsdokument |
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.
Ett ESI är 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å frågor:
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:
På grund av GDPR så är det inte lämpligt att använda studenters personnummer som ESI. För studenter så finns två andra nationella identifiererare som kan vara lämpliga att använda som ESI, ExterntUID från Ladok/NyA/Antagning.se respektive unikt id i eduID. Ett tredje alternativ är att skapa ett lokalt ESI direkt kopplat till studentens identitetsutfärdare.
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>'
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).
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
Hur få in Ladoks ExterntUID i eduID för en användare/personnummer?
Hur få ut unikt id från eduID för ett personnummer till ett lärosäte?
Behöver vi bry oss om ifall användaren är en "aktiv" student?
De olika fallen faller inom följande huvudkategorier som vi beskriver nedan.
Förslag till beslut
Att tänka på...
Förslag till beslut
Förslag till beslut
Att tänka på...
Förslag till beslut
Att tänka på...
Förslag till beslut
Att tänka på...
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.
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.
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.
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:
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.Non-normative examples for both forms:
urn:schac:personalUniqueCode:int:esi:hr:xxxxxxxxxx
urn:schac:personalUniqueCode:int:esi:example.edu:xxxxxxxxxx
urn:schac:personalUniqueCode:int:esi:math.example.edu:xxxxxxxxxx
Utdrag från: https://wiki.refeds.org/display/STAN/SCHAC+Releases (v1.5)
Name | schacPersonalUniqueCode |
---|---|
Description | Specifies 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,... |
OID | 1.3.6.1.4.1.25178.1.2.14 |
Format | urn: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 ) |
Examples | Common 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 |