Utiliser des identités managées Azure pour se connecter à Exchange Online PowerShell

À l’aide du module Exchange Online PowerShell V3, vous pouvez vous connecter à Exchange Online PowerShell à l’aide d’une identité managée Azure affectée par l’utilisateur ou affectée par le système. Pour plus d’informations sur les identités managées, consultez Que sont les identités managées pour les ressources Azure ?.

Contrairement à d’autres méthodes de connexion utilisant le module PowerShell Exchange Online, vous ne pouvez pas exécuter les commandes de connexion dans une session Windows PowerShell sur votre ordinateur local. Au lieu de cela, vous vous connectez dans le contexte de la ressource Azure associée à l’identité managée (par exemple, un compte Azure Automation ou une machine virtuelle Azure).

Le reste de cet article explique comment se connecter à l’aide d’une identité managée et les conditions requises pour créer et configurer les ressources appropriées avec des identités managées dans Azure.

Remarque

Dans Exchange Online PowerShell, vous ne pouvez pas utiliser les procédures décrites dans cet article avec les applets de commande Microsoft 365 Group suivantes :

Vous pouvez utiliser Microsoft Graph pour remplacer la plupart des fonctionnalités de ces applets de commande. Pour plus d’informations, consultez Utilisation de groupes dans Microsoft Graph.

Les connexions d’API REST dans le module V3 nécessitent les modules PowerShellGet et PackageManagement. Pour plus d’informations, consultez PowerShellObtenir des connexions REST dans Windows.

Se connecter à Exchange Online PowerShell à l’aide d’une identité managée affectée par le système

Une fois que vous avez créé et configuré une identité managée affectée par le système, utilisez la syntaxe suivante pour vous connecter à Exchange Online PowerShell :

Connect-ExchangeOnline -ManagedIdentity -Organization <YourDomain>.onmicrosoft.com

Par exemple :

Connect-ExchangeOnline -ManagedIdentity -Organization contoso.onmicrosoft.com

Le reste de cette section explique comment se connecter à l’aide des ressources Azure prises en charge. Par exemple :

  • Un runbook PowerShell sur le compte Azure Automation avec une identité managée affectée par le système.
  • Une machine virtuelle Azure avec une identité managée affectée par le système.

Une fois la ressource connectée, les applets de commande et les paramètres Exchange Online PowerShell sont disponibles en fonction du rôle RBAC que vous avez attribué à l’étape 5 : Attribuer des rôles Microsoft Entra à l’identité managée

Se connecter à Exchange Online PowerShell à l’aide de comptes Azure Automation avec une identité managée affectée par le système

Créez un runbook PowerShell sur le compte Automation. Pour obtenir des instructions, consultez Gérer les runbooks dans Azure Automation.

La première commande du runbook PowerShell doit être la Connect-ExchangeOnline... commande décrite au début de cette section. Par exemple :

Connect-ExchangeOnline -ManagedIdentity -Organization contoso.onmicrosoft.com

Après cela, en guise de test, vous pouvez commencer avec une commande simple et à faible impact dans le runbook avant de passer à des commandes ou des scripts plus complexes. Par exemple :

Get-AcceptedDomain | Format-Table Name

Une fois que vous avez créé, enregistré et publié le runbook PowerShell, procédez comme suit pour l’exécuter ultérieurement :

  1. Dans la page Comptes Automation à l’emplacement https://portal.azure.com/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Automation%2FAutomationAccounts, sélectionnez le compte Automation.
  2. Dans le menu volant de détails qui s’ouvre, commencez à taper « Runbooks » dans l’icône Rechercher.Zone de recherche , puis sélectionnez Runbooks dans les résultats.
  3. Dans le menu volant Runbooks qui s’ouvre, sélectionnez le runbook.
  4. Dans la page de détails du runbook, sélectionnez Démarrer.

Se connecter à Exchange Online PowerShell à l’aide de machines virtuelles Azure avec une identité managée affectée par le système

