Comment configurer Azure AD pour l'intégration

Ce guide explique comment préparer Microsoft Azure Active Directory (AD) en vue de son intégration avec eAdm ou eFeide. La procédure consiste à créer un enregistrement d'application, puis à attribuer les autorisations nécessaires.

Vous pouvez sans crainte ignorer la section consacrée à la configuration avancée, sauf indication contraire d'Identum.


Partie 1 : Créer un enregistrement d'application Azure AD

  1. Connectez-vous au portail Azure à l'aide d'un compte administrateur.

  2. Accédez à Azure Active Directory.

  3. Sélectionnez « Enregistrements d'applications » dans le menu de gauche, puis cliquez sur « + Nouvel enregistrement ».

  4. Sur la page « Enregistrer une application », configurez les paramètres suivants :

    • Nom : Saisissez un nom descriptif pour l'application. Par exemple : Identum eFeide-eAdm User and Group Management.

    • Types de comptes pris en charge : sélectionnez uniquement les comptes figurant dans cet annuaire d'organisation (environnement mono-locataire).

    • URI de redirection : ne remplissez pas ce champ.

  5. Cliquez sur « S'inscrire » pour créer la candidature.

  6. Une fois l'application créée, copiez l'ID d'application (client) et l'ID de répertoire (locataire) figurant sur la page « Présentation » de l'application. Enregistrez ces valeurs pour pouvoir les utiliser ultérieurement.


Avertissement : n'utilisez pas de barre oblique (/) dans le nom de l'application, car cela pourrait entraîner des problèmes dans Azure AD.


Partie 2 : Attribuer des autorisations API

Vous devez ensuite accorder à l'application les autorisations API nécessaires pour gérer les utilisateurs et les groupes.

  1. Dans la fiche de votre nouvelle application, accédez à la section « Autorisations API » dans le menu de gauche.

  2. Cliquez sur « + Ajouter une autorisation ».

  3. Sélectionnez « Microsoft Graph ».

  4. Sélectionnez « Autorisations de l'application ».

  5. Ajoutez les autorisations suivantes :

    • Directory.Read.All

    • Directory.ReadWrite.All

    • Group.Create

    • Group.Read.All

    • Group.ReadWrite.All

    • GroupMember.ReadWrite.All

    • User.Read.All

    • User.ReadWrite.All

    • User.EnableDisableAccount.All

  6. Ajoutez également les autorisations suivantes si elles correspondent à vos besoins spécifiques :

    • AuditLog.Read.All: Obligatoire si vous souhaitez synchroniser le lastLogonTimeStamp attribuer à eAdm.

    • UserAuthenticationMethod.ReadWrite.All: Obligatoire si eAdm doit gérer les méthodes d'authentification multifactorielle (MFA) des utilisateurs.

    • Team.Create: Obligatoire si eAdm doit créer de nouvelles équipes.

    • Team.ReadBasic.All: Obligatoire si eAdm doit lire les informations de base sur l'équipe.

    • Teamwork.Migrate.All: Obligatoire dans certains cas de migration.

    • TeamTemplates.ReadAll: Obligatoire si eAdm doit utiliser des modèles Team.

  7. Une fois les autorisations ajoutées, cliquez sur « Ajouter des autorisations ».

  8. Dans l'écran des autorisations de l'API, cliquez sur « Accorder l'autorisation d'administrateur pour [Nom de votre locataire] » et confirmez lorsque vous y êtes invité.


Remarque : les autorisations indiquées en gras sont obligatoires pour une intégration de base. Les autres sont requises pour des cas de figure spécifiques et courants.


Partie 3 : Créer un secret client

Un secret client est un mot de passe que l'application utilise pour s'authentifier.

  1. Accédez à la rubrique « Certificats et secrets » dans le menu de gauche.

  2. Cliquez sur « + Nouveau secret client ».

  3. Saisissez une description pour le secret et définissez sa durée de validité sur 24 mois.

  4. Cliquez sur « Ajouter ».

  5. Copiez immédiatement la valeur du nouveau secret client à partir du champ « Valeur ».


Avertissement : la valeur du secret client n'est affichée dans son intégralité qu'immédiatement après sa création. Si vous ne la copiez pas maintenant, vous devrez en créer une nouvelle. Conservez cette valeur en lieu sûr.

