# Intégrer GLPI Network Cloud et LDAPS (Entra)

## Rappel d'utilisation

Rappelons d'abord que l'utilisation d'un répertoire Entra permet deux fonctionnalités avec GLPI :

* **Synchroniser** les utilisateurs
* **Les authentifier**.

L'authentification peut se faire de deux manières :

* Authentification LDAPS via synchronisation de répertoire (des utilisateurs) dans GLPI
* Authentification Oauth SSO (la synchronisation n'est pas requise)

Nous allons maintenant détailler les configurations de ces fonctionnalités.

## Synchronisation de répertoire et/ou authentification LDAPS

Entra AD nécessite l'utilisation du protocole **LDAPS** pour être synchronisé. Microsoft a entièrement documenté la configuration de son environnement pour l'utilisation de LDAPS. Nous vous invitons donc à suivre la documentation officielle [ici](https://learn.microsoft.com/en-gb/entra/identity/domain-services/tutorial-configure-ldaps) afin de préparer votre environnement Entra AD.

{% hint style="info" %}
**Note**

Votre tenant Entra doit avoir une licence suffisamment élevée ou l'achat de [Microsoft Entra Domain Services](https://learn.microsoft.com/en-en/entra/identity/domain-services/overview) peut être nécessaire.
{% endhint %}

* N'oubliez pas que vous pouvez déterminer l'adresse IP de votre instance GLPI Network Cloud en suivant l'article [ici](https://help.glpi-project.org/tutorials/fr/my-instance/find_ip_address), si vous souhaitez établir des règles d'accès LDAPS sur votre environnement Entra AD.

{% hint style="warning" %}
**Attention**

Si votre environnement Entra AD est mal préparé pour LDAPS, cela ne fonctionnera pas côté GLPI
{% endhint %}

* N'oubliez pas également de créer un ***compte de service*** (un utilisateur) dans votre répertoire, uniquement dédié à l'interconnexion entre GLPI et votre répertoire Entra AD.

Une fois votre environnement Entra AD préparé pour LDAPS, revenez dans GLPI !

Vous devez créer une source d'authentification de type Répertoire LDAP.

* Allez dans **`Configuration`** > **`Authentification`** > **`Répertoires LDAP`**
* Cliquez sur **`ajouter`** pour ajouter un nouveau répertoire
* Nous devons configurer le nouveau répertoire pour les connexions LDAPS

![Alt text](https://1227510999-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqmRzI15ndDbFHGd5BnM4%2Fuploads%2Fgit-blob-d3f9a3a9575f261e1b48d147d3f74f3588b3d243%2Fcloud_et_Azure_ad-1.png?alt=media)

Explication des champs :

* **Nom**\
  Le nom à saisir ici sera celui affiché dans la liste de vos répertoires, il n'influence pas la configuration.
* **Serveur par défaut**\
  Ce paramètre vous permet de définir si ce répertoire doit être utilisé en priorité.
* **Actif**\
  Avec ce paramètre, vous pouvez activer ou non le répertoire
* **Serveur**\
  Devant l'IP ou le FQDN de votre serveur LDAP, ajoutez **`ldaps://`**, ex : *ldaps\://Entra.mycompany.com* ou *ldaps\://xxx.xxx.xxx*
* **Port**\
  Saisissez le port de votre LDAP. LDAPS nécessite le port 636
* **Filtre de connexion**\
  Vous pouvez définir une condition pour la recherche. Il est possible de filtrer la recherche d'utilisateurs à un nombre réduit d'enregistrements.

Pour Active Directory, utilisez le filtre suivant, qui ne retourne que les utilisateurs non désactivés (car les machines sont aussi considérées comme des utilisateurs par AD) :

*`(&(objectClass=user)(objectCategory=person)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))`*

**Ce filtre est un exemple standard, vous pouvez le modifier selon vos besoins.**

* **BaseDN**

{% hint style="success" %}
**`basedn`**

Le basedn doit être écrit sans espaces après les virgules. De plus, la casse doit être identique
{% endhint %}

Pour un usage standard, les paramètres à saisir sont très simples, par exemple :

**Si** votre **Serveur** = **`Entra.mycompany.com`**

**Alors** votre **BaseDN** = **`dc=mycompany,dc=com`**

* **RootDN (pour les liaisons non anonymes)**\
  Saisissez ici le DN complet du compte de service qui s'authentifiera avec votre répertoire
* **Mot de passe (pour les liaisons non anonymes)**\
  Saisissez ici le mot de passe du compte de service qui s'authentifiera avec votre répertoire. Notez que lors de la sauvegarde de la configuration, ce champ apparaîtra vide, c'est normal, le mot de passe sera sauvegardé dans la base de données.
* **Champ de connexion**\\
  * Pour Entra AD avec authentification SSO ! Nous indiquerons le champ userprincipalname
  * Pour Entra AD sans authentification SSO ! Nous indiquerons le champ samaccountname
* **Commentaires**\
  Ce champ n'influence pas la configuration, c'est seulement un champ texte vous permettant de placer une indication, une remarque, etc.
* **Champ de synchronisation**\
  Dans les schémas fournis par défaut, nous recommandons, par exemple, d'utiliser l'attribut "objectGUID" (correspondant à l'identifiant unique officiel d'un objet) ; Attention avec ce champ, une fois configuré il ne peut pas être modifié.

Une fois les champs saisis, cliquez sur **Ajouter** pour sauvegarder votre répertoire.

**Lors de l'enregistrement, un test de connexion à votre répertoire sera effectué par GLPI !**

## Options supplémentaires

* Une fois votre connexion LDAPS enregistrée, revenez dans la configuration de votre répertoire côté GLPI.
* Dans les informations avancées, changez le champ **Utiliser les résultats paginés** à **Oui**
* Nous recommandons de changer la taille de page à **100**
* Nous recommandons de changer le **champ nombre maximum de résultats** à **illimité**

![Alt text](https://1227510999-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqmRzI15ndDbFHGd5BnM4%2Fuploads%2Fgit-blob-f7b35c8a9b6c6166f47d7219469fc499ec7e14e3%2Fcloud_et_Azure_ad-2bis.png?alt=media)

Votre répertoire est connecté mais vous devez définir les options pour synchroniser.

* Pour cela, allez dans la configuration de votre répertoire et utilisez les onglets **Utilisateurs** et **Groupes** en personnalisant les attributs LDAP que vous souhaitez synchroniser et les paramètres qui vous sont utiles. Cette section est complète.