Dans une fenêtre Windows PowerShell de la machine virtuelle Azure, utilisez la commande comme décrit au début de cette section. Par exemple :

Connect-ExchangeOnline -ManagedIdentity -Organization contoso.onmicrosoft.com

Se connecter à Exchange Online PowerShell à l’aide d’une identité managée affectée par l’utilisateur

Après avoir créé et configuré une identité managée affectée par l’utilisateur, utilisez la syntaxe suivante pour vous connecter à Exchange Online PowerShell :

Connect-ExchangeOnline -ManagedIdentity -Organization <YourDomain>.onmicrosoft.com -ManagedIdentityAccountId <UserAssignedManagedIdentityClientIdValue>

Vous obtenez la <valeur UserAssignedManagedIdentityClientIdValue> de l’Étape 3 : Stocker l’identité managée affectée par l’utilisateur dans une variable.

Le reste de cette section explique comment se connecter à l’aide des ressources Azure prises en charge. Par exemple :

  • Un runbook PowerShell sur le compte Azure Automation avec une identité managée affectée par l’utilisateur.
  • Une machine virtuelle Azure avec une identité managée affectée par l’utilisateur.

Une fois la ressource connectée, les applets de commande et les paramètres Exchange Online PowerShell sont disponibles en fonction du rôle RBAC que vous avez attribué à l’étape 6 : Attribuer Microsoft Entra rôles à l’identité managée.

Se connecter à Exchange Online PowerShell à l’aide de comptes Azure Automation avec des identités managées affectées par l’utilisateur

Créez un runbook PowerShell sur le compte Automation. Pour obtenir des instructions, consultez Gérer les runbooks dans Azure Automation.

La première commande du runbook PowerShell doit être la Connect-ExchangeOnline... commande décrite au début de cette section. Par exemple :

Connect-ExchangeOnline -ManagedIdentity -Organization contoso.onmicrosoft.com -ManagedIdentityAccountId bf6dcc76-4331-4942-8d50-87ea41d6e8a1

Vous obtenez la valeur ManagedIdentityAccount de l’Étape 3 : Stocker l’identité managée affectée par l’utilisateur dans une variable.

Après cela, en guise de test, vous pouvez commencer avec une commande simple et à faible impact dans le runbook avant de passer à des commandes ou des scripts plus complexes. Par exemple :

Get-AcceptedDomain | Format-Table Name

Une fois que vous avez créé le runbook PowerShell, procédez comme suit pour l’exécuter à l’avenir :

  1. Dans la page Comptes Automation à l’emplacement https://portal.azure.com/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Automation%2FAutomationAccounts, sélectionnez le compte Automation.
  2. Dans le menu volant de détails qui s’ouvre, commencez à taper « Runbooks » dans l’icône Rechercher.Zone de recherche , puis sélectionnez Runbooks dans les résultats.
  3. Dans le menu volant Runbooks qui s’ouvre, sélectionnez le runbook.
  4. Dans la page de détails du runbook, sélectionnez Démarrer.

Se connecter à Exchange Online PowerShell à l’aide de machines virtuelles Azure avec des identités managées affectées par le système

Dans une fenêtre Windows PowerShell de la machine virtuelle Azure, utilisez la commande comme décrit au début de cette section. Par exemple :

$MI_ID = (Get-AzUserAssignedIdentity -Name "ContosoMI1" -ResourceGroupName "ContosoRG2").ClientId

Connect-ExchangeOnline -ManagedIdentity -Organization contoso.onmicrosoft.com -ManagedIdentityAccountId $MI_ID

Créer et configurer une identité managée affectée par le système

Voici comment procéder :

  1. (Facultatif) Créer une ressource avec une identité managée affectée par le système
  2. Stocker l’identité managée affectée par le système dans une variable
  3. Ajouter le module PowerShell Exchange Online à l’identité managée
  4. Accordez à l’API Exchange.ManageAsApp l’autorisation d’appeler Exchange Online
  5. Attribuer des rôles Microsoft Entra à l’identité managée

