> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lighton.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Configuration SCIM : Microsoft Entra ID

> Voici les différentes étapes à suivre dans Paradigm afin de configurer le provisionnement automatique des utilisateurs dans Paradigm à partir de Microsoft Entra ID (anciennement Azure Active Directory).

### Côté Paradigm

* Activer la fonctionnalité SCIM au niveau de l'instance : Définir la clé de configuration `SCIM_INSTANCE_ACTIVATION` à `True`
* Avoir un utilisateur avec les permissions de gérer les utilisateurs dans l'entreprise souhaitée
* Créer une clé API liée à cet utilisateur

### Côté Microsoft

* Depuis l'interface d'administration Microsoft, accéder à la zone d'administration des identités (Entra ID)

<img src="https://mintcdn.com/lighton/rNvFOJLCB2HP18og/images/scim-entraid-identity-administration.png?fit=max&auto=format&n=rNvFOJLCB2HP18og&q=85&s=fbae779e9cc762d7664fde83fa8da779" alt="Administration des identités" width="3014" height="1708" data-path="images/scim-entraid-identity-administration.png" />

* Créer une nouvelle application dans le site d'administration des identités

<img src="https://mintcdn.com/lighton/rNvFOJLCB2HP18og/images/scim-entraid-create-application.png?fit=max&auto=format&n=rNvFOJLCB2HP18og&q=85&s=0d439b260c53e72b6dcb4a14655ff923" alt="Créer une application" width="3014" height="1708" data-path="images/scim-entraid-create-application.png" />

* Sélectionner `Create your own application`, donner le nom souhaité et sélectionner la 3ème option `Integrate any other application you don't find in the gallery (Non-gallery)` puis cliquer sur `Create`.

<img src="https://mintcdn.com/lighton/rNvFOJLCB2HP18og/images/scim-entraid-application-options.png?fit=max&auto=format&n=rNvFOJLCB2HP18og&q=85&s=feb8b1aa85e5d5dab0a942b4abe3e5d0" alt="Options d'application" width="3014" height="1708" data-path="images/scim-entraid-application-options.png" />

* Une fois l'application créée, cliquer sur `Provisioning`

<img src="https://mintcdn.com/lighton/rNvFOJLCB2HP18og/images/scim-entraid-provisioning.png?fit=max&auto=format&n=rNvFOJLCB2HP18og&q=85&s=9765793bcb5e1ecec4b654273ac757a1" alt="Provisionnement" width="3014" height="1708" data-path="images/scim-entraid-provisioning.png" />

* Cliquer sur `+ New configuration`

<img src="https://mintcdn.com/lighton/rNvFOJLCB2HP18og/images/scim-entraid-new-configuration.png?fit=max&auto=format&n=rNvFOJLCB2HP18og&q=85&s=a5c3863ac7ed6507a305745773de559a" alt="Nouvelle configuration" width="3014" height="1708" data-path="images/scim-entraid-new-configuration.png" />

* Configurer le provisionnement pour utiliser l'instance Paradigm souhaitée :
  * `Tenant URL` :

    Elle doit suivre le modèle

    `https://<paradigm_domain_name>/scim/v2/?aadOptscim062020`.

    Le `<paradigm_domain_name>` doit être remplacé par `paradigm.lighton.ai` pour utiliser la solution SaaS de LightOn ou par le nom de domaine du client pour les solutions on-premise

