Azure Entra ID pour serveurs Windows

Vizito a récemment introduit une nouvelle fonction qui vous permet de synchroniser vos employés Azure directement depuis nos systèmes cloud, sans avoir à installer le moindre logiciel.

Pour en savoir plus, voir la synchronisation Azure Entra ID.

L’avantage est qu’elle est plus simple à mettre en place. Si vous privilégiez la confidentialité à la simplicité d’usage, vous pouvez toujours utiliser notre synchronisation par client Azure Entra ID, qui ne recopie pas l’ensemble des informations des employés sur nos serveurs.

Si vous avez besoin d’aide pour appliquer les étapes suivantes, n’hésitez pas à nous contacter : info@vizito.be ou via le chat.

L’intégration Azure Entra ID se configure au moyen du client Azure Entra ID Vizito, qui doit être installé sur un appareil ou un serveur auquel la tablette peut se connecter. La tablette doit donc pouvoir communiquer avec cet appareil ou ce serveur via son réseau.

Vous trouverez ci-dessous une représentation schématique : Réseau du client ldap Vizito

Étape 1 : NodeJS

Utilisez votre gestionnaire de paquets habituel pour installer NodeJS.

Étape 2 : client Azure Entra ID Vizito

Téléchargez et décompressez notre client Azure Entra ID dans un répertoire de votre choix.

Les étapes 3 et 4 doivent être effectuées par votre administrateur Azure Entra ID.

Étape 3 : ajouter un App Registration à votre Azure Entra ID

Rendez-vous sur le portail Azure et connectez-vous. Sélectionnez le domaine ou le tenant que vous souhaitez intégrer à Vizito.

Suivez ensuite ces étapes :

Rendez-vous dans Azure Active Directory :

Intégration Vizito Azure Active Directory

Cliquez sur App Registrations puis sur New registration :

Intégration Vizito Azure Active Directory App Registration

Renseignez les champs requis.

Choisissez un nom : Vizito Azure Client

Sélectionnez qui peut accéder à cette API, la première option pour un tenant unique.

Sous Redirect URI (optional), sélectionnez le type d’application Web et comme URL de connexion : https://backoffice.vizito.be/oauth.

Cliquez sur Register.

Champs de l’intégration Vizito Azure Active Directory

Copiez l’Application (client) ID et utilisez cette valeur pour l’élément de configuration client_id du fichier config.json.

Copiez le Directory (tenant) ID et utilisez cette valeur pour l’élément de configuration tenant_id du fichier config.json.

Application ID de l’intégration Vizito Azure Active Directory

Cliquez sur Certificates & secrets > Client secrets > New Client secret

Choisissez une description Vizito Azure client secret et définissez une option d’expiration (24 mois).

Cliquez sur Add.

Secret client de l’intégration Vizito Azure Active Directory

Copiez la value et utilisez-la pour l’élément de configuration client_secret du fichier config.json.

Important : vous ne pouvez copier cette valeur que maintenant. Par mesure de sécurité, elle ne sera plus visible lorsque vous reviendrez ultérieurement sur vos secrets clients.

Aperçu du secret client de l’intégration Vizito Azure Active Directory

Cliquez sur API permissions > Microsoft APIs > Microsoft Graph

Autorisations d’API de l’intégration Vizito Azure Active Directory

Cliquez sur Application permissions

Autorisations d’API application de l’intégration Vizito Azure Active Directory

Faites défiler jusqu’à Directory et sélectionnez Directory.Read.All

Autorisations d’API Directory de l’intégration Vizito Azure Active Directory

Faites défiler jusqu’à Group et sélectionnez Group.Read.All

Autorisations d’API Group de l’intégration Vizito Azure Active Directory

Faites défiler jusqu’à User et sélectionnez User.Read.All

Cliquez sur Add permission

Autorisations d’API User de l’intégration Vizito Azure Active Directory

Une fois terminé, cliquez sur Grant admin consent for puis sur Yes :

Accorder les autorisations de l’intégration Vizito Azure Active Directory

