Page History
...
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. Änderungen von Identifiern sollten freilich immer möglichst vermieden, bei Matrikelnummern ist dies aber besonders problematisch, da diese – im Gegensatz zu anderen lokal vergebenen Identifiern – nicht unter eigener Kontrolle stehen. |
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 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 auch Systeme außerhalb der eigenen Institution von solchen Änderungen betroffen, wenn etwa das eduPersonPrincipalName-Attribut aus der Matrikelnummer gebildet wird und diese sich ändert: Damit änderte sich auch der ggfs davon abgeleitete eduPersonPrincipalName, und Betroffene verlören damit u.U. Zugriff auf ihre Daten bei diversen föderierten Services, die sich auf das eduPersonPrincipalName-Attribut zur Wiedererkennung ihrer NutzerInnen verlassen. 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 verlangt nur ein ist von keinem eduID.at Service Provider die Matrikelnummer als Attribut (dies aber in der hier spezifizierten Form): Studentensoftware für österreichische Universitäten der TU Wien eine Nutzung dieses Datums bzw. des unten spezifizierten Attributs bekannt.
SCHAC personalUniqueCode
...
Note | ||
---|---|---|
| ||
Der numerische Wert der Matrikelnummer ist dabei ggfs. mit führenden Nullen auf (zur Zeit) sieben acht Zeichen aufzufüllen!N.B.: Ab Juni 2017 werden das wohl acht Zeichen sein! |
Shibboleth IDP
Nachdem dieses Attribut nicht in genau dieser Form 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="matrikel" xsi:type="Mapped" sourceAttributeID="uid"> <Dependency ref="myLDAP" /> <ValueMap> <ReturnValue>urn:schac:personalUniqueCode:int:studentID:AT:$1</ReturnValue> <SourceValue>^x([0-9]{78,})$</SourceValue> </ValueMap> <AttributeEncoder xsi:type="SAML2String" name="urn:oid:1.3.6.1.4.1.25178.1.2.14" friendlyName="schacPersonalUniqueCode" encodeType="false" /> </AttributeDefinition> |
...
Info | ||
---|---|---|
| ||
Statt |
Eine passende Regel, dieses Attribut (bzw. nur syntaktisch korrekte Werte davon) nur an aufgezählte Service Provider weiterzugeben, und nur, wenn das Attribut eduPersonAffiliation
den Wert student
hat (also nur für Studierende), könnte beim Shibboleth IDP so aussehen.:
Code Block | ||
---|---|---|
| ||
<AttributeFilterPolicy id="Matrikelnummer"> <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://idpsp.zid.tuwien.ac.atexample.org/studentsoftware" /> </Rule> <Rule xsi:type="Value" attributeID="eduPersonScopedAffiliation" value="student" /> </PolicyRequirementRule> <AttributeRule attributeID="matrikel"> <PermitValueRule xsi:type="ValueRegex" regex="^urn:schac:personalUniqueCode:int:studentID:AT:[0-9]{78,}$" /> </AttributeRule> </AttributeFilterPolicy> |
...