Remarque : si la gestion des identités privilégiées (PIM) est activée dans votre environnement, il se peut que vous ne puissiez pas définir de date d'expiration fixe.


Partie 4 : Attribuer un rôle d'administrateur

Pour effectuer des opérations sensibles telles que la modification des mots de passe ou la mise à jour des numéros de téléphone des utilisateurs, l'application doit disposer d'un rôle d'administrateur.

  1. Dans le portail Azure, accédez à Azure Active Directory.

  2. Sélectionnez « Rôles et administrateurs ».

  3. Recherchez et sélectionnez le rôle « Administrateur des utilisateurs ».

  4. Cliquez sur « Ajouter des devoirs ».

  5. Recherchez et sélectionnez l'application que vous avez créée précédemment (par exemple, Identum eFeide-eAdm User and Group Management).

  6. Sur l'écran suivant, définissez le type d'affectation sur « Actif » et indiquez une justification, par exemple : « Nécessaire pour permettre à eFeide de gérer les mots de passe des utilisateurs. »

  7. Cliquez sur « Attribuer » pour finaliser l'attribution du rôle.


Remarque : si vous utilisez des groupes auxquels des rôles peuvent être attribués pour des utilisateurs gérés par eFeide ou eAdm, l'application nécessite alors le rôle « Administrateur d'authentification privilégié ». Pour plus d'informations, consultez : https://learn.microsoft.com/en-us/entra/identity/role-based-access-control/privileged-roles-permissions?tabs=admin-center#who-can-perform-sensitive-actions


Partie 5 : Envoyer des informations à Identum

Une fois la configuration terminée, vous devez envoyer les informations suivantes à Identum afin de finaliser la mise en place :

  • Nom du locataire (par exemple, yourcompany.onmicrosoft.com)

  • Identifiant du répertoire (locataire)

  • Identifiant de l'application (client)

  • Clé secrète du client


Avertissement : pour des raisons de sécurité, envoyez la clé secrète du client séparément des autres informations (par exemple, par SMS ou via un autre canal sécurisé).



Configuration avancée


Avertissement : n'effectuez pas les étapes suivantes à moins d'en avoir reçu l'instruction explicite de la part d'Identum ou d'être un utilisateur expérimenté.


Attribuer des autorisations dans Exchange Online

Ces autorisations ne sont requises que si eAdm ou eFeide doivent gérer directement certaines fonctionnalités d'Exchange Online, telles que les groupes de distribution ou les groupes de sécurité avec fonctionnalité de messagerie.

  1. Dans la configuration de votre application, accédez à la section « Autorisations API » et cliquez sur « + Ajouter une autorisation ».

  2. Passez à l'onglet « API utilisées par mon organisation ».

  3. Recherchez « Office », puis sélectionnez Office 365 Exchange Online.

  4. Sélectionnez « Autorisations de l'application ».

  5. Choisissez le Exchange.ManageAsApp autorisation, puis cliquez sur Ajouter des autorisations.

  6. Accorder l'autorisation de l'administrateur pour la nouvelle autorisation.

  7. Attribuez à l'application le rôle « Administrateur des destinataires Exchange » via le panneau « Rôles et administrateurs » dans Azure AD. Cela lui permettra de gérer les objets Exchange.


Groupes de sécurité avec fonctionnalité de messagerie :

La gestion des groupes de sécurité avec messagerie nécessite un rôle supplémentaire (« Création de groupes de sécurité et appartenance à ceux-ci » dans Exchange Online). La configuration peut s'avérer un peu délicate… Mais nous décrivons ci-dessous comment ajouter ce rôle unique (vous pouvez utiliser des groupes de rôles personnalisés si vous le souhaitez). Consultez la page https://learn.microsoft.com/en-us/exchange/permissions-exo/application-rbac pour plus d'informations et des instructions détaillées :


1. Créer l'entité de service dans Exchange Online

Commencez par rechercher l'ID d'objet de votre application dans Azure AD, puis utilisez-le pour enregistrer l'entité de service dans Exchange Online. Cette opération ne doit être effectuée qu'une seule fois par application.

PowerShell
# Make sure you are connected to both services
# Connect-MgGraph -Scopes "Application.Read.All"
# Connect-ExchangeOnline

# --- Enter your Application (Client) ID here ---
$appId = "00000000-0000-0000-0000-000000000000"

