Vor kurzem hat die Landesinitiative n-21: Schulen in Niedersachsen online e. V. im Auftrag des Niedersächsischen Kultusministeriums den Anmeldeservice moin.schule entwickeln lassen. Mit dem Dienst sollen Lehrkräfte und Schüler*innen Zugriff auf die Niedersächsische Bildungscloud und weitere Bildungsangebote erhalten können. Dieser Webdienst wird mit der Schulverwaltungssoftware des Schulträgers verbunden und generiert daraus die Schul-Identitäten samt schulübergreifender ID.
Inhaltsverzeichnis
SchulConneX-API ermöglicht automatischen Import von Identitäten
Insbesondere Schulträger, welche die zentrale IT-Infrastruktur und digitale Bildungsanwendungen für mehrere Schulen zur Verfügung stellen, wünschen sich schon lange einen automatischen Import von Identitäten in ihr zentrales IAM. Dies kann nun endlich durch eine standardisierte API (SchulConneX), die von moin.schule bereitgestellt wird, realisiert werden.
Im Auftrag der Stadt Wolfsburg und in Zusammenarbeit mit unserem Partner LINET Service hat Univention einen Connector entwickelt, der SchulConneX anspricht, um Identitäten aus moin.schule zu extrahieren und für den Import nach UCS@school vorzubereiten.Dabei trug LINET zur Konzeption bei und nimmt den UCS moin.schule Connector als Erstes für die Stadt Wolfsburg in Betrieb. Im Weiteren werden wir näher auf die Funktionsweise des neuen Connectors eingehen und einen Ausblick auf dessen Einsatz geben.
Funktionsweise des UCS moin.schule Connector
Der UCS moin.schule Connector ist speziell für die zentrale Anbindung eines von Schulträgern zentral betriebenen UCS@school IAM konzipiert, sodass Benutzer-Identitäten schulübergreifend abgerufen werden, während jede Schule die volle Datenhoheit über ihre eigenen Identitäten behält. Jede Schule kann ihre Daten individuell in moin.schule verwalten, ohne die Daten anderer Schulen zu sehen oder bearbeiten zu können. Wichtig dabei zu wissen ist, dass der Connector selbst kein Single Sign-on zwischen UCS@school und moin.schule realisiert, sondern ein separates Passwort für die Anmeldung nötig ist.
Bevor der Connector eingesetzt werden kann, müssen die Benutzer-Identitäten der Lehrkräfte und Lernenden durch die Schulen in moin.schule angelegt werden. Dazu kann das lokale Schulverwaltungssystem über die SchulConneX-API mit moin.schule verbunden werden. Dabei erfolgt die Anlage in einer hierarchischen Struktur, welche die Beziehungen zwischen den verschiedenen Identitäten und den Schulen klar definiert.
Über einen Synchronisationsvorgang des Connectors wird der Datenbestand des Schulträgers automatisiert über die SchulConneX-API abgerufen, eine Rück-Synchronisation findet dabei nicht statt. Folglich ist jede Veränderung der Datensätze nur in den vorgelagerten Schulverwaltungssystemen vorzunehmen.
In UCS@school werden die Identitäten anschließend weiter genutzt, um Schul-Dienste wie WLAN-Zugang, Zugriff auf Schul-Gerätenutzung und Bildungsanwendungen anzubieten.
Vorbereitung und Planung
Was gibt es vor der Installation zu beachten?
Als Schulträger ist ein API-Key in der Weboberfläche von moin.schule zu erstellen, der für die Kommunikation mit der API benötigt wird. Moin.schule stellt hierfür einen Leitfaden im eigenen Wiki bereit: https://wiki.moin.schule/de/home/quellsysteme.
Für den Import der Benutzer-Identitäten wird der in UCS@school vorhandene CSV-Import-Mechanismus verwendet, der den meisten Schulträgern bereits bekannt sein wird. Die abgerufenen Identitäten, werden also in CSV-Dateien geschrieben, die dann über die UCS Console oder die Weboberfläche importiert werden können. Ein Import von Passwörtern aus moin.schule ist dabei nicht vorgesehen.
Aus moin.schule wird die schulübergreifende ID als Primärschlüssel (record_uid
) genutzt und als Datenquelle (source_uid
) wird das Wort „sanis“ eingesetzt. „SANIS“ war zum Zeitpunkt der Implementierung des Connectors der Projektname, aus dem moin.schule als Produkt entstanden ist. Aus diesem Grund ist der Begriff auch heute noch an einigen Stellen des Connectors zu finden.
Soll der Connector nun bei einem schon bestehenden UCS@school-System eingeführt werden, müssen Bestandsdaten migriert werden, damit auch sie die richtige record_uid
und source_uid
erhalten, um sie fortlaufend synchronisieren zu können. Wir haben in der Installationsanleitung einige Hinweise dazu gesammelt, die Ihnen dabei helfen werden. Wird eine Schule komplett neu in UCS@school angelegt, so sind keine weiteren Schritte nötig, da die Erstanlage der Daten direkt aus moin.schule erfolgt und somit record_uid
und source_uid
von Vornherein im Datenbestand mitangelegt werden.
Implementierung und Einsatz
Nach der Installation des Pakets ist per UCR-Variable einzustellen, welche Schule aus moin.schule synchronisiert werden soll. So kann ein Träger auch erst einmal mit einer Schule und deren Synchronisation anfangen, um Erfahrungen zu sammeln und dann den Umfang schrittweise um weitere Schulen erweitern.
Bei Verwendung der sog. SiSoPi-Funktion (Single Source Parial Import) wird pro Schule und Rolle (Lehrer und Schüler) je eine CSV-Datei geschrieben, ansonsten laufen die Daten in zwei Dateien, also für Lehrer und Schüler übergreifend, die dann über die bestehende Schnittstelle in UCS@school importiert werden können. Dies kann auf Wunsch automatisiert, teilautomatisiert oder manuell geschehen. Der Vorteil der getrennten Dateien ist, dass die beim Import erzeugten Passwort-Dateien direkt zuordenbar sind und nicht händisch in Einzeldateien aufgeteilt werden müssen.
Die Befehle zum Import der einzelnen CSV-Dateien werden in einem ebenfalls automatisch generierten Bash-Skript gesammelt, sodass die Daten und Aufrufe noch vor dem Import auf Wunsch manuell geprüft werden können, oder direkt automatisiert in UCS@school importierbar sind. Das Bash-Script dient als Vorlage, so lässt sich beispielsweise die source_uid
für den Import für eine getrennte Lehrer und Schüler Zuordnung modifizieren. Dann können Sie beispielsweise einen Cron-Job einrichten. Allerdings sollte dieser beim Schuljahreswechsel wieder gestoppt werden.
Weitere Entwicklung des Connectors
Um einen höheren Grad der Automatisierung zu erreichen, werden wir den UCS moin.schule Connector noch weiter ausbauen, um den Import direkt über die Kelvin-API abzuwickeln. Damit ist es nicht mehr nötig, den Import der CSV-Dateien manuell oder über Cronjobs zu initiieren. Das verringert den Aufwand, schafft mehr Ausfallsicherheit und erlaubt so auch die Daten in kürzeren Intervallen abzurufen, wenn gewünscht.
Wir sind aktuell für die Stadt Wolfsburg dabei, eine Anbindung zu pilotieren. Ergebnis ist zunächst ein Minimal Viable Product (MVP), welches noch nicht offiziell Teil des Produktstandards sein wird. Wir erwarten bis Ende 2024 den moin.schule Connector als offiziellen Bestandteil des Produktes UCS@school veröffentlichen zu können, sodass er auch durch unsere Entwicklungsabteilung supportet wird.
Bis dahin wird es auch für andere Schulträger die Möglichkeit geben, die Lösung als sogenannte „Cool Solution“ auf Basis eines Service Budgets einzusetzen. Das Service-Budget sichert die Maintenance der Cool Solution bis zur Übernahme in das Produkt. Sollten Sie Interesse an dem Connector haben, nehmen Sie Kontakt per Mail an bildung@univention.de oder direkt mit unserem Kollegen Benjamin Fels (fels@univention.de) auf.
Wir freuen uns sehr über den Einsatz des Connectors in diesem ersten Piloten und sind sicher, dass er vielen niedersächsischen Schulträgern den Administrationsalltag erleichtern kann! Wir bedanken uns außerdem bei der Stadt Wolfsburg, die das Projekt überhaupt erst ermöglicht hat, unserem Partner Linet Service und der Landesinitiative n-21 für die rege Unterstützung während der Implementierung.