Une fois les étapes terminées, vous êtes prêt à vous connecter à Exchange Online PowerShell à l’aide d’une identité managée affectée par le système.

Étape 1 : Créer une ressource avec une identité managée affectée par le système

Si vous envisagez d’utiliser une ressource existante qui est déjà configurée avec une identité managée affectée par le système, vous pouvez passer à l’étape suivante. Les types de ressources suivants sont pris en charge :

  • Azure Automation comptes
  • Machines virtuelles Azure

Créer des comptes Azure Automation avec des identités managées affectées par le système

Créez un compte Automation configuré pour l’identité managée affectée par le système en suivant les instructions fournies dans Démarrage rapide : Créer un compte Automation à l’aide du Portail Azure.

Pour créer le compte Automation avec une identité managée affectée par le système dans Azure PowerShell, procédez comme suit :

  1. Connectez-vous à Azure Az PowerShell en exécutant la commande suivante :

    Connect-AzAccount
    
  2. Si nécessaire, créez un groupe de ressources Azure à utiliser avec le compte Automation en exécutant la commande suivante :

    New-AzResourceGroup -Name "<ResourceGroupName>" -Location "<Location>"
    
    • <ResourceGroupName> est le nom unique du nouveau groupe de ressources.
    • <Location> est une valeur valide de la commande : Get-AzLocation | Format-Table Name.

    Par exemple :

    New-AzResourceGroup -Name "ContosoRG" -Location "West US"
    

    Pour obtenir des instructions complètes, consultez Créer des groupes de ressources.

  3. Utilisez la syntaxe suivante pour créer un compte Automation avec une identité managée affectée par le système :

    New-AzAutomationAccount -Name "<AutomationAccountName>" -ResourceGroupName "<ResourceGroupName>" -Location "<Location>" -AssignSystemIdentity
    
    • <AutomationAccountName> est le nom unique du nouveau compte Automation.
    • <ResourceGroupName> est le nom du groupe de ressources existant que vous souhaitez utiliser. Les valeurs valides sont visibles dans la sortie de la commande : Get-AzResourceGroup.
    • <Location> est une valeur valide de la commande : Get-AzLocation | Format-Table Name.

    Par exemple :

    New-AzAutomationAccount -Name "ContosoAzAuto1" -ResourceGroupName "ContosoRG" -Location "West US" -AssignSystemIdentity
    

    Pour obtenir des informations détaillées sur la syntaxe et les paramètres, consultez New-AzAutomationAccount.

Configurer des machines virtuelles Azure avec des identités managées affectées par le système

Pour obtenir des instructions, consultez les articles suivants :

Étape 2 : Stocker l’identité managée affectée par le système dans une variable

Utilisez la syntaxe suivante pour stocker la valeur ID (GUID) de l’identité managée dans une variable que vous utiliserez dans les étapes à venir dans Azure Az PowerShell.

$MI_ID = (Get-AzADServicePrincipal -DisplayName "<ResourceName>").Id

Où <ResourceName> est le nom du compte Azure Automation ou de la machine virtuelle Azure. Par exemple :

$MI_ID = (Get-AzADServicePrincipal -DisplayName "ContosoAzAuto1").Id

Pour vérifier que la variable a été correctement capturée, exécutez la commande $MI_ID. La sortie doit être une valeur GUID (par exemple, 9f164909-3007-466e-a1fe-28d20b16e2c2).

Pour obtenir des informations détaillées sur la syntaxe et les paramètres, consultez Get-AzADServicePrincipal.

Étape 3 : Ajouter le module PowerShell Exchange Online à l’identité managée

Ajouter le module PowerShell Exchange Online pour Azure Automation comptes avec des identités managées affectées par le système

Conseil

