Das Learning-Management-System (LMS) imc Learning Suite stellt einen SCIM 2.0-Endpunkt bereit, damit externe Identitäts- oder HR-Systeme Nutzer und Gruppen automatisch anlegen können.
In diesem Artikel wird erläutert, wie SCIM innerhalb des LMS funktioniert, welche Objekte und Vorgänge unterstützt werden und welche Konfigurationsschritte im LMS erforderlich sind.
Nutzen Sie ihn als praktisches Nachschlagewerk, um das Verhalten von SCIM im LMS zu verstehen und um die SCIM-basierte Bereitstellung in LMS-Umgebungen zu konfigurieren und zu betreiben.
Umfang der SCIM-Integration im LMS
Funktionsumfang
Die SCIM-Schnittstelle im LMS bietet eine standardisierte Möglichkeit für externe Systeme, Identitäten und Zugriffsrechte bereitzustellen und zu verwalten. Die Integration konzentriert sich auf folgende Bereiche:
-
Anlegen neuer Nutzer im LMS auf Basis der Ressourcentypen SCIM-User und Enterprise User
-
Aktualisierung bestehender Nutzer bei Änderungen der Attribute im Quellsystem
-
Deaktivierung oder Löschen von Nutzern, um den Zugriff auf das LMS auf kontrollierte Weise bedarfsgerecht einzuschränken
-
Erstellung von Gruppen, die organisatorische oder zugangsbezogene Strukturen widerspiegeln
-
Zuweisung und Entfernung von Nutzern zu Gruppen auf Grundlage von Mitgliedschaftsinformationen, die über SCIM empfangen wurden
Das LMS fungiert als SCIM-Service-Anbieter. Das externe Identitäts- oder HR-System fungiert als SCIM-Mandant und ist die zentrale Datenquelle für Nutzerdaten. SCIM wird verwendet, um Änderungen vom Mandant in das LMS nahezu in Echtzeit zu übertragen.
Richtung der Synchronisation
Die SCIM-Integration ist für die Inbound-Bereitstellung von Daten im LMS konzipiert.
-
Das LMS stellt eine SCIM-konforme REST-API bereit.
-
Der Identitätsanbieter des Kunden oder das HR-System ist dafür verantwortlich, diese API aufzurufen und Änderungen zu übermitteln, wenn sich Nutzer- oder Gruppendaten im Quellsystem ändern.
-
Das LMS initiiert keine Outbound-SCIM-Aufrufe an andere Systeme.
LMS-Architekturübersicht
Datenfluss-Überblick
Auf einem hohen Level folgt die SCIM-Integration in der imc Learning Suite diesem Muster:
-
Der externe Identitätsanbieter oder das HR-System stellt fest, dass für einen Nutzer oder eine Gruppe eine Änderung notwendig ist, beispielsweise die Anlage eines neuen Nutzers, die Aktualisierung von Attributen oder die Änderung der Gruppenzugehörigkeit.
-
Das externe System ruft den SCIM-Endpunkt auf dem LMS über HTTPS auf und authentifiziert sich je nach Konfiguration entweder mittels Basic Authentication oder mit einem Bearer-Token.
-
Das LMS überprüft die Anfrage, einschließlich Authentifizierung, Berechtigungen und Pflichtattributen.
-
Das LMS ordnet die empfangenen SCIM-Attribute gemäß der konfigurierten SCIM-Zuordnung den internen Feldern des LMS-Nutzerprofils zu.
-
Das LMS schreibt die Änderungen in seine Datenbank und gibt einen entsprechenden HTTP-Statuscode sowie einen Response Body zurück.
Definition und Zuordnung externer Quellen
Die SCIM-Profil-Datenquelle wird durch eine externe Quellendefinition ergänzt. Diese Konfiguration beschreibt, wie eingehende SCIM-Attribute den Feldern der LMS-Datenbank zugeordnet werden.
-
Der Identifikator ist ein Standard-Nutzerprofil-Feld genannt
EXT_ID_SCIM. -
Es handelt sich um ein Textfeld mit einer maximalen Länge von 100 Zeichen.
-
Es wird als Attribut zur Profilidentifizierung in der SCIM-Profil-Datenquelle verwendet.
-
Es dient als eindeutige Verknüpfung zwischen der SCIM-ID oder einem anderen vereinbarten Identifikator und dem LMS-Nutzerdatensatz.
Konfiguration und Einrichtung im LMS
Voraussetzungen
Bevor Sie die Konfiguration von SCIM im LMS durchführen, stellen Sie sicher, dass die folgenden Voraussetzungen erfüllt sind:
-
Verfügbarkeit einer LMS-Umgebung in der erforderlichen Version
-
Administratorzugriff auf den LMS-Konfigurationsmanager und die Nutzerverwaltung
-
Ein technischer Nutzer im LMS, der bei Verwendung der Basic Authentication für die SCIM-Authentifizierung verwendet wird
Profil-Backend mit SCIM-Attributen aktualisieren
-
Öffnen Sie die Nutzerprofilkonfiguration im LMS.
-
Stellen Sie sicher, dass das Attribut EXT_ID_SCIM als Nutzerprofil-Feld verfügbar und aktiviert ist.
-
Stellen Sie sicher, dass EXT_ID_SCIM als SCIM-Profil-Identifikator-Attribut für die SCIM-Profil-Datenquelle konfiguriert ist.
-
Falls zusätzliche Nutzerattribute über SCIM bereitgestellt werden sollen, stellen Sie sicher, dass die entsprechenden Profil-Attribute im LMS vorhanden sind, oder legen Sie diese bei Bedarf als Standard- oder benutzerdefinierte Textfelder an.
LMS-Nutzer für die Basic Authentication anlegen
Wenn für SCIM-Anfragen die Basic Authentication verwendet wird, erstellen Sie ein dediziertes LMS-Nutzerkonto oder wählen Sie ein solches aus.
-
Erstellen Sie ein Nutzerkonto, das den SCIM-Service repräsentiert.
-
Weisen Sie diesem Nutzer Berechtigungen zu, damit er Zugriff auf alle Nutzer hat, die gemäß den Kundenanforderungen über SCIM verwaltet werden.
-
Stellen Sie sicher, dass der Nutzerstatus aktiv ist und dass sich der Nutzer mindestens einmal beim LMS angemeldet hat, damit das Konto vollständig initialisiert ist.
-
Stellen Sie sicher, dass das Feld EXT_ID_SCIM dieses Nutzers nicht leer ist. Falls das Feld nach der Erstellung des Nutzers hinzugefügt wurde, aktualisieren Sie das Profil, um einen passenden Wert festzulegen.
-
Stellen Sie sicher, dass mindestens ein weiterer Nutzer, beispielsweise ein Standard-Administrator, ebenfalls über einen nicht leeren Wert EXT_ID_SCIM zu Testzwecken verfügt.
SCIM-Profil-Datenquelle konfigurieren
Die SCIM-Profil-Datenquelle muss konfiguriert werden, bevor ein SCIM-REST-API-Aufruf erfolgreich verarbeitet werden kann.
Konfiguration in der imc Learning Suite ab Version 14.21
-
Rufen Sie die Funktion Konfiguration auf und wählen Sie das Menü Importquellen aus.
-
Erstellen Sie eine neue Importquelle SCIM, falls noch keine vorhanden ist.
-
Stellen Sie im Tab Einstellungen die Importquelle auf SCIM ein.
-
Legen Sie die Importbedingung fest, einschließlich des Kontexts der Profildatenquelle (z. B. GLOBAL) und den erforderlichen Importbeschränkungen.
-
Konfigurieren Sie die Anmelde- und Passwortregeln für SCIM-verwaltete Nutzer gemäß den Anforderungen des Kunden.
SCIM-Mapping im LMS konfigurieren
Das Mapping von SCIM-Attributen zu LMS-Nutzerattributen wird im Abschnitt zur SCIM-Konfiguration vorgenommen.
-
Öffnen Sie die Funktion Konfiguration.
-
Rufen Sie das Menü SCIM auf.
-
Jedes SCIM-Quellenfeld, das der Mandant sendet, wird gemäß den im nächsten Abschnitt beschriebenen Regeln einem entsprechenden LMS-Nutzerattribut (Zielfeld) zugeordnet.
-
Speichern Sie die Konfiguration.
Attribut-Mapping
Allgemeine Grundsätze
Die SCIM-Spezifikation definiert eine Vielzahl von Standardattributen für die Ressourcentypen User und Enterprise User. Es müssen nicht alle davon verwendet werden. Für das Mapping in das LMS gelten folgende Grundsätze:
-
Wenn ein SCIM-Attribut vorhanden ist und ein passendes LMS-Nutzerattribut existiert, verwenden Sie dieses Attribut.
-
Wenn ein SCIM-Attribut vorhanden ist und es im LMS kein passendes Standardattribut gibt, erstellen Sie ein nutzerdefiniertes Attribut und ordnen Sie es diesem zu.
-
Falls es für eine notwendige Angabe kein SCIM-Standardattribut gibt, verwenden Sie das Erweiterungsformat ims, das durch die SCIM-Implementierung des LMS bereitgestellt wird.
Umgang mit Attributen, die keine Textwerte enthalten
Einige LMS-Attribute erfordern anstelle von Freitext einen bestimmten Werttyp. So kann beispielsweise ein Länderfeld einen internen numerischen Identifikator erwarten, der aus einer vordefinierten Länderliste stammt.
In solchen Fällen kann einer der folgenden Ansätze gewählt werden:
-
Konfigurieren Sie den SCIM-Mandant so, dass er den erwarteten internen Wert übermittelt, beispielsweise eine Länderkennung anstelle eines Ländernamens.
-
Verwenden Sie einen Mapping-Mechanismus im LMS, beispielsweise eine Hash-Tabelle, um die lesbaren Werte aus SCIM in die erforderlichen internen Codes zu übersetzen.
Verwendung von nutzerdefinierten ims-Attributen
Falls ein erforderliches Attribut im SCIM-Standardschema nicht vorhanden ist, erlaubt die LMS-Implementierung die Verwendung eines nutzerdefinierten ims-Attributformats.
Das Format lautet ims|lms_attribute_name|value.
Anleitung für dieses Muster:
-
Der Teil
lms_attribute_namesollte der Übersichtlichkeit halber nach Möglichkeit mit dem Namen des LMS-Attributs übereinstimmen. -
Der Teil
valueenthält die Daten, die in diesem Attribut gespeichert werden sollen. -
Das SCIM-Mapping im LMS ist so konfiguriert, dass das Element
imsrichtig interpretiert und in das Ziel-Attribut geschrieben wird.
Dieser Ansatz bietet Flexibilität und gewährleistet gleichzeitig die Konformität der SCIM-Payload.
Unterstützte SCIM-Funktionen im LMS
Nutzer anlegen
-
HTTPS-Methode POST
-
Ressourcenpfad →
https://{{url}}/ils/restapi/lms/scim/Users -
Der Request-Body enthält eine SCIM User- oder Enterprise User-Ressource mit den notwendigen Schemata und Attributen.
Bei Erfolg legt das LMS einen neuen Nutzer-Datensatz an, weist den Wert EXT_ID_SCIM dem Mapping gemäß zu und gibt die erstellte Ressource zurück.
Nutzer aktualisieren
-
HTTPS-Methode PUT
-
Ressourcenpfad →
https://{{url}}/ils/restapi/lms/scim/Users/Users/{id}, wobei{id}der eindeutige SCIM-Identifikator des Nutzers ist. -
Der Request-Body enthält die vollständig aktualisierte Repräsentation des Nutzers.
Das LMS aktualisiert die zugeordneten Attribute des bestehenden Nutzers. Attribute, die in der Konfiguration nicht vorhanden sind, werden ignoriert.
Nutzer abrufen
-
HTTPS-Methode GET
-
Anhand des Personen-Identifikators abrufen über →
https://{{url}}/ils/restapi/lms/scim/Users/{id}
Die Antwort enthält die SCIM-Repräsentation des Nutzers, wie sie im LMS gespeichert ist.
Nutzer löschen
-
HTTPS-Methode DELETE
-
Ressourcenpfad →
https://{{url}}/ils/restapi/lms/scim/Users/{id}
Das Löschverhalten innerhalb des LMS entspricht dem für den Kunden vereinbarten Bereitstellungsmodell. In vielen Fällen bedeutet dies, dass ein Nutzer als inaktiv markiert wird, anstatt den Datensatz physisch zu löschen.
Gruppe erstellen
-
HTTPS-Methode POST
-
Ressourcenpfad →
https://{{url}}/ils/restapi/lms/scim/Groups
Der Request-Body enthält eine „Group“-Ressource mit mindestens einem displayName sowie die notwendigen Schema-Identifikatoren. Das LMS legt die Gruppe unter einer vordefinierten Basisgruppe im Gruppenmanager an und gibt die erstellte Repräsentation zurück.
Gruppe aktualisieren
-
HTTPS-Methode PUT
-
Ressourcenpfad →
https://{{url}}/ils/restapi/lms/scim/Groups
Das LMS aktualisiert die zugeordneten Attribute der bestehenden Gruppe, beispielsweise den Anzeigenamen oder die Beschreibung. Die Payload muss die externe ID der Gruppe enthalten.
Gruppe abrufen
-
HTTPS-Methode GET
-
Ressourcenpfad →
https://{{url}}/ils/restapi/lms/scim/Groups/{id}
Die Antwort enthält die Gruppendetails einschließlich der Mitgliederliste, sofern die Mitgliedschaft gemäß der SCIM-Spezifikation und -Konfiguration angefragt wurde.
Gruppenmitgliedschaft mit PATCH aktualisieren
-
HTTPS-Methode PATCH
-
Ressourcenpfad →
https://{{url}}/ils/restapi/lms/scim/Groups/{id}
Der Request-Body enthält eine Abfolge von Patch-Operationen, mit denen Gruppenmitglieder hinzugefügt oder entfernt werden.
-
Gruppenmitglieder werden anhand ihres Werts in der Mitgliederliste identifiziert, der dem Identifikator entspricht, der im LMS für EXT_ID_SCIM verwendet wird.
-
Das LMS aktualisiert die Mitgliedschaft entsprechend, wobei manuelle Zuweisungen in der LMS-Benutzeroberfläche unberührt bleiben, sofern dies so konfiguriert ist.
Gruppenbereitstellung und -synchronisierung
Gruppenhierarchie
Über SCIM erstellte Gruppen werden im Gruppenmanager des LMS unter einer dedizierten Basisgruppe angelegt.
-
Die Basisgruppe wird durch einen Konfigurationsparameter definiert, der oft als
baseGroupIdbezeichnet wird. -
Von SCIM erstellte Gruppen werden als flache Liste direkt unter diesem Basisverzeichnis gespeichert.
Dieser Ansatz trennt die von SCIM verwalteten Gruppen von manuell verwalteten Strukturen und ermöglicht dennoch eine flexible Zuweisung von Nutzern.
Mitgliedschaftsverhalten
Wenn die Zuweisung von Mitgliedern über SCIM verwaltet wird, gilt Folgendes:
-
Wenn ein Mitglied über PATCH hinzugefügt wird, wird der Nutzer der Gruppe zugewiesen, sofern sowohl der Nutzer als auch die Gruppe bereits vorhanden sind.
-
Das Entfernen eines Mitglieds über PATCH hebt die von SCIM verwaltete Mitgliedschaft auf.
-
Manuell über die LMS-Oberfläche erstellte Gruppenzuweisungen können so konfiguriert werden, dass sie von SCIM-Vorgängen gegebenenfalls unberührt bleiben.
Authentifizierungsmethoden
Es stehen zwei Authentifizierungsmethoden zur Verfügung:
-
Basic Authentication, wobei der Mandant die Anmeldedaten des SCIM-Service-Kontos im
Authorization-Header übermittelt. -
Authentifizierung über Bearer-Token, wobei der Mandant ein zuvor erhaltenes Zugriffstoken im
Authorization-Header übermittelt.
Die gewählte Methode muss für die jeweilige Integration unterstützt werden und mit dem Kunden abgestimmt sein.