Azure Entra ID für Windows-Server

Vizito hat vor Kurzem eine Funktion eingeführt, mit der Sie Ihre Azure-Mitarbeiter direkt aus unseren Cloudsystemen synchronisieren, ohne selbst Software installieren zu müssen.

Mehr dazu unter Azure-Synchronisierung.

Der Vorteil ist, dass die Einrichtung einfacher ist. Wenn Ihnen Datenschutz wichtiger ist als Bequemlichkeit, können Sie weiterhin unsere Azure-Entra-ID-Client-Synchronisierung nutzen, die nicht sämtliche Mitarbeiterdaten auf unsere Server dupliziert.

Wenn Sie bei den folgenden Schritten Hilfe brauchen, melden Sie sich gerne: info@vizito.be oder über den Chat.

Die Azure-Entra-ID-Integration wird über den Vizito-Azure-Entra-ID-Client konfiguriert, der auf einem Gerät oder Server installiert werden muss, mit dem sich das Tablet verbinden kann. Das Tablet muss dieses Gerät beziehungsweise diesen Server also über sein Netzwerk erreichen können.

Unten finden Sie eine schematische Darstellung: Netzwerk des Vizito-LDAP-Clients

Schritt 1: NodeJS

Installieren Sie NodeJS mit Ihrem bevorzugten Paketmanager.

Schritt 2: Vizito-Azure-Entra-ID-Client

Laden Sie unseren Azure-Entra-ID-Client herunter und entpacken Sie ihn in ein Verzeichnis Ihrer Wahl.

Die Schritte 3 und 4 muss Ihre Azure-Entra-ID-Administration ausführen.

Schritt 3: Eine App-Registrierung in Ihrem Azure Entra ID anlegen

Gehen Sie zum Azure-Portal und melden Sie sich an. Wählen Sie die Domäne beziehungsweise den Mandanten, den Sie mit Vizito verbinden möchten.

Gehen Sie dann so vor:

Navigieren Sie zu Azure Active Directory:

Vizito-Integration Azure Active Directory

Klicken Sie auf App Registrations und dann auf New registration:

Vizito-Integration Azure Active Directory App-Registrierung

Füllen Sie die erforderlichen Felder aus.

Wählen Sie einen Namen: Vizito Azure Client

Wählen Sie, wer auf diese API zugreifen darf, für einen einzelnen Mandanten die erste Option.

Wählen Sie unter Redirect URI (optional) den Anwendungstyp Web und als Anmelde-URL: https://backoffice.vizito.be/oauth.

Klicken Sie auf Register.

Vizito-Integration Azure Active Directory Felder

Kopieren Sie die “Application (client) ID” und verwenden Sie diesen Wert für den Konfigurationseintrag client_id in der Datei config.json.

Kopieren Sie die “Directory (tenant) ID” und verwenden Sie diesen Wert für den Konfigurationseintrag tenant_id in der Datei config.json.

Vizito-Integration Azure Active Directory Application ID

Klicken Sie auf Certificates & secrets > Client secrets > New Client secret

Wählen Sie eine Beschreibung, etwa Vizito Azure client secret, und setzen Sie eine Ablaufoption (24 Monate).

Klicken Sie auf Add.

Vizito-Integration Azure Active Directory Client Secret

Kopieren Sie den value und verwenden Sie ihn für den Konfigurationseintrag client_secret in der Datei config.json.

Wichtig: Sie können diesen Wert nur jetzt kopieren. Aus Sicherheitsgründen wird er später, wenn Sie zu Ihren Client Secrets zurückkehren, nicht mehr angezeigt.

Vizito-Integration Azure Active Directory Übersicht der Client Secrets

Klicken Sie auf API permissions > Microsoft APIs > Microsoft Graph

Vizito-Integration Azure Active Directory API-Berechtigungen

Klicken Sie auf Application permissions

Vizito-Integration Azure Active Directory API-Berechtigungen Anwendung

Scrollen Sie zu Directory und wählen Sie Directory.Read.All

Vizito-Integration Azure Active Directory API-Berechtigungen Directory

Scrollen Sie zu Group und wählen Sie Group.Read.All

Vizito-Integration Azure Active Directory API-Berechtigungen Group

Scrollen Sie zu User und wählen Sie User.Read.All

Klicken Sie auf Add permission

Vizito-Integration Azure Active Directory API-Berechtigungen User

Klicken Sie danach auf Grant admin consent for und dann auf Yes:

Vizito-Integration Azure Active Directory Berechtigungen erteilen

Schritt 4: Konfiguration des Vizito-Azure-Entra-ID-Clients

Passen Sie config.json an Ihre Umgebung an.