Si la procédure suivante dans le Portail Azure ne fonctionne pas pour vous, essayez la commande New-AzAutomationModule dans Azure PowerShell qui est décrite après la procédure Portail Azure.

  1. Dans la page Comptes Automation à l’emplacement https://portal.azure.com/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Automation%2FAutomationAccounts, sélectionnez le compte Automation.

  2. Dans le menu volant de détails qui s’ouvre, commencez à taper « Modules » dans l’icône Rechercher.Zone de recherche , puis sélectionnez Modules dans les résultats.

  3. Dans le menu volant Modules qui s’ouvre, sélectionnez l’icône Ajouter un module.Ajoutez un module.

  4. Dans la page Ajouter un module qui s’ouvre, configurez les paramètres suivants :

    • Charger un fichier de module : sélectionnez Parcourir à partir de la galerie.
    • Fichier de module PowerShell : sélectionnez Cliquez ici pour parcourir à partir de la galerie :
      1. Dans la page Parcourir la galerie qui s’ouvre, commencez à taper « ExchangeOnlineManagement » dans l’icône Rechercher.Zone de recherche , appuyez sur Entrée, puis sélectionnez ExchangeOnlineManagement dans les résultats.
      2. Dans la page de détails qui s’ouvre, sélectionnez Sélectionner pour revenir à la page Ajouter un module .
    • Version du runtime : sélectionnez 5.1 ou 7.1 (préversion) . Pour ajouter les deux versions, répétez les étapes de cette section pour ajouter et sélectionner l’autre version du runtime pour le module.

    Lorsque vous avez terminé, sélectionnez Importer.

    Capture d’écran de l’ajout d’un module à un compte Automation dans le Portail Azure.

  5. De retour dans le menu volant Modules , commencez à taper « ExchangeOnlineManagement » dans l’icône Rechercher.Zone de recherche pour afficher la valeur État . Une fois l’importation du module terminée, la valeur est Disponible.

Pour ajouter le module au compte Automation dans Azure PowerShell, utilisez la syntaxe suivante :

New-AzAutomationModule -ResourceGroupName "<ResourceGroupName>" -AutomationAccountName "<AutomationAccountName>" -Name ExchangeOnlineManagement -ContentLinkUri https://www.powershellgallery.com/packages/ExchangeOnlineManagement/<LatestModuleVersion>
  • <ResourceGroupName> est le nom du groupe de ressources qui est déjà affecté au compte Automation.
  • <AutomationAccountName> est le nom du compte Automation.
  • <LatestModuleVersion> est la version actuelle du module ExchangeOnlineManagement. Pour afficher la dernière version en disponibilité générale (GA ; non préversion) du module, exécutez la commande suivante dans Windows PowerShell : Find-Module ExchangeOnlineManagement. Pour afficher la dernière préversion, exécutez la commande suivante : Find-Module ExchangeOnlineManagement -AllowPrerelease.
  • Actuellement, les procédures PowerShell ne vous permettent pas de choisir la version du runtime (il s’agit de la version 5.1).

Par exemple :

New-AzAutomationModule -ResourceGroupName "ContosoRG" -AutomationAccountName "ContosoAzAuto1" -Name ExchangeOnlineManagement -ContentLinkUri https://www.powershellgallery.com/packages/ExchangeOnlineManagement/3.1.0

Pour vérifier que le module a bien été importé, exécutez la commande suivante :

Get-AzAutomationModule -ResourceGroupName ContosoRG -AutomationAccountName ContosoAzAuto1 -Name ExchangeOnlineManagement

Pendant l’importation, la propriété ProvisioningState aura la valeur Creating. Une fois l’importation du module terminée, la valeur passe à Réussi.

Pour obtenir des informations détaillées sur la syntaxe et les paramètres, consultez New-AzAutomationModule.

Ajouter le module PowerShell Exchange Online aux machines virtuelles Azure avec des identités managées affectées par le système

Installez le module PowerShell Exchange Online dans la machine virtuelle Azure. Pour obtenir des instructions, consultez Installer et gérer le module PowerShell Exchange Online.

Étape 4 : Accorder à l’API Exchange.ManageAsApp l’autorisation d’appeler Exchange Online