# Find the application's details in Azure AD
$sp = Get-MgServicePrincipal -Filter "appId eq '$appId'"

# Create the service principal object within Exchange Online
# The -ErrorAction flag prevents an error if it already exists
New-ServicePrincipal -AppId $sp.AppId -ObjectId $sp.Id -DisplayName $sp.DisplayName -ErrorAction SilentlyContinue

2. Attribuer le rôle unique à l'application


Maintenant, utilisez le New-ManagementRoleAssignment cmdlet avec le -App paramètre permettant d'attribuer directement le rôle à l'entité de service que vous venez de créer.

PowerShell
# Assign the role directly to the application
# Provide a unique name for the role assignment
New-ManagementRoleAssignment -App $appId -Role "Security Group Creation and Membership" -Name "App_SG_Creation_Membership_Direct_Assignment"

Votre application dispose désormais des autorisations spécifiques d'Exchange Online nécessaires pour gérer les groupes de sécurité avec fonctionnalité de messagerie.



Authentification par certificat

Cette étape n'est nécessaire que si Identum doit exécuter des scripts personnalisés sur votre environnement Exchange Online ou Azure AD. Elle est généralement utilisée dans le cadre d'intégrations avancées et sera coordonnée directement avec vous.

  1. Un certificat auto-signé sera généré. Vous recevrez des instructions pour savoir comment procéder.

  2. Dans la page d'enregistrement de l'application, accédez à la section « Certificats et secrets ».

  3. Sélectionnez l'onglet « Certificats », puis cliquez sur « Importer un certificat ».

  4. Téléchargez le fichier de clé publique (.cer, .pem, ou .crt) qui vous a été fourni.



Annexe : Liste des autorisations requises

Le tableau ci-dessous présente en détail les autorisations de l'API Microsoft Graph ainsi que la raison pour laquelle elles sont requises.


Action

Autorisation

Description

Conditions minimales requises ?

Obtenir l'ancre, obtenir l'utilisateur

User.Read.All

Permet à l'application d'accéder à l'intégralité des propriétés de profil de tous les utilisateurs de l'organisation.


Oui

Créer, mettre à jour, supprimer un utilisateur

User.ReadWrite.All

Permet à l'application de lire et d'écrire l'intégralité du profil de tous les utilisateurs.


Remarque : la mise à jour de données sensibles (par exemple, numéros de téléphone, adresses e-mail) ou la réinitialisation de mots de passe nécessite que l'application se voie également attribuer un rôle administratif doté de privilèges élevés, tel que « Administrateur des utilisateurs ».

Oui


Réactiver un utilisateur

User.EnableDisableAccount.All

Permet à l'application d'activer et de désactiver des comptes utilisateur.


Oui

Obtenir les groupes

Group.Read.All

Permet à l'application d'afficher la liste des groupes et de consulter leurs propriétés ainsi que la liste de leurs membres.


Oui

Créer, mettre à jour, supprimer un groupe

Group.ReadWrite.All

Permet à l'application de créer, de lire et de modifier toutes les propriétés et tous les membres d'un groupe. Nécessite User.Read.All pour ajouter des utilisateurs en tant que propriétaires ou membres.

Oui

Mettre à jour les membres du groupe

GroupMember.ReadWrite.All

Permet à l'application de consulter et de mettre à jour les appartenances à des groupes.


Non

Récupérer l'activité de la dernière connexion

AuditLog.Read.All

Permet de lire le AzureLastLogOnTimeStamp Retour à eADM. Si cela ne fonctionne pas, Directory.Read.All peut constituer une alternative.

non


Accès au répertoire

Directory.ReadWrite.All

Permet à l'application de lire et d'écrire des données dans le répertoire (utilisateurs, groupes). Ne permet pas de supprimer des utilisateurs/groupes ni de réinitialiser les mots de passe.


Non

Créer des équipes

Team.Create

Permet à l'application de créer des équipes.


Non

Obtenir Teams

Team.ReadBasic.All

Permet à l'application de lire les noms et les descriptions des équipes.


Non

Migration des données Teamwork

Teamwork.Migrate.All

Permet à l'application de créer des messages de discussion et de canal sans que l'utilisateur soit connecté.


Non

Consulter les modèles d'équipe

TeamTemplates.Read.All

Permet à l'application d'accéder à tous les modèles Teams disponibles.


Non


Dernière mise à jour :