Configurer des identités managées pour ressources Azure sur une machine virtuelle Azure en utilisant PowerShell
Les identités managées pour les ressources Azure sont une fonctionnalité de Microsoft Entra ID. Les services Azure prenant en charge les identités managées pour ressources Azure sont soumis à leur propre chronologie. Assurez-vous de passer en revue l’état Disponibilité des identités gérées pour votre ressource et les problèmes connus avant de commencer.
Les identités managées pour les ressources Azure fournissent aux services Azure une identité automatiquement gérée dans Microsoft Entra ID. Vous pouvez utiliser cette identité pour vous authentifier auprès de n’importe quel service prenant en charge l’authentification Microsoft Entra, sans avoir d’informations d’identification dans votre code.
Cet article explique comment effectuer les opérations suivantes d’identités managées pour ressources Azure sur une machine virtuelle Azure en utilisant PowerShell.
Notes
Nous vous recommandons d’utiliser le module Azure Az PowerShell pour interagir avec Azure. Pour commencer, consultez Installer Azure PowerShell. Pour savoir comment migrer vers le module Az PowerShell, consultez Migrer Azure PowerShell depuis AzureRM vers Az.
Prérequis
- Si vous n’êtes pas familiarisé avec les identités managées pour ressources Azure, consultez la section Vue d’ensemble. Veillez à consulter la différence entre les identités managées affectées par le système et celles affectées par l’utilisateur .
- Si vous n’avez pas encore de compte Azure, inscrivez-vous à un essai gratuit avant de continuer.
- Pour exécuter les exemples de scripts, vous avez deux options :
- Utiliser Azure Cloud Shell, que vous pouvez ouvrir en utilisant le bouton Essayer dans le coin supérieur droit des blocs de code.
- Exécuter les scripts localement en installant la dernière version d’Azure PowerShell, puis en vous connectant à Azure en utilisant
Connect-AzAccount
.
Identité managée affectée par le système
Dans cette section, vous allez apprendre à activer et désactiver l’identité managée affectée par le système en utilisant Azure PowerShell.
Activer une identité managée affectée par le système lors de la création d’une machine virtuelle Azure
Pour créer une machine virtuelle Azure avec l’identité managée affectée par le système sur une machine virtuelle, votre compte a besoin de l’affectation de rôle Contributeur de machine virtuelle. Aucune autre attribution de rôle de répertoire Microsoft Entra n’est requise.
Consultez l’un des démarrages rapides de machine virtuelle Azure suivants, en ne complétant que les sections nécessaires (« Se connecter à Azure », « Créer un groupe de ressources », « Créer un groupe de mise en réseau », « Créer la machine virtuelle »).
Lorsque vous accédez à la section « Créer la machine virtuelle », apportez une légère modification à la syntaxe de l’applet de commande New-AzVMConfig. Veillez à ajouter un paramètre
-IdentityType SystemAssigned
afin d’approvisionner la machine virtuelle avec l’identité affectée par le système activée, par exemple :$vmConfig = New-AzVMConfig -VMName myVM -IdentityType SystemAssigned ...
Activer une identité managée affectée par le système sur une machine virtuelle Azure existante
Pour activer l’identité managée affectée par le système sur une machine virtuelle qui en était dépourvue initialement, votre compte a besoin de l’affectation de rôle Contributeur d’identité managée. Aucune autre attribution de rôle de répertoire Microsoft Entra n’est requise.
Récupérez les propriétés de la machine virtuelle à l’aide de l’applet de commande
Get-AzVM
. Ensuite, pour activer une identité managée affectée par le système, utilisez le commutateur-IdentityType
avec l’applet de commande Update-AzVM :$vm = Get-AzVM -ResourceGroupName myResourceGroup -Name myVM Update-AzVM -ResourceGroupName myResourceGroup -VM $vm -IdentityType SystemAssigned
Ajoutez l’identité attribuée par le système d’une machine virtuelle à un groupe
Après avoir activé l'identité attribuée par le système sur une machine virtuelle, vous pouvez l’ajouter à un groupe. La procédure suivante permet d'ajouter une identité attribuée par le système à un groupe.
Récupérez et notez le
ObjectID
(comme spécifié dans le champId
des valeurs renvoyées) du principal de service de la machine virtuelle :Get-AzADServicePrincipal -displayname "myVM"
Récupérez et notez le
ObjectID
(comme spécifié dans le champId
des valeurs renvoyées) du groupe :Get-AzADGroup -searchstring "myGroup"
Ajouter le principal de service de la machine virtuelle au groupe :
New-MgGroupMember -GroupId "<Id of group>" -DirectoryObjectId "<Id of VM service principal>"
Désactiver une identité managée affectée par le système d’une machine virtuelle Azure
Pour désactiver l’identité managée affectée par le système sur une machine virtuelle, votre compte a besoin de l’affectation de rôle Contributeur d’identité managée. Aucune autre attribution de rôle de répertoire Microsoft Entra n’est requise.
Si vous disposez d’une machine virtuelle qui n’a plus besoin de l’identité managée affectée par le système, mais qui a toujours besoin d’identités managées affectées par l’utilisateur, utilisez l’applet de commande suivante :
Récupérez les propriétés de la machine virtuelle à l’aide de l’applet de commande
Get-AzVM
et définissez le paramètre-IdentityType
surUserAssigned
:$vm = Get-AzVM -ResourceGroupName myResourceGroup -Name myVM Update-AzVm -ResourceGroupName myResourceGroup -VM $vm -IdentityType "UserAssigned" -IdentityID "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/<RESROURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>..."
Si vous disposez d’une machine virtuelle qui n’a plus besoin de l’identité managée affectée par le système et qui n’a pas d’identité managée affectée par l’utilisateur, utilisez les commandes suivantes :
$vm = Get-AzVM -ResourceGroupName myResourceGroup -Name myVM
Update-AzVm -ResourceGroupName myResourceGroup -VM $vm -IdentityType None
Identité managée affectée par l’utilisateur
Dans cette section, vous allez découvrir comment ajouter et supprimer une identité managée affectée par l’utilisateur sur une machine virtuelle en utilisant Azure PowerShell.
Attribuer une identité managée affectée par l’utilisateur à une machine virtuelle lors de sa création
Pour affecter une identité managée affectée par l’utilisateur à une machine virtuelle, votre compte a besoin de l’affectation de rôle Opérateur d’identité managée et Contributeur d’identité managée. Aucune autre attribution de rôle de répertoire Microsoft Entra n’est requise.
Consultez l’un des démarrages rapides de machine virtuelle Azure suivants, en ne complétant que les sections nécessaires (« Se connecter à Azure », « Créer un groupe de ressources », « Créer un groupe de mise en réseau », « Créer la machine virtuelle »).
Quand vous parvenez à la section « Créer la machine virtuelle », apportez une légère modification à la syntaxe de l’applet de commande
New-AzVMConfig
. Ajoutez les paramètres-IdentityType UserAssigned
et-IdentityID
pour approvisionner la machine virtuelle avec une identité affectée par l’utilisateur. Remplacez<VM NAME>
,<SUBSCRIPTION ID>
,<RESROURCE GROUP>
et<USER ASSIGNED IDENTITY NAME>
par vos propres valeurs. Par exemple :$vmConfig = New-AzVMConfig -VMName <VM NAME> -IdentityType UserAssigned -IdentityID "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/<RESROURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>..."
Attribuer une identité managée affectée par l’utilisateur à une machine virtuelle Azure existante
Pour affecter une identité managée affectée par l’utilisateur à une machine virtuelle, votre compte a besoin de l’affectation de rôle Opérateur d’identité managée et Contributeur d’identité managée. Aucune autre attribution de rôle de répertoire Microsoft Entra n’est requise.
Créez une identité managée affectée par l’utilisateur en utilisant l’applet de commande New-AzUserAssignedIdentity. Notez le
Id
fourni dans la sortie, car vous aurez besoin de ces informations à l’étape suivante.Important
La création d’identités managées affectées par l’utilisateur prend uniquement en charge les caractères alphanumériques, les traits de soulignement et les traits d’union (0-9, a-z, A-Z, _ ou -). De plus, le nom doit être limité entre 3 et 128 caractères pour que l’attribution à la machine virtuelle/au groupe de machines virtuelles identiques (VMSS) fonctionne correctement. Pour plus d’informations, voir FAQ et problèmes connus.
New-AzUserAssignedIdentity -ResourceGroupName <RESOURCEGROUP> -Name <USER ASSIGNED IDENTITY NAME>
Récupérez les propriétés de la machine virtuelle à l’aide de l’applet de commande
Get-AzVM
. Ensuite, pour attribuer une identité managée affectée par l’utilisateur à la machine virtuelle Azure, utilisez les commutateurs-IdentityType
et-IdentityID
avec l’applet de commande Update-AzVM. La valeur du paramètre-IdentityId
est la valeurId
que vous avez notée à l’étape précédente. Remplacez<VM NAME>
,<SUBSCRIPTION ID>
,<RESROURCE GROUP>
et<USER ASSIGNED IDENTITY NAME>
par vos propres valeurs.Avertissement
Pour conserver les identités managées précédemment affectées par l’utilisateur à la machine virtuelle, effectuez une requête sur la propriété
Identity
de l’objet machine virtuelle (par exemple,$vm.Identity
). Si de telles identités managées sont retournées, ajoutez-les à la commande suivante, avec la nouvelle identité managée affectée par l’utilisateur que vous souhaitez affecter à la machine virtuelle.$vm = Get-AzVM -ResourceGroupName <RESOURCE GROUP> -Name <VM NAME> Update-AzVM -ResourceGroupName <RESOURCE GROUP> -VM $vm -IdentityType UserAssigned -IdentityID "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/<RESROURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>"
Supprimer une identité managée affectée par l’utilisateur d’une machine virtuelle Azure
Pour supprimer une identité affectée par l’utilisateur à une machine virtuelle, votre compte a besoin de l’affectation de rôle Contributeur d’identité managée.
Si votre machine virtuelle a plusieurs identités managées affectées par l’utilisateur, vous pouvez les supprimer toutes sauf la dernière à l’aide des commandes suivantes. N’oubliez pas de remplacer les valeurs des paramètres <RESOURCE GROUP>
et <VM NAME>
par vos propres valeurs. <USER ASSIGNED IDENTITY NAME>
est la propriété de nom de l’identité managée affectée par l’utilisateur, qui doit rester sur la machine virtuelle. Ces informations sont détectables à l’aide d’une requête pour rechercher la Identity
propriété de l’objet de machine virtuelle. Par exemple, $vm.Identity
:
$vm = Get-AzVm -ResourceGroupName myResourceGroup -Name myVm
Update-AzVm -ResourceGroupName myResourceGroup -VirtualMachine $vm -IdentityType UserAssigned -IdentityID <USER ASSIGNED IDENTITY NAME>
En l’absence d’identité managée affectée par le système sur votre machine virtuelle, et si vous souhaitez supprimer toutes les identités managées affectées par l’utilisateur, utilisez la commande suivante :
$vm = Get-AzVm -ResourceGroupName myResourceGroup -Name myVm
Update-AzVm -ResourceGroupName myResourceGroup -VM $vm -IdentityType None
Si votre machine virtuelle dispose d’identités managées affectées tant par le système que par l’utilisateur, vous pouvez supprimer toutes les identités managées affectées par l’utilisateur en choisissant de n’utiliser que l’identité managée affectée par le système.
$vm = Get-AzVm -ResourceGroupName myResourceGroup -Name myVm
Update-AzVm -ResourceGroupName myResourceGroup -VirtualMachine $vm -IdentityType "SystemAssigned"
Étapes suivantes
Vue d’ensemble des identités managées pour les ressources Azure
Pour obtenir les guides de démarrages rapides complets sur la création de machines virtuelles Azure, consultez :