Les procédures de cette étape nécessitent le Kit de développement logiciel (SDK) Microsoft Graph PowerShell. Pour obtenir des instructions d’installation, consultez Installer le Kit de développement logiciel (SDK) Microsoft Graph PowerShell.

  1. Exécutez la commande suivante pour vous connecter à Microsoft Graph PowerShell avec les autorisations requises :

    Connect-MgGraph -Scopes AppRoleAssignment.ReadWrite.All,Application.Read.All
    

    Si une boîte de dialogue Autorisations demandées s’ouvre, sélectionnez Consentement au nom de votre organization, puis cliquez sur Accepter.

  2. Exécutez la commande suivante pour vérifier que la ressource Office 365 Exchange Online est disponible dans Microsoft Entra ID :

    Get-MgServicePrincipal -Filter "AppId eq '00000002-0000-0ff1-ce00-000000000000'"
    

    Si la commande ne retourne aucun résultat, l’étape suivante ne fonctionnera pas. Consultez la sous-section à la fin de cette section pour résoudre le problème avant de continuer.

  3. Exécutez les commandes suivantes pour accorder à l’API Exchange.ManageAsApp l’autorisation d’appeler Exchange Online à l’identité managée :

    $AppRoleID = "dc50a0fb-09a3-484d-be87-e023b12c6440"
    
    $ResourceID = (Get-MgServicePrincipal -Filter "AppId eq '00000002-0000-0ff1-ce00-000000000000'").Id
    
    New-MgServicePrincipalAppRoleAssignment -ServicePrincipalId $MI_ID -PrincipalId $MI_ID -AppRoleId $AppRoleID -ResourceId $ResourceID
    
    • $MI_ID est la valeur ID (GUID) de l’identité managée que vous avez stockée dans une variable à l’étape 2.
    • $AppRoleIDest la valeur ID (GUID) de l’autorisation d’API Exchange.ManageAsApp qui est la même dans chaque organization.
    • $ResourceIDest la valeur ID (GUID) de la ressource Office 365 Exchange Online dans Microsoft Entra ID. La valeur AppId est la même dans chaque organization, mais la valeur Id est différente dans chaque organization.

Pour obtenir des informations détaillées sur la syntaxe et les paramètres, consultez les articles suivants :

Que faire si la ressource Office 365 Exchange Online n’est pas disponible dans Microsoft Entra ID

Si la commande suivante ne retourne aucun résultat :

Get-MgServicePrincipal -Filter "AppId eq '00000002-0000-0ff1-ce00-000000000000'"

Procédez comme suit :

  1. Inscrivez une application dans Microsoft Entra ID comme décrit dans Étape 1 : Inscrire l’application dans Microsoft Entra ID.
  2. Attribuez l’autorisation d’API Office 365 Exchange Online > Exchange.ManageAsApp à l’application à l’aide de la méthode « Modifier le manifeste de l’application », comme décrit dans Étape 2 : Attribuer des autorisations d’API à l’application.

Après avoir suivi ces étapes, réexécutez la commande Get-MgServicePrincipal pour vérifier que la ressource Office 365 Exchange Online est disponible dans Microsoft Entra ID.

Pour plus d’informations, exécutez la commande suivante pour vérifier que l’autorisation de l’API Exchange.ManageAsApp (dc50a0fb-09a3-484d-be87-e023b12c6440) est disponible dans la ressource Office 365 Exchange Online :

Get-MgServicePrincipal -Filter "AppId eq '00000002-0000-0ff1-ce00-000000000000'" | Select-Object -ExpandProperty AppRoles | Format-Table Value,Id

Maintenant que la ressource Office 365 Exchange Online est disponible, revenez à l’étape 4.3 de cette section.

Étape 5 : Attribuer des rôles Microsoft Entra à l’identité managée

Les rôles Microsoft Entra pris en charge sont décrits dans la liste suivante :

