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.