Page History
Zur Kommunikation studentischer Matrikelnummern an Stellen der öffentlichen Verwaltung oder andere Systeme der Lern-/Lehrverwaltung, die dieses Verwaltungsdatum Datum legitimerweise benötigen.
Geltungs- und Nutzungsbereich
Anwendungen, die studienrelevante Daten verwalten, brauchen u.U. zur eindeutigen Identifikation von Studierenden neben Vor- und Zuname (oder/und Geburtsdatum) auch die österreichweit eindeutige Matrikelnummer. Sofern keine technische Verbindung zu Systemen der öffentlichen Verwaltung bzw. Hochschullehrverwaltung besteht, sollte jedenfalls auf die Nutzung der Matrikelnummer als name identifier verzichtet werden – ebenso wie z.B. Sozialversicherungsnummern die Sozialversicherungsnummer nur innerhalb des für sie bestimmten Bereichs der Gesundheitsverwaltung eingesetzt werden solltensollte.
Note |
---|
Matrikelnummern sind keine guten Identifier für Personen (auch etwa als Teil von UserIDs oder Email-Adressen) oder anderen Gebrauch außerhalb der Lehrverwaltung im engeren Sinn, da es durch (Korrektur von) Falsch- bzw. Neuvergaben immer wieder zu Änderungen von Matrikelnummern kommt, auch wenn diese eigentlich lebenslang unverändert und landesweit eindeutig sein sollten. |
Solche Änderung an Verwaltungsdaten sollten nach Möglichkeit auf Systeme der Lehrverwaltung beschränkt bleiben. Benutzt man die Matrikelnummer jedoch auch als Basis von UserIDs oder Email-Adressen, vervielfältigt man die Auswirkungen solcher Änderungen in alle andere IT-Systeme, unter teils hohem Aufwand für Datenmigration und BenutzerInnen-Support ("Ihre UserID, Email-Adresse, Homepage, eduroam-Identifier, etc. haben sich geändert, ..."). Im Kontext von Identity Federation wären dann aber auch Systeme außerhalb der eigenen Institution von solchen Änderungen betroffen, wenn etwa das eduPersonPrincipalName-Attribut aus der Matrikelnummer gebildet wird würde und diese sich ändertänderte: Damit änderte sich auch der ggfs davon abgeleitete Wert des eduPersonPrincipalName , und Betroffene verlören damit u.U. Zugriff auf ihre Daten bei diversen föderierten Services, die sich eben auf das eduPersonPrincipalName-Attribut zur Wiedererkennung ihrer NutzerInnen verlassenverließen. Im Anlassfall "alle" davon betroffenen Services zu ermitteln und zu verständigen und um deren Kooperation bei der Korrektur/dem Nachtragen solcher Änderungen zu ersuchen, erscheint wenig verlockend.
Implementierung eduID.at
Zur Zeit ist von keinem eduID.at Service Provider eine Nutzung dieses Datums bzw. des unten spezifizierten Attributs bekannt.
SCHAC personalUniqueCode
Im international eingesetzten SCHAC-Schema wurde das Attribut schacPersonalUniqueCode
definiert, das u.a. für den auch für die Formulierung des European Student Identifier (ESI) verwendet wird. : Die Werte dieses Attributs sind URNs, URNs mit standardisierten Prefixen. Sofern also die studentische Matrikelnummer als SAML-Attribut übertragen werden soll, empfielt ACOnet die Form als ESI:
Info | ||||
---|---|---|---|---|
| ||||
urn:schac:personalUniqueCode:int:esi:at:0001234501234567 |
Shibboleth IDP
Nachdem dieses Attribut nicht in genau in Form des ESI bereits irgendwo gespeichert sein wird, folgt ein Beispiel, wie dynamisch aus dem Attribut uid
(das aus dem DataConnector mit der id="myLDAP"
kommt) die Matrikelnummer extrahiert und in die benötigte Form gebracht werden kann. In diesem fiktiven Beispiel enthält uid
eine lokale UserID, die für Studierende die Form "x<MATRIKELNR>
" hat. Hat die UserID nicht die erwartete Form, bleibt das Attribut leer (und wird vom IDP später entfernt):
Code Block | ||
---|---|---|
| ||
<AttributeDefinition id="schacPersonalUniqueCode" xsi:type="Mapped">
<InputDataConnector ref="myLDAP" attributeNames="uid" />
<DisplayName xml:lang="de">Europäische Studierendenkennung (ESI)</DisplayName>
<DisplayName xml:lang="en">European Student Identifier (ESI)</DisplayName>
<ValueMap>
<ReturnValue>urn:schac:personalUniqueCode:int:esi:at:$1</ReturnValue>
<SourceValue>^x([0-9]{8,})$</SourceValue>
</ValueMap>
<AttributeEncoder xsi:type="SAML2String" name="urn:oid:1.3.6.1.4.1.25178.1.2.14" friendlyName="schacPersonalUniqueCode" encodeType="false" />
</AttributeDefinition> |
...
icon | false |
---|
Erzeugen
Das dynamische Erzeugen des ESI aus einem Attribut, das
...
eine Form der Matrikelnummer enthält,
...
Wenn keine Umformung des Quelldatums benötigt wird, reicht auch eine Template-Definition:
...
language | html/xml |
---|
...
zeigen wir in unserer Attribute Resolver-Dokumentation.
Freigeben
...
Eine passende Policy für den attribute-filter.xml
, dieses die Matrikelnummer als ESI-Attribut (bzwd.h. nur die ESI-spezifischen Werte davondes schacPersonalUniqueCode
-Attributs) nur an aufgezählte berechtigte Service Provider weiterzugeben , und nur, wenn das Attribut eduPersonAffiliation
den Wert student
hat (also nur für Studierende(was u.a. das "MyAcademicID IAM Service" sowie das österreichische iXam-Prüfungssystem einschließt), könnte beim Shibboleth IDP dann so aussehen:
Include Page | ||||
---|---|---|---|---|
|
Note | ||
---|---|---|
Die Erasmus+ Services benötigen weitere Attribute/Daten und nicht nur die hier relevante/gezeigte Matrikelnummer als ESI. | ||
Code Block | ||
| ||
<AttributeFilterPolicy id="ESItoSelectedServices"> <PolicyRequirementRule xsi:type="AND"> <Rule xsi:type="OR"> <Rule xsi:type="Requester" value="https://test-sp.aco.net/shibboleth" /> <Rule xsi:type="Requester" value="https://proxy.prod.erasmus.eduteams.org/metadata/backend.xml" /> </Rule> <Rule xsi:type="Value" attributeID="eduPersonScopedAffiliation" value="student" /> </PolicyRequirementRule> <AttributeRule attributeID="schacPersonalUniqueCode"> <PermitValueRule xsi:type="ValueRegex" regex="^urn:schac:personalUniqueCode:int:esi:at:[0-9]{8,}$" /> </AttributeRule> </AttributeFilterPolicy> |