*Les rôles Administrateur général et Administrateur Exchange fournissent les autorisations requises pour toute tâche dans Exchange Online PowerShell. Par exemple :

  • Gestion des destinataires.
  • Fonctionnalités de sécurité et de protection. Par exemple, anti-courrier indésirable, anti-programme malveillant, anti-hameçonnage et rapports associés.

Le rôle Administrateur de la sécurité ne dispose pas des autorisations nécessaires pour ces mêmes tâches.

Pour obtenir des instructions générales sur l’attribution de rôles dans Microsoft Entra ID, consultez Attribuer des rôles Microsoft Entra aux utilisateurs.

  1. Dans centre d'administration Microsoft Entra à , commencez à https://portal.azure.com/taper rôles et administrateurs dans la zone De recherche en haut de la page, puis sélectionnez Microsoft Entra rôles et administrateurs dans les résultats de la section Services.

    Capture d’écran montrant Microsoft Entra rôles et administrateurs dans les résultats de la recherche sur la page d’accueil du Portail Azure.

    Ou, pour accéder directement à la page Microsoft Entra rôles et administrateurs, utilisez https://portal.azure.com/#view/Microsoft_AAD_IAM/AllRolesBlade.

  2. Dans la page Rôles et administrateurs, recherchez et sélectionnez l’un des rôles pris en charge en cliquant sur le nom du rôle (et non sur la zone case activée) dans les résultats. Par exemple, recherchez et sélectionnez le rôle Administrateur Exchange .

    Trouvez et sélectionnez un rôle PowerShell Exchange Online pris en charge en cliquant sur le nom du rôle.

  3. Dans la page Affectations qui s’ouvre, sélectionnez Ajouter des affectations.

    Sélectionnez Ajouter des attributions dans la page attributions de rôles pour Exchange Online PowerShell.

  4. Dans le menu volant Ajouter des affectations qui s’ouvre, recherchez et sélectionnez l’identité managée que vous avez créée ou identifiée à l’étape 1.

    Lorsque vous avez terminé, sélectionnez Ajouter.

  5. De retour dans la page Affectations , vérifiez que le rôle a été attribué à l’identité managée.

Pour attribuer un rôle à l’identité managée dans Microsoft Graph PowerShell, procédez comme suit :

  1. Exécutez la commande suivante pour vous connecter à Microsoft Graph PowerShell avec les autorisations requises :

    Connect-MgGraph -Scopes RoleManagement.ReadWrite.Directory
    

    Si une boîte de dialogue Autorisations demandées s’ouvre, sélectionnez Consentement au nom de votre organization, puis cliquez sur Accepter.

  2. Utilisez la syntaxe suivante pour attribuer le rôle Microsoft Entra requis à l’identité managée :

    $RoleID = (Get-MgRoleManagementDirectoryRoleDefinition -Filter "DisplayName eq '<Role Name>'").Id
    
    New-MgRoleManagementDirectoryRoleAssignment -PrincipalId $MI_ID -RoleDefinitionId $RoleID -DirectoryScopeId "/"
    
    • <Le nom> du rôle est le nom du rôle Microsoft Entra, comme indiqué plus haut dans cette section.
    • $MI_ID est la valeur ID (GUID) de l’identité managée que vous avez stockée dans une variable à l’étape 2.

    Par exemple :

    $RoleID = (Get-MgRoleManagementDirectoryRoleDefinition -Filter "DisplayName eq 'Exchange Administrator'").Id
    
    New-MgRoleManagementDirectoryRoleAssignment -PrincipalId $MI_ID -RoleDefinitionId $RoleID -DirectoryScopeId "/"
    

Pour obtenir des informations détaillées sur la syntaxe et les paramètres, consultez les articles suivants :

Créer et configurer une identité managée affectée par l’utilisateur

Voici comment procéder :

  1. (Facultatif) Créer une identité managée affectée par l’utilisateur
  2. (Facultatif) Créer une ressource avec une identité managée affectée par l’utilisateur
  3. Stocker l’identité managée affectée par l’utilisateur dans une variable
  4. Ajouter le module PowerShell Exchange Online à l’identité managée
  5. Accordez à l’API Exchange.ManageAsApp l’autorisation d’appeler Exchange Online
  6. Attribuer des rôles Microsoft Entra à l’identité managée