<Callout type="warning">
  ⚠️ Le drapeau `?aadOptscim062020` est actuellement nécessaire pour corriger des bugs côté Microsoft. Microsoft travaille activement à l'implémentation des modifications de comportement associées dans le comportement par défaut.

  [Plus d'informations disponibles ici](https://learn.microsoft.com/en-us/entra/identity/app-provisioning/application-provisioning-config-problem-scim-compatibility#flags-to-alter-the-scim-behavior)
</Callout>

* `Secret token` : Mettre la clé API Paradigm créée dans ce champ.
* Cliquer sur `Test connection` pour vérifier que l'instance Paradigm peut être atteinte et que la fonctionnalité SCIM est disponible / activée.
* Cliquer sur `Create` une fois que le test est réussi

<img src="https://mintcdn.com/lighton/rNvFOJLCB2HP18og/images/scim-entraid-configuration-settings.png?fit=max&auto=format&n=rNvFOJLCB2HP18og&q=85&s=85213b17add13055c4507529ba52f903" alt="Paramètres de configuration" width="3014" height="1708" data-path="images/scim-entraid-configuration-settings.png" />

* Aller dans la zone `Users and groups` pour assigner des utilisateurs ou un groupe d'utilisateurs à l'application

<img src="https://mintcdn.com/lighton/uAF7P34gD93rmhFp/images/scim-entraid-users-and-groups.png?fit=max&auto=format&n=uAF7P34gD93rmhFp&q=85&s=da61ffa437e2b916cd5f4f7c4adc1ea9" alt="Utilisateurs et groupes" width="3012" height="1706" data-path="images/scim-entraid-users-and-groups.png" />

* Aller dans la zone `Attribute mapping` et définir `Provision Microsoft Entra ID Groups` à `No` (désactivé)

<Callout type="info">
  💡 Le mappage des groupes n'est actuellement pas supporté dans Paradigm. Le provisionnement peut uniquement être utilisé pour gérer les utilisateurs et non les groupes auxquels ils appartiennent, donc dans notre cas le groupe `LightOn Paradigm authorized users` ne sera pas créé dans Paradigm. La requête sera refusée si Microsoft Entra ID tente de le faire.
</Callout>

<img src="https://mintcdn.com/lighton/rNvFOJLCB2HP18og/images/scim-entraid-attribute-mapping.png?fit=max&auto=format&n=rNvFOJLCB2HP18og&q=85&s=05ffd036d03ab32241ceebb92400b4f5" alt="Mappage des attributs" width="3012" height="1706" data-path="images/scim-entraid-attribute-mapping.png" />

* Dans la zone `Attribute mapping`, vérifier ce qui est utilisé pour l'attribut `emails[type eq "work"].value`, nous conseillons d'utiliser le `userPrincipalName` pour éviter d'oublier de remplir le champ `mail` Microsoft lors de la création d'un utilisateur (utilisé par défaut pour SCIM dans Entra ID)

  Vous pouvez trouver la configuration des attributs suggérée pour les utilisateurs dans l'image ci-dessous

<img src="https://mintcdn.com/lighton/uAF7P34gD93rmhFp/images/scim-entraid-suggested-attributes.png?fit=max&auto=format&n=uAF7P34gD93rmhFp&q=85&s=f86b6ebbb8d219f42b847491ba00ed13" alt="Attributs suggérés" width="3018" height="1708" data-path="images/scim-entraid-suggested-attributes.png" />

* Retourner à la vue `Overview` et cliquer sur `Start provisioning`

### Comportement attendu avec cette configuration

Voici un tableau résumant les comportements attendus dans Paradigm suite à une action dans Microsoft Entra ID :

| Action Microsoft Entra ID                                                        | Comportement Paradigm                                                                                                                         |
| -------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| **créer** un nouvel utilisateur et lui assigner le groupe assigné à Paradigm     | crée le compte associé dans Paradigm                                                                                                          |
| **modifier** une information sur l'utilisateur dans Microsoft Entra ID           | le changement sera transmis à Paradigm s'il concerne un attribut utilisé par Paradigm                                                         |
| **supprimer** un utilisateur du panneau d'administration Entra ID                | désactivera l'utilisateur dans Paradigm ainsi que la modification du nom d'utilisateur et de l'email pour pouvoir être restauré si nécessaire |
| **supprimer définitivement** un utilisateur du panneau d'administration Entra ID | l'utilisateur sera désactivé et anonymisé dans Paradigm                                                                                       |