Hier finden Sie die Konfigurationswerte und eine Beschreibung der Angaben, die Sie eintragen müssen:

JSON-Eigenschaft Pflicht Beschreibung
domain Ja Domänenangabe, Beispiel: vizito.eu
client*id Ja Die Client ID für den Zugriff auf Azure Entra ID (in Schritt 3 angelegt).
client_secret Ja Das Client Secret für den Zugriff auf Azure Entra ID (in Schritt 3 angelegt).
tenant_id Ja Ihre Tenant ID (in Schritt 3 ausgewählt).
group Nein Optionale Filterung auf eine bestimmte Gruppe: Geben Sie die Object ID der Azure-Entra-ID-Gruppe an, deren Mitglieder abgerufen werden sollen.
mobile_prefix Nein Wenn Ihr LDAP-Verzeichnis lokale oder interne Mobilnummern ohne Landesvorwahl enthält, können Sie ein Präfix mit der Landesvorwahl ergänzen. Das erste Zeichen der lokalen oder internen Mobilnummer wird durch dieses Präfix ersetzt.
api_port Ja Standardwert: _48800*. Legt den Port fest, an dem die Node-Anwendung auf HTTP(S)-Anfragen wartet.
use*ssl_for_api Ja Standardwert: _false*. Auf true gesetzt, verwendet die Anwendung die Konfigurationseinträge ssl.ca, ssl.key und ssl.cert, um ein Schlüsselpaar für die TLS-Kommunikation zu laden.
Lesen Sie dazu, wie Sie eigene selbstsignierte Zertifikate mit einer eigenen Root-CA erstellen.

WICHTIG: Sie können mehrere Domänen im Array “domains” konfigurieren. Achten Sie darauf, jede vollständige Domänenkonfiguration in geschweifte Klammern { } zu setzen.

Schritt 5: Starten

Öffnen Sie eine Eingabeaufforderung, wechseln Sie in den Ordner, in dem Ihr Azure-Entra-ID-Client liegt, und führen Sie aus:

  • “npm install” (nur einmal nötig)
  • “node server.js”

Wenn alles wie vorgesehen funktioniert, sehen Sie in Ihrer Konsole eine Zeile wie diese: https://graph.microsoft.com/v1.0/users?$top=999.

Sie können den Azure-Entra-ID-HTTP-Server nun im Browser testen, indem Sie http://ip_oder_hostname_des_rechners_mit_dem_azure_entra_id_client:8080 aufrufen. Wenn Sie eine Firewall betreiben, geben Sie den Port 48800 frei. Wenn Ihr Browser ein JSON-Objekt mit den Benutzern anzeigt, die Sie bereitstellen möchten, funktioniert alles.

Schritt 6: Das Backoffice so konfigurieren, dass sich das Tablet mit dem Client verbindet

Gehen Sie ins Vizito-Backoffice und setzen Sie unter den Einstellungen “Datenquelle Kontaktpersonen” auf “extern verwaltet” und tragen Sie die “URL für Integration” ein. Das Tablet holt sich die Informationen nun vom installierten Client.

Schritt 7 (optional): Den Node-Prozess mit NSSM als Windows-Dienst betreiben

Laden Sie die neueste Version von NSSM herunter und entpacken Sie die zu Ihrer Architektur passende ausführbare Datei in einen Ordner Ihrer Wahl. Führen Sie dann folgenden Befehl aus: nssm install vizito_azure_entra_id_client Es öffnet sich ein Fenster, in dem Sie die Dienstparameter konfigurieren können.

  • Wählen Sie “node.exe” als Path. Sie finden es üblicherweise unter c:\Program Files (x86)\nodejs\node.exe
  • Tragen Sie den vollständigen Pfad zu server.js in das Feld “Arguments” ein.
  • Optional können Sie im Tab “Details” einen Anzeigenamen für Ihren Dienst festlegen.

Gehen Sie nun zu Ihren Windows-Diensten, starten Sie den neu angelegten Dienst und testen Sie. Denken Sie daran, alle manuell gestarteten Instanzen des Azure-Entra-ID-Clients zu beenden, bevor Sie den Dienst starten.

Fehlerbehebung

Zu Testzwecken stehen Demodienste bereit. Sie enthalten Namen wie “Tesla”, “Newton” und so weiter.

  • HTTP-Variante: http://178.162.136.223:48800
  • HTTPS-Variante: https://source.vizito.eu:48801

Wenn Sie eine HTTPS-Konfiguration verwenden, können Sie mehrere CA-Referenzen hinterlegen. Setzen Sie jede CA in Anführungszeichen in das CA-Array, das Sie in der Datei config.JSON finden.