Une fois les étapes terminées, vous êtes prêt à vous connecter à Exchange Online PowerShell à l’aide d’une identité managée affectée par l’utilisateur.

Étape 1 : Créer une identité managée affectée par l’utilisateur

Si vous disposez déjà d’une identité managée affectée par l’utilisateur existante que vous allez utiliser, vous pouvez passer à l’étape suivante pour créer une ressource avec l’identité managée affectée par l’utilisateur.

Sinon, créez l’identité managée affectée par l’utilisateur dans le Portail Azure en suivant les instructions fournies dans Créer une identité managée affectée par l’utilisateur.

Pour créer l’identité managée affectée par l’utilisateur dans Azure PowerShell, procédez comme suit :

  1. Connectez-vous à Azure Az PowerShell en exécutant la commande suivante :

    Connect-AzAccount
    
  2. Si nécessaire, créez un groupe de ressources Azure à utiliser avec l’identité managée affectée par l’utilisateur en exécutant la commande suivante :

    New-AzResourceGroup -Name "<ResourceGroupName>" -Location "<Location>"
    
    • <ResourceGroupName> est le nom unique du nouveau groupe de ressources.
    • <Location> est une valeur valide de la commande : Get-AzLocation | Format-Table Name.

    Par exemple :

    New-AzResourceGroup -Name "ContosoRG2" -Location "West US"
    

    Pour obtenir des instructions complètes, consultez Créer des groupes de ressources.

  3. Utilisez la syntaxe suivante pour créer une identité managée affectée par l’utilisateur :

    New-AzUserAssignedIdentity -Name "<UserAssignedManagedIdentityName>" -ResourceGroupName "<ResourceGroupName>" -Location "<Location>"
    
    • <UserAssignedManagedIdentityName> est le nom unique de l’identité managée affectée par l’utilisateur.
    • <ResourceGroupName> est le nom du groupe de ressources existant que vous souhaitez utiliser. Les valeurs valides sont visibles dans la sortie de la commande : Get-AzResourceGroup.
    • <Location> est une valeur valide de la commande : Get-AzLocation | Format-Table Name.

    Par exemple :

    New-AzUserAssignedIdentity -Name "ContosoMI1" -ResourceGroupName "ContosoRG2" -Location "West US"
    

    Pour obtenir des informations détaillées sur la syntaxe et les paramètres, consultez New-AzUserAssignedIdentity.

Étape 2 : Créer une ressource avec une identité managée affectée par l’utilisateur

Si vous envisagez d’utiliser une ressource existante déjà configurée avec une identité managée affectée par l’utilisateur, vous pouvez passer à l’étape suivante. Les types de ressources suivants sont pris en charge :

  • Azure Automation comptes
  • Azure Machines Virtuelles (machines virtuelles)

Créer des comptes Azure Automation avec des identités managées affectées par l’utilisateur

Créez un compte Automation configuré pour l’identité managée affectée par l’utilisateur en suivant les instructions fournies dans Démarrage rapide : Créer un compte Automation à l’aide du Portail Azure.

