Identitätsmanagement#
Das Identitätsmanagement ermöglicht es Daten über Benutzer, Gruppen, Merkmale, Rollen, Rechte, Räume und Geräte mehrerer Schulserver auf einer Zentralinstanz zusammenzuführen und zu verwalten. Die Datenhoheit liegt weiterhin beim Schulserver und dieser ist nicht abhängig von der Zentralinstanz.
Konfiguration#
Um einen neuen Schulserver in das Identitätsmanagement einer Zentralinstanz aufzunehmen werden zwei Schritte benötigt: Auf der Zentralinstanz muss unter dem Menüpunkt Mandanten im Identitätsmanagement ein neuer Mandant angelegt werden. Dazu muss die Domain des Schulservers (bsp: „mein-schulserver.de“) eingetragen werden. Das Feld UUID kann leer gelassen werden und wird automatisch beim ersten Synchronisationsvorgang ausgefüllt. Auf dem Schulserver muss die Domain der Zentralinstanz (bsp: „mein-zentralserver.de“) in der Konfiguration unter /etc/iserv/central/config.yml eingetragen werden und durch iconf save /etc/iserv/central/config.yml bestätigt werden. Dies kann aus Sicherheitsgründen nur über die root-Konsole erfolgen. Durch Ausführen des Kommandos iservchk idm wird die Konfiguration validiert und Sie erhalten eine Fehlermeldung sollte die Konfiguration ungültig sein. Das Format der Datei ist YAML und basiert auf Einrückung. Wir empfehlen zwei Leerzeichen zur Einrückung dieser Datei.
Neben der Standardeinstellung, dass der konfigurierte Elternserver Lese- und Schreibrechte auf alle unterstützten Daten hat, können Sie die Konfiguration so anpassen, dass ein Server nur Leserechte (Option readonly) bekommt oder dass nur ein Teil der Daten (Option entities) synchronisiert wird.
Mögliche Werte:
readonly: true oder false. Standardmäßig false
entities: Eine Auswahl aus user, group, role, privilege, room, host
Beispiel
# /etc/iserv/central/config.yml
# IServ IDM configuration
#
# This file is generated automatically by iservchk.
# It is not recommended to make any changes to this file.
# If really necessary you can save changes permanently using:
# iconf save /etc/iserv/central/config.yml
parents:
#
# Please add custom parents below this comment and remember to save this with iconf
#
# mein-zentralserver.de hat Vollzugriff auf alle Daten
mein-zentralserver.de: ~
# mein-exportserver.de hat nur Lesezugriff auf Benutzer, Gruppen und Rollen
mein-exportserver:
modules:
idm:
readonly: true
entities: [user, group, role]
Synchronisation#
Hinweis
Wenn keine Zentralinstanz in der Konfiguration des Schulservers eingetragen ist, findet keine Synchronisation statt.
Die Schulserver synchronisieren sich schnellstmöglich mit der Zentralinstanz, spätestens innerhalb von 24 Stunden. Zur Synchronisation muss die Zentralinstanz aus dem Internet erreichbar sein, der Schulserver jedoch nicht. Sollte die Zentralinstanz (temporär) nicht erreichbar sein, kann keine Synchronisation erfolgen. Diese erfolgt dann nach der nächsten Änderung an den im Identitätsmanagement verwalteten Daten oder spätestens innerhalb von 24 Stunden nachdem die Zentralinstanz wieder erreichbar ist.
Zugriff#
Sofern der Schulserver sich mit der Zentralinstanz durch die Konfiguration in /etc/iserv/central/config.yml mit der Zentralinstanz verbunden hat, haben alle Benutzer der Zentralinstanz mit dem Recht „Zugriff auf die Benutzeroberfläche des Identitätsmanagements“ Zugriff auf diese Daten und können diese durch ein Single-Sign-On am Schulserver verändern. Durch den Single-Sign-On haben diese Benutzer volle Administratorenrechte auf dem Schulserver.
Sollte die Zentralinstanz das Attribut readonly auf true gesetzt haben, ist kein Single-Sign-On am Schulserver durch die Benutzer der Zentralinstanz möglich. Daher können Benutzer der Zentralinstanz keine Daten auf dem Schulserver verändern.
Kommunikation der Server#
Bei der Synchronisation der Daten, sowie Login von der Zentralinstanz auf den Schulserver, müssen die Server miteinander kommunizieren. Jegliche Kommunikation findet verschlüsselt statt und beide Kommunikationspartner authentifizieren sich über ein Zertifikat. Um Daten auszutauschen wird eine HTTPS Verbindung auf Port 443 aufgebaut. Da dies der selbe Port ist, der für Weboberfläche genutzt wird, wird keine besondere Portweiterleitung benötigt.
Sollte der Zentralserver während eines Synchronisationsvorgangs nicht erreichbar sein, wird die Synchronisation zu einem späteren Zeitpunkt erneut ausgeführt. Für den Fall, dass der Schulserver nicht erreichbar ist, können die Daten weiterhin auf der Zentralinstanz eingesehen werden, jedoch schlagen Bearbeitungsversuche fehl, da kein Single-Sign-On am Schulserver durchgeführt werden kann.
Beim Datenaustausch des Identitätsmanagements sind lediglich der Schulserver und die Zentralinstanz beteiligt.
API#
Das IDM von IServ bietet eine REST-API, um den programmatischen Zugriff auf die Benutzerdatenbank zu ermöglichen.
Die Dokumentation kann unter https://idm.demo-iserv.de/iserv/idm/api/v1/docs?ui=redocs abgerufen werden.
Datenschutz#
Folgende Daten werden in der Zentralinstanz erfasst:
- Mandant:
UUID des Servers
Domain des Servers
Letzter Synchronsierungszeitpunkt
- Benutzer:
Username (z.B. max.mustermann)
Vorname
Nachname
Erstellungszeitpunkt und Ersteller
Löschzeitpunkt und löschender Benutzer
Status (aktiv, inaktiv, eingeschränkt)
Passworthash
Importdaten
Import ID
Zusätzliche Informationen
Typ
- Gruppe:
Accountname (z.B. klasse.5a)
Name (z.B. Klasse 5a)
Besitzer
Erstellerszeitpunkt und Ersteller
Löschzeitpunkt und löschender Benutzer
Alle Mitglieder
Alle zugeordneten Rechte
Alle Gruppenmerkmale
- Rollen:
Rollenname
Bereitstellendes Modul, wenn vorhanden
Alle zugeordneten Rechte
Alle zugeordneten Benutzer
- Rechte:
Name
Bereitstellendes Modul
Titel
Beschreibung
Invertierbarkeit
- Gruppenmerkmale:
Name
Bereitstellendes Modul
Titel
Beschreibung
- Raum:
Raum
Name
Nummer
Etage
Ort
- Gerät:
Name
Raum
IP
MAC-Adresse
Typ
Kontrollierbar (ja/nein)
Inventarnummer
Beschreibung
Internetzugang (ja/nein)
Besitzer
Zuletzt gesehen
Log#
Synchronisierungsversuche des Schulservers werden auf der Zentralinstanz geloggt. Die Logeinträge enthalten Informationen über das Hinzufügen und Entfernen von Entitäten, jedoch keine weiteren Daten als die UUID und der Mandant. Nach 7 Wochen werden die Logs gelöscht.