Azure Active Directory Integration

von | 16. Mai. 2023

smartlearn ermöglicht, Benutzer und Gruppen aus Azure AD zu synchronisieren und via OAuth zu authentifizieren.

Zur Konfiguration benötigt smartlearn diverse Schlüssel, um sich mit Azure AD zu verbinden. In der nachfolgenden Dokumentation erfahren Sie, was dazu konfiguriert werden muss.

1. Unternehmensanwendung erstellen

Im Microsoft 365 Azure Active Direcotry Admin muss eine neue App-Registrierung erstellt werden.

Screenshot App-Registrierung Übersichtsseite

Auf dem nachfolgenden Screen sind folgende Konfigurationen notwendig:

  • Name: smartlearn
  • Kontotypen: Nur Konten in diesem Organisationsverzeichnis
  • Umleitungs-URI: Web, https://smartlearn.example.com/oauth/login/oidc-check
Screenshot Erstellung App-Registrierung

2. Branding und Eigenschaften

Auf der Seite Branding und Eigenschaften können Sie die Applikationsmaske in Microsoft 365 individualisieren. Sie können ein smartlearn Icon und die URL zu der internen smartlearn-Installation konfigurieren.

Screenshot App-Konfiguration: Branding und Eigenschaften

3. Clientschlüssel erstellen

In der neu erstellten App-Registrierung muss unter Zertifikate & Geheimnisse ein neuer, geheimer Clientschlüssel erstellt werden.

Beschreibung: smartlearn
Gültigkeit: je nach Sicherheitsstandard der Institution auslegen. Ein neuer Client-Schlüssel muss mind. 2 Wochen vor Ablauf des Schlüssels an die IT-Administration oder whatwedo geliefert werden. Wir empfehlen deshalb die Verwendung von 24 Monate gültigen Schlüsseln.

Nach dem Erstellen muss der generierte Wert und die geheime ID notiert werden. Diese Daten werden später benötigt.

Screenshot erstellter, geheimer Clientschlüssel

4. Azure-AD Synchronisierung (optional)

Diese Schritte sind optional und nur benötigt, wenn anstatt ein On-Premise LDAP direkt das Azure AD zur Synchronisierung von Benutzer und Gruppen verwendet werden soll.

Wechseln Sie in der App-Registrierung auf den Reiter API-Berechtigungen und klicken Sie auf Microsoft Graph (1). Falls die Frage nach einer delegierten Berechtigung oder einer Anwendungsberechtigungen gestellt wird, wählen Sie Anwendungsberechtigungen. Wählen Sie die nachfolgenden Berechtigungen aus und klicken Sie auf „Berechtigungen aktualisieren“:

  • User.Read.All
  • Group.Read.All
  • GroupMember.Read.All

Da für diese Berechtigungen eine Administratorenzustimmung erforderlich ist, damit die Anwendung die Daten im Hintergrund synchronisieren kann, muss diese nun erteilt werden.

5. Daten an Integrationspartner senden

Damit die Konfiguration von smartlearn vorgenommern werden kann, müssen nun folgende Daten an den Integrationspartner (whatwedo) gesendet werden:

  • Client-ID: Dies ist die „Geheime ID“ aus dem Schritt 3
  • Client-Secret: Dies ist der „Wert“ aus dem Schritt 3
  • Tenant-ID: In der App-Registrierung unter Übersicht der Wert „Verzeichnis-ID (Mandant)“. Siehe Screenshot unten.
  • Falls Azure AD Synchronisierung gewünscht:
    • Jeweils eine der nachfolgenden Filterungen:
      • Lehrkräfte
        • Gruppen-ID: Damit smartlearn Lehrkräfte berechtigen kann, wird die Objekt-ID der Gruppe benötigt, in welcher sich die Lehrkräfte befinden.
        • Lehrkräfte-Filter: Alternativ zu einer Gruppe kann ein Filter verwendet werden. Es wird dazu die Advanced Query Capability verwendet. Sie können dem Integrationspartner ebenfalls eine Erklärung der Filterung liefern (z.B. alle in OU=Lehrkraefte) und dieser stellt den Filter zusammen.
      • Teilnehmende (Schüler:innen, Lernende, Studierende)
        • Gruppen-ID: Damit smartlearn Benutzer als Teilnehmende berechtigen kann, wird die Objekt-ID der Gruppe benötigt, in welcher sich die Teilnehmenden befinden.
        • Teilnehmenden-Filter: Alternativ zu einer Gruppe kann ein Filter verwendet werden. Es wird dazu die Advanced Query Capability verwendet. Sie können dem Integrationspartner ebenfalls eine Erklärung der Filterung liefern (z.B. alle in OU=SuS) und dieser stellt den Filter zusammen.
    • Attribut Anzeigename Gruppen: Falls der Anzeigename der Gruppe, welcher in smartlearn angezeigt werden soll, nicht der displayName sein soll.
    • Gruppen für Modul / Kursberechtigungen: Sollte die Institution Active Directory Gruppen mit Berechtigungen pro Kurs (Modulautoren und unterrichtende Lehrkräfte) haben, können diese ebenfalls mitgesendet werden. Alternativ können die gewünschten Berechtigungen mit dem Integrationspartner besprochen werden.
Screenshot App-Registrierung Verzeichnis-ID