Pour créer le compte Automation avec une identité managée affectée par l’utilisateur dans Azure PowerShell, procédez comme suit :

  1. Connectez-vous à Azure Az PowerShell en exécutant la commande suivante :

    Connect-AzAccount
    
  2. Utilisez la syntaxe suivante pour créer un compte Automation avec une identité managée affectée par l’utilisateur :

    $UAMI = (Get-AzUserAssignedIdentity -Name "<UserAssignedMI>" -ResourceGroupName "<MIResourceGroupName>").Id
    
    New-AzAutomationAccount -Name "<AutomationAccountName>" -ResourceGroupName "<ResourceGroupName>" -Location "<Location>" -AssignUserIdentity $UAMI
    
    • <UserAssignedMI> est le nom de l’identité managée affectée par l’utilisateur que vous souhaitez utiliser.
    • <MIResourceGroupName> est le nom du groupe de ressources affecté à l’identité managée affectée par l’utilisateur. Les valeurs valides sont visibles dans la sortie de la commande : Get-AzResourceGroup.
    • <AutomationAccountName> est le nom unique du nouveau compte Automation.
    • <ResourceGroupName> est le nom du groupe de ressources que vous souhaitez utiliser, qui peut avoir la même valeur que <MIResourceGroupName>.
    • <Location> est une valeur valide de la commande : Get-AzLocation | Format-Table Name.

    Par exemple :

    $UAMI = (Get-AzUserAssignedIdentity -Name "ContosoMI1" -ResourceGroupName "ContosoRG2").Id
    
    New-AzAutomationAccount -Name "ContosoAzAuto2" -ResourceGroupName "ContosoRG2" -Location "West US" -AssignUserIdentity $UAMI
    

    Pour obtenir des informations détaillées sur la syntaxe et les paramètres, consultez New-AzAutomationAccount.

Configurer des machines virtuelles Azure avec des identités managées affectées par l’utilisateur

Pour obtenir des instructions, consultez les articles suivants :

Étape 3 : Stocker l’identité managée affectée par l’utilisateur dans une variable

Utilisez la syntaxe suivante dans Azure Az PowerShell pour stocker la valeur ClientId de l’identité managée affectée par l’utilisateur dans la variable que vous utiliserez dans les étapes à venir :

$MI_ID = (Get-AzUserAssignedIdentity -Name "<UserAssignedMI>" -ResourceGroupName "<MIResourceGroupName>").ClientId
  • <UserAssignedMI> est le nom de l’identité managée affectée par l’utilisateur.
  • <MIResourceGroupName> est le nom du groupe de ressources associé à l’identité managée affectée par l’utilisateur.

Par exemple :

$MI_ID = (Get-AzUserAssignedIdentity -Name "ContosoMI1" -ResourceGroupName "ContosoRG2").ClientId

Pour vérifier que la variable a été correctement capturée, exécutez la commande $MI_ID. La sortie doit être une valeur GUID (par exemple, bf6dcc76-4331-4942-8d50-87ea41d6e8a1).

Pour obtenir des informations détaillées sur la syntaxe et les paramètres, consultez Get-AzUserAssignedIdentity.

Étape 4 : Ajouter le module PowerShell Exchange Online à l’identité managée

Les étapes de l’identité managée affectée par l’utilisateur sont les mêmes que dans Identité managée affectée par le système à l’étape 3.

Remarque

Veillez à utiliser les valeurs correctes pour le nom du groupe de ressources et le nom du compte Automation .

Étape 5 : Accordez à l’API Exchange.ManageAsApp l’autorisation d’appeler Exchange Online

Les étapes pour l’identité managée affectée par l’utilisateur sont les mêmes que dans Identité managée affectée par le système à l’étape 4.

Bien que les valeurs d’identité managée aient été obtenues différemment pour les valeurs affectées par l’utilisateur et affectées par le système, nous utilisons le même nom de variable dans la commande ($MI_ID). La commande fonctionne donc pour les deux types d’identités managées.

Étape 6 : Attribuer des rôles Microsoft Entra à l’identité managée

Les étapes de l’identité managée affectée par l’utilisateur sont essentiellement les mêmes que dans identité managée affectée par le système Étape 5.

Dans le Portail Azure, veillez à sélectionner l’identité managée affectée par l’utilisateur comme identité managée à laquelle attribuer le rôle Microsoft Entra (pas le compte Automation lui-même).

La commande PowerShell fonctionne pour les identités managées affectées par l’utilisateur et par le système. Bien que les valeurs d’identité managée aient été obtenues différemment pour les valeurs affectées par l’utilisateur et affectées par le système, nous utilisons le même nom de variable dans la commande ($MI_ID).