Étape 4 : client Azure Entra ID Vizito - configuration

Modifiez config.json pour l’adapter à votre environnement.

Vous trouverez ci-dessous les valeurs de configuration et la description des informations à saisir :

Propriété JSON Obligatoire Description
domain Oui Référence du domaine. Exemple : vizito.eu
client*id Oui Le client id utilisé pour accéder à Azure Entra ID (créé à l’étape 3).
client_secret Oui Le secret client utilisé pour accéder à Azure Entra ID (créé à l’étape 3).
tenant_id Oui Votre tenant id (sélectionné à l’étape 3).
group Non Filtrage facultatif sur un groupe précis : indiquez l’Object ID du groupe Azure Entra ID dont vous voulez récupérer les membres.
mobile_prefix Non Si votre annuaire LDAP contient des numéros de mobile locaux ou internes (sans indicatif pays), vous pouvez ajouter un préfixe contenant l’indicatif. Le premier caractère du numéro de mobile local ou interne sera remplacé par ce préfixe.
api_port Oui Valeur par défaut : _48800*. Configure le port sur lequel l’application node écoute les requêtes HTTP(s).
use*ssl_for_api Oui Valeur par défaut : _false*. Réglé sur true, il utilise les éléments de configuration ssl.ca, ssl.key et ssl.cert pour charger une paire de clés privée/publique et activer la communication TLS.
Documentez-vous sur la création de vos propres certificats auto-signés avec une autorité racine personnalisée.

IMPORTANT : vous pouvez configurer plusieurs domaines dans le tableau domains. Veillez à encadrer chaque configuration de domaine complète par des accolades { }.

Étape 5 : exécution

Ouvrez une invite de commandes, placez-vous dans le dossier où réside votre client Azure Entra ID et exécutez

  • “npm install” (une seule fois)
  • “node server.js”

Si tout fonctionne comme prévu, vous devriez voir dans votre console une ligne de ce type : https://graph.microsoft.com/v1.0/users?$top=999.

Vous pouvez maintenant tester le serveur HTTP Azure Entra ID depuis un navigateur en ouvrant http://ip_ou_nom_de_la_machine_executant_le_client_azure_entra_id:8080. Si vous utilisez un pare-feu, assurez-vous qu’il autorise l’accès au port 48800. Si votre navigateur affiche un objet JSON représentant les utilisateurs que vous voulez exposer, tout fonctionne.

Étape 6 : configurer le backoffice pour que la tablette se connecte au client

Rendez-vous dans le backoffice Vizito et, sous Paramètres, réglez la “Source de donnée des hôtes” sur “Géré à l’externe” et renseignez l’“URL d’intégration”. La tablette ira désormais chercher les informations auprès du client installé.

Étape 7 (facultative) : utiliser NSSM pour transformer le processus node en service Windows

Téléchargez la dernière version de NSSM, décompressez l’exécutable correspondant à votre architecture dans un dossier de votre choix, puis exécutez la commande suivante : nssm install vizito_azure_entra_id_client Une fenêtre s’ouvre, dans laquelle vous pouvez configurer les paramètres de votre service.

  • Sélectionnez “node.exe” comme Path. Il se trouve généralement dans c:Program Files (x86)nodejsnode.exe
  • Saisissez le chemin complet vers server.js dans le champ Arguments
  • Vous pouvez éventuellement définir un Display name pour votre service dans l’onglet Details.

Rendez-vous maintenant dans vos services Windows, démarrez le service que vous venez de créer, et testez. Pensez à arrêter toute instance du client Azure Entra ID lancée manuellement avant de démarrer le service.

Résolution des problèmes

Des services de démonstration sont disponibles à des fins de test. Ils comportent des noms tels que “Tesla”, “Newton”, etc.

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

Si vous utilisez une configuration HTTPS, vous pouvez configurer plusieurs références de CA. Ajoutez chaque CA entre " (guillemets) dans le tableau CA, que vous trouverez dans le fichier config.JSON.