Migration d'un compte de service Exchange vers un API/principal de service

Nouvelle méthode de connexion à Exchange Online

Microsoft exige désormais une méthode plus sûre pour accéder à Exchange Online. Au lieu d'utiliser un compte de service traditionnel avec un mot de passe, nous utilisons maintenant une application Azure AD, authentifiée par un certificat, et représentée dans Exchange Online par un principal de service.

Pour vous, cela signifie :

  • La plateforme IDECSI se connectera à l'aide d'une application Azure AD enregistrée.
  • Cette application est représentée dans Exchange Online par un principal de service, qui fait office d'identité technique.
  • Il sera accordé à la mêmes autorisations comme votre ancien compte de service en étant ajouté à votre compte de service existant. Groupe de rôles d'Exchange (par exemple, I2A).
  • Cette méthode est plus sûre: pas de gestion de mot de passe, accès isolé, meilleure traçabilité.
Pourquoi créer un Service Principal Exchange ?

Bien que l'application soit déjà enregistrée dans Azure AD, Exchange Online utilise son propre système de contrôle d'accès basé sur les rôles (RBAC). Pour attribuer des autorisations Exchange à l'application, celle-ci doit être représenté au sein d'Exchange en tant que ServicePrincipal.

Les New-ServicePrincipal crée cette représentation, en liant l'AppId et l'ObjectId d'Azure AD à une identité Exchange.

Étapes à suivre
  1. Il suffit à un administrateur d'approuver l'application IDECSI via un lien Microsoft sécurisé (fourni ci-dessous).

  2. Un administrateur doit exécuter le script PowerShell pour réutiliser votre groupe de rôles Exchange existant (par exemple, I2A) qui contient déjà l'ensemble des rôles que vous avez accordés à l'ancien compte de service, et ajouter le nouveau Service Principal en tant que membre.

  3. Notre équipe finalisera ensuite l'installation afin qu'IDECSI se connecte à Exchange avec la nouvelle méthode sécurisée.

👉 Lien d'approbation de l'administrateur pour l'application IDECSI Platform (à ouvrir avec un compte administrateur Azure AD) :
https://login.microsoftonline.com/common/adminConsent?client_id=52e3a6c9-b6cc-4854-92db-06afc774da14

👉 Script PowerShell pour créer le Service Principal et ajouter des rôles via le groupe de rôles (à exécuter avec un compte administrateur Azure AD et un compte administrateur Exchange ).

⚠️ Veuillez noter :

  • Installer ou mettre à jour PowerShell à la version 7 (winget install --id Microsoft.Powershell --source winget)
  • Lancer PowerShell 7 en tant qu'administrateur local de la machine (ou avec un compte disposant des droits nécessaires)
  • Installer le module Microsoft.Graph (Install-Module Microsoft.Graph -Verbose)
  • Installer le module ExchangeOnlineManagement version 3.6 (Install-Module -Name ExchangeOnlineManagement -RequiredVersion 3.6.0 -Verbose).
# 1. Connect to Microsoft Graph to locate the App Registration
Import-Module Microsoft.Graph
Connect-MgGraph -Scopes AppRoleAssignment.ReadWrite.All,Application.Read.All

# 2. Get the Service Principal of the Azure AD App "IDECSI - Platform"
$AzureADApp = Get-MgServicePrincipal -Filter "DisplayName eq 'IDECSI - Platform'"

# 3. Connect to Exchange Online
Import-Module ExchangeOnlineManagement
Connect-ExchangeOnline

# 4. Create the Exchange Service Principal linked to the Azure AD App (one-time)
New-ServicePrincipal -AppId $AzureADApp.AppId -ObjectId $AzureADApp.Id -DisplayName "SP for Azure AD App IDECSI - Platform"

# 5. Retrieve the new Service Principal object
$SP = Get-ServicePrincipal -Identity "SP for Azure AD App IDECSI - Platform"

# 6. Add the Service Principal to your existing role group (replace 'I2A' if needed)
Add-RoleGroupMember -Identity "I2A" -Member $SP.Identity

# 7. Clean disconnects
Disconnect-ExchangeOnline
Disconnect-Graph

Une fois la demande approuvée et le script exécuté avec succès, l'équipe d'IDECSI finalisera la configuration afin que la plateforme puisse se connecter à Exchange en utilisant cette nouvelle méthode sécurisée.