Configurer des identités managées sur des machines virtuelles (VM) Azure
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.
Pour plus d’informations sur la définition et les détails d’Azure Policy, consultez Utiliser Azure Policy pour affecter des identités managées (préversion).
Dans cet article, vous allez apprendre à activer et à désactiver des identités managées affectées par le système et par l’utilisateur pour une machine virtuelle Azure en utilisant le portail Microsoft Azure.
Conditions préalables requises
- Si vous n’êtes pas familiarisé avec les identités managées pour ressources Azure, consultez la section Vue d’ensemble.
- Si vous n’avez pas encore de compte Azure, inscrivez-vous à un essai gratuit avant de continuer.
Identité managée affectée par le système
Dans cette section, vous allez découvrir comment activer et désactiver l’identité affectée par le système pour une machine virtuelle en utilisant le portail Microsoft Azure.
Activer une identité managée affectée par le système lors de la création d’une machine virtuelle
Pour activer l’identité managée affectée par le système sur une machine virtuelle durant sa création, 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.
- Sous l’onglet Gestion dans la section Identité, basculez le commutateur Identité du service managé sur Activé.
Pour créer une machine virtuelle, consultez les Démarrages rapides suivants :
- Créer une machine virtuelle Windows avec le portail Azure
- Créer une machine virtuelle Linux avec le portail Azure
Activer une identité managée affectée par le système sur une machine virtuelle existante
Conseil
Les étapes décrites dans cet article peuvent varier légèrement en fonction du portail de départ.
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.
Connectez-vous au portail Azure à l’aide d’un compte associé à l’abonnement Azure qui contient la machine virtuelle.
Accédez à la machine virtuelle souhaitée et sélectionnez Identité.
Sous Attribuée par le système, État, sélectionnez Activé puis cliquez sur Enregistrer :
Supprimer une identité managée affectée par le système d’une machine virtuelle
Pour supprimer l’identité managée affectée par le système d’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 d’identité managée affectée par le système :
Connectez-vous au portail Azure à l’aide d’un compte associé à l’abonnement Azure qui contient la machine virtuelle.
Accédez à la machine virtuelle souhaitée et sélectionnez Identité.
Sous Attribuée par le système, État, sélectionnez Désactivé puis cliquez sur Enregistrer :
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 le portail Azure.
Attribuer une identité affectée par l’utilisateur lors de la création d’une machine virtuelle
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.
Actuellement, le portail Microsoft Azure ne prend pas en charge l’attribution d’une identité managée affectée par l’utilisateur lors de la création d’une machine virtuelle. Au lieu de cela, reportez-vous à l’un des articles de démarrage rapide suivants pour créer une machine virtuelle, puis passez à la section suivante pour obtenir des informations détaillées sur l’attribution d’une identité managée affectée par l’utilisateur à la machine virtuelle :
- Créer une machine virtuelle Windows avec le portail Azure
- Créer une machine virtuelle Linux avec le portail Azure
Attribuer une identité managée affectée par l’utilisateur à une machine virtuelle 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.
Connectez-vous au portail Azure à l’aide d’un compte associé à l’abonnement Azure qui contient la machine virtuelle.
Accédez à la machine virtuelle souhaitée, cliquez sur Identité, Attribuée par l’utilisateur, puis sur +Ajouter.
Cliquez sur l’identité managée affectée par l’utilisateur que vous souhaitez ajouter à la machine virtuelle, puis cliquez sur Ajouter.
Supprimer une identité managée affectée par l’utilisateur d’une machine virtuelle
Pour supprimer une identité affectée par l’utilisateur d’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.
Connectez-vous au portail Azure à l’aide d’un compte associé à l’abonnement Azure qui contient la machine virtuelle.
Accédez à la machine virtuelle souhaitée, sélectionnez Identité, Affectée par l’utilisateur, sélectionnez le nom de l’identité managée affectée par l’utilisateur que vous voulez supprimer, puis cliquez sur Supprimer (cliquez sur Oui dans le volet de confirmation).
Étapes suivantes
- Utilisez le portail Azure pour accorder à une identité managée de machine virtuelle Azure l’accès à une autre ressource Azure.
Cet article explique comment effectuer les opérations suivantes d’identités managées pour ressources Azure sur une machine virtuelle Azure en utilisant Azure CLI :
- Activer et désactiver l’identité managée affectée par le système sur une machine virtuelle Azure
- Ajouter et supprimer une identité managée affectée par l’utilisateur sur une machine virtuelle Azure
Si vous n’avez pas encore de compte Azure, inscrivez-vous à un essai gratuit avant de continuer.
Prérequis
- Si vous n’êtes pas familiarisé avec les identités managées pour les ressources Azure, consultez Que sont les identités managées pour les ressources Azure ? Pour en savoir plus sur les types d’identités managées affectées par le système et par l’utilisateur, consultez Types d’identités managées.
Utilisez l’environnement Bash dans Azure Cloud Shell. Pour plus d’informations, consultez Démarrage rapide pour Bash dans Azure Cloud Shell.
Si vous préférez exécuter les commandes de référence de l’interface de ligne de commande localement, installez l’interface Azure CLI. Si vous exécutez sur Windows ou macOS, envisagez d’exécuter Azure CLI dans un conteneur Docker. Pour plus d’informations, consultez Guide pratique pour exécuter Azure CLI dans un conteneur Docker.
Si vous utilisez une installation locale, connectez-vous à Azure CLI à l’aide de la commande az login. Pour finir le processus d’authentification, suivez les étapes affichées dans votre terminal. Pour connaître les autres options de connexion, consultez Se connecter avec Azure CLI.
Lorsque vous y êtes invité, installez l’extension Azure CLI lors de la première utilisation. Pour plus d’informations sur les extensions, consultez Utiliser des extensions avec Azure CLI.
Exécutez az version pour rechercher la version et les bibliothèques dépendantes installées. Pour effectuer une mise à niveau vers la dernière version, exécutez az upgrade.
Identité managée affectée par le système
Dans cette section, vous allez découvrir comment activer et désactiver l’identité managée affectée par le système sur une machine virtuelle Azure en utilisant Azure CLI.
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.
Créez un groupe de ressources pour l’imbrication et le déploiement de votre machine virtuelle et de ses ressources connexes, à l’aide de la commande az group create. Vous pouvez ignorer cette étape si vous possédez déjà le groupe de ressources que vous souhaitez utiliser à la place :
az group create --name myResourceGroup --location westus
Créez une machine virtuelle à l’aide de la commande az vm create. L’exemple suivant crée une machine virtuelle nommée myVM avec une identité managée affectée par le système, comme le demande le paramètre
--assign-identity
avec--role
et--scope
spécifiés. Les paramètres--admin-username
et--admin-password
spécifient le nom d’utilisateur et le mot de passe d’administration du compte pour la connexion à la machine virtuelle. Mettez à jour ces valeurs en fonction de votre environnement :az vm create --resource-group myResourceGroup --name myVM --image win2016datacenter --generate-ssh-keys --assign-identity --role contributor --scope mySubscription --admin-username azureuser --admin-password myPassword12
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, 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 utilisez l’interface de ligne de commande Azure dans une console locale, commencez par vous connecter à Azure avec az login. Utilisez un compte associé à l’abonnement Azure qui contient la machine virtuelle.
az login
Utilisez az vm identity assign avec la commande
identity assign
pour activer l’identité affectée par le système sur une machine virtuelle existante :az vm identity assign -g myResourceGroup -n myVm
Désactiver l’identité 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é affectée par le système, mais a toujours besoin d’identités affectées par l’utilisateur, utilisez la commande suivante :
az vm update -n myVM -g myResourceGroup --set identity.type='UserAssigned'
Si vous disposez d’une machine virtuelle qui n’a plus besoin d’identité affectée par le système et qui n’a pas d’identité affectée par l’utilisateur, utilisez la commande suivante :
Notes
La valeur none
est sensible à la casse. Elle doit être en minuscules.
az vm update -n myVM -g myResourceGroup --set identity.type="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 Azure en utilisant Azure CLI. Si vous créez votre identité managée affectée par l’utilisateur dans un autre groupe de ressources que votre machine virtuelle. Vous devrez utiliser l’URL de votre identité managée pour l’affecter à votre machine virtuelle. Par exemple :
--identities "/subscriptions/<SUBID>/resourcegroups/<RESROURCEGROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER_ASSIGNED_ID_NAME>"
Attribuer une identité managée affectée par l’utilisateur lors de la création d’une machine virtuelle Azure
Pour affecter une identité managée affectée par l’utilisateur à une machine virtuelle lors de sa création, 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.
Vous pouvez ignorer cette étape si vous disposez déjà d’un groupe de ressources que vous souhaitez utiliser. Créez un groupe de ressources pour contenir et déployer votre identité managée affectée par l’utilisateur en utilisant la commande az group create. N’oubliez pas de remplacer les valeurs des paramètres
<RESOURCE GROUP>
et<LOCATION>
par vos propres valeurs. :az group create --name <RESOURCE GROUP> --location <LOCATION>
Créez une identité managée affectée par l’utilisateur en utilisant la commande az identity create. Le paramètre
-g
spécifie le groupe de ressources où l’identité managée affectée par l’utilisateur est créée, et le paramètre-n
spécifie son nom.Important
Quand vous créez des identités managées affectées par l’utilisateur, le nom doit commencer par une lettre ou un chiffre, et peut inclure une combinaison de caractères alphanumériques, de traits d’union (-) et de traits de soulignement (_). Pour que l’attribution à une machine virtuelle ou à un groupe de machines virtuelles identiques fonctionne correctement, le nom est limité à 24 caractères. Pour plus d’informations, voir FAQ et problèmes connus.
az identity create -g myResourceGroup -n myUserAssignedIdentity
La réponse contient les détails de l’identité managée affectée par l’utilisateur qui a été créée, comme dans l’exemple suivant. La valeur d’ID de ressource attribuée à l’identité managée affectée par l’utilisateur est utilisée à l’étape suivante.
{ "clientId": "00001111-aaaa-2222-bbbb-3333cccc4444", "clientSecretUrl": "https://control-westcentralus.identity.azure.net/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<myUserAssignedIdentity>/credentials?tid=5678&oid=9012&aid=00001111-aaaa-2222-bbbb-3333cccc4444", "id": "/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>", "location": "westcentralus", "name": "<USER ASSIGNED IDENTITY NAME>", "principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222", "resourceGroup": "<RESOURCE GROUP>", "tags": {}, "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee", "type": "Microsoft.ManagedIdentity/userAssignedIdentities" }
Créez une machine virtuelle à l’aide de la commande az vm create. L’exemple suivant crée une machine virtuelle associée à la nouvelle identité managée affectée par l’utilisateur, tel que spécifiée par le paramètre
--assign-identity
avec--role
et--scope
spécifiés. N’oubliez pas de remplacer les paramètres<RESOURCE GROUP>
,<VM NAME>
,<USER NAME>
,<PASSWORD>
,<USER ASSIGNED IDENTITY NAME>
,<ROLE>
et<SUBSCRIPTION>
par vos propres valeurs.az vm create --resource-group <RESOURCE GROUP> --name <VM NAME> --image <SKU linux image> --admin-username <USER NAME> --admin-password <PASSWORD> --assign-identity <USER ASSIGNED IDENTITY NAME> --role <ROLE> --scope <SUBSCRIPTION>
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é attribuée à l’utilisateur avec la commande az identity create. Le paramètre
-g
spécifie le groupe de ressources où l’identité managée affectée par l’utilisateur est créée, et le paramètre-n
spécifie son nom. N’oubliez pas de remplacer les valeurs des paramètres<RESOURCE GROUP>
et<USER ASSIGNED IDENTITY NAME>
par vos propres valeurs :Important
La création d’identités managées affectées par l’utilisateur avec des caractères spéciaux (à savoir un trait de soulignement) dans le nom n’est pas prise en charge actuellement. Utilisez des caractères alphanumériques. Revenez ultérieurement pour des mises à jour. Pour plus d’informations, voir FAQ et problèmes connus.
az identity create -g <RESOURCE GROUP> -n <USER ASSIGNED IDENTITY NAME>
La réponse contient les détails de l’identité managée affectée par l’utilisateur qui a été créée, comme dans l’exemple suivant.
{ "clientId": "00001111-aaaa-2222-bbbb-3333cccc4444", "clientSecretUrl": "https://control-westcentralus.identity.azure.net/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>/credentials?tid=5678&oid=9012&aid=00001111-aaaa-2222-bbbb-3333cccc4444", "id": "/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>", "location": "westcentralus", "name": "<USER ASSIGNED IDENTITY NAME>", "principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222", "resourceGroup": "<RESOURCE GROUP>", "tags": {}, "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee", "type": "Microsoft.ManagedIdentity/userAssignedIdentities" }
Attribuez l’identité managée affectée par l’utilisateur à votre machine virtuelle en utilisant la commande az vm identity assign. 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éname
de ressource de l’identité managée affectée par l’utilisateur, telle que créée à l’étape précédente. Si vous avez créé votre identité managée affectée par l’utilisateur dans un autre groupe de ressources que votre machine virtuelle. Vous devrez utiliser l’URL de votre identité managée.az vm identity assign -g <RESOURCE GROUP> -n <VM NAME> --identities <USER ASSIGNED IDENTITY>
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.
S’il s’agit de la seule identité managée affectée par l’utilisateur attribuée à la machine virtuelle, UserAssigned
est supprimé de la valeur du type d’identité. N’oubliez pas de remplacer les valeurs des paramètres <RESOURCE GROUP>
et <VM NAME>
par vos propres valeurs. <USER ASSIGNED IDENTITY>
sera la propriété name
de l’identité managée affectée par l’utilisateur, qui est accessible dans la section identity de la machine virtuelle en utilisant la commande az vm identity show
:
az vm identity remove -g <RESOURCE GROUP> -n <VM NAME> --identities <USER ASSIGNED IDENTITY>
Si votre machine virtuelle ne dispose pas d’une identité managée affectée par le système, et si vous souhaitez supprimer toutes les identités affectées par l’utilisateur, utilisez la commande suivante :
Notes
La valeur none
est sensible à la casse. Elle doit être en minuscules.
az vm update -n myVM -g myResourceGroup --set identity.type="none" identity.userAssignedIdentities=null
Si votre machine virtuelle dispose d’une identité affectées par le système et d’identité affectées par l’utilisateur, vous pouvez supprimer toutes les identités affectées par l’utilisateur en choisissant de n’utiliser que l’identité affectée par le système. Utilisez la commande suivante :
az vm update -n myVM -g myResourceGroup --set identity.type='SystemAssigned' identity.userAssignedIdentities=null
É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 :
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> # Get the list of existing identity IDs and then append to it $identityIds = $vm.Identity.UserAssignedIdentities.Keys $uid = "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/<RESROURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>" $identityIds = $identityIds + $uid # Update the VM with added identity IDs Update-AzVM -ResourceGroupName <RESOURCE GROUP> -VM $vm -IdentityType UserAssigned -IdentityID $uid
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 :
Dans cet article, en utilisant le modèle de déploiement Azure Resource Manager, vous allez apprendre à effectuer les opérations suivantes d’identités managées pour ressources Azure sur une machine virtuelle Azure :
Prérequis
- Si vous n’êtes pas familiarisé avec l’utilisation d’un modèle de déploiement Azure Resource Manager, voir 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.
Modèles Microsoft Azure Resource Manager
Comme pour le portail Azure et le script, les modèles Azure Resource Manager offrent la possibilité de déployer des ressources nouvelles ou modifiées définies par un groupe de ressources Azure. Plusieurs options sont disponibles pour la modification du modèle et le déploiement, à la fois localement et sur le portail, y compris :
- Utiliser un modèle personnalisé à partir de Place de marché Azure, lequel vous permet de créer un modèle à partir de zéro, ou à partir d’un modèle commun existant ou d’un modèle de démarrage rapide.
- Dériver à partir d’un groupe de ressources existant, en exportant un modèle à partir du déploiement d’origine, ou à partir de l’état actuel du déploiement.
- Utilisation d’un éditeur local JSON (VS Code, par exemple), puis téléchargement/déploiement à l’aide de PowerShell ou Azure CLI.
- Utilisez le projet de groupe de ressources Azure de Visual Studio pour créer et déployer un modèle.
Quelle que soit l’option choisie, la syntaxe de modèle est identique lors du déploiement initial et lors du redéploiement. L’activation d’une identité managée affectée par le système ou par l’utilisateur sur une machine virtuelle s’effectue de la même manière, que la machine soit nouvelle ou existante. De plus, par défaut, Azure Resource Manager effectue une mise à jour incrémentielle au niveau des déploiements.
Identité managée affectée par le système
Dans cette section, vous allez activer et désactiver une identité managée affectée par le système en utilisant un modèle Azure Resource Manager.
Activer une identité managée affectée par le système pendant la création d’une machine virtuelle Azure ou sur une machine virtuelle existante
Pour activer 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 vous connectez à Azure localement ou via le portail Azure, utilisez un compte associé à l’abonnement Azure qui contient l’ordinateur virtuel.
Pour activer l’identité managée affectée par le système, chargez le modèle dans un éditeur, recherchez la ressource
Microsoft.Compute/virtualMachines
qui vous intéresse dans la sectionresources
, puis ajoutez la propriété"identity"
au même niveau que la propriété"type": "Microsoft.Compute/virtualMachines"
. Utilisez la syntaxe suivante :"identity": { "type": "SystemAssigned" },
Lorsque vous avez terminé, les sections ci-après doivent être ajoutées à la section
resource
de votre modèle et doivent ressembler à ce qui suit :"resources": [ { //other resource provider properties... "apiVersion": "2018-06-01", "type": "Microsoft.Compute/virtualMachines", "name": "[variables('vmName')]", "location": "[resourceGroup().location]", "identity": { "type": "SystemAssigned", } } ]
Attribuer un rôle à l’identité managée affectée par le système de la machine virtuelle
Après avoir activé une identité managée affectée par le système sur votre machine virtuelle, vous pouvez lui attribuer un rôle, comme l’accès Lecteur au groupe de ressources dans lequel elle a été créée. Vous trouverez des informations détaillées pour vous aider dans cette étape dans l’article Attribuer des rôles Azure avec des modèles Azure Resource Manager.
Désactiver une identité managée affectée par le système d’une machine virtuelle Azure
Pour supprimer l’identité managée affectée par le système d’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 vous connectez à Azure localement ou via le portail Azure, utilisez un compte associé à l’abonnement Azure qui contient l’ordinateur virtuel.
Chargez le modèle dans un éditeur et localisez la ressource
Microsoft.Compute/virtualMachines
qui vous intéresse dans la sectionresources
. Si votre machine virtuelle dispose uniquement d’une identité managée affectée par le système, vous pouvez la désactiver en remplaçant le type d’identité parNone
.API Microsoft.Compute/virtualMachines version 2018-06-01
Si votre machine virtuelle comporte des identités managées affectées par le système et par l’utilisateur, supprimez
SystemAssigned
du type d’identité, et conservezUserAssigned
avec les valeurs du dictionnaireuserAssignedIdentities
.API Microsoft.Compute/virtualMachines version 2018-06-01
Si votre
apiVersion
présente la valeur2017-12-01
et que votre machine virtuelle comporte des identités managées affectées par le système et par l’utilisateur, supprimezSystemAssigned
du type d’identité, et conservezUserAssigned
avec le tableauidentityIds
des identités managées affectées par l’utilisateur.
L’exemple suivant montre comment supprimer une identité managée affectée par le système sur une machine virtuelle sans identité affectée par l’utilisateur :
{
"apiVersion": "2018-06-01",
"type": "Microsoft.Compute/virtualMachines",
"name": "[parameters('vmName')]",
"location": "[resourceGroup().location]",
"identity": {
"type": "None"
}
}
Identité managée affectée par l’utilisateur
Dans cette section, vous allez attribuer une identité managée affectée par l’utilisateur à une machine virtuelle Azure en utilisant un modèle Azure Resource Manager.
Notes
Pour créer une identité managée affectée par l’utilisateur en utilisant un modèle Azure Resource Manager, consultez Créer une identité managée affectée par l’utilisateur.
Attribuer une identité managée affectée par l’utilisateur à une machine virtuelle Azure
Pour attribuer une identité affectée par l’utilisateur à une machine virtuelle, votre compte a besoin de l’attribution de rôle Opérateur d’identité managée. Aucune autre attribution de rôle de répertoire Microsoft Entra n’est requise.
Sous l’élément
resources
, ajoutez l’entrée suivante pour attribuer une identité managée affectée par l’utilisateur à votre machine virtuelle. Veillez à remplacer<USERASSIGNEDIDENTITY>
par le nom de l’identité managée affectée par l’utilisateur que vous avez créée.API Microsoft.Compute/virtualMachines version 2018-06-01
Si votre
apiVersion
est2018-06-01
, vos identités managées affectées par l’utilisateur sont stockées au format de dictionnaireuserAssignedIdentities
, et la valeur<USERASSIGNEDIDENTITYNAME>
doit être stockée dans une variable définie dans la sectionvariables
de votre modèle.{ "apiVersion": "2018-06-01", "type": "Microsoft.Compute/virtualMachines", "name": "[variables('vmName')]", "location": "[resourceGroup().location]", "identity": { "type": "userAssigned", "userAssignedIdentities": { "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]": {} } } }
API Microsoft.Compute/virtualMachines version 2017-12-01
Si votre
apiVersion
est2017-12-01
, vos identités managées affectées par l’utilisateur sont stockées dans le tableauidentityIds
, et la valeur<USERASSIGNEDIDENTITYNAME>
doit être stockée dans une variable définie dans la sectionvariables
de votre modèle.{ "apiVersion": "2017-12-01", "type": "Microsoft.Compute/virtualMachines", "name": "[variables('vmName')]", "location": "[resourceGroup().location]", "identity": { "type": "userAssigned", "identityIds": [ "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]" ] } }
Lorsque vous avez terminé, les sections ci-après doivent être ajoutées à la section
resource
de votre modèle et doivent ressembler à ce qui suit :API Microsoft.Compute/virtualMachines version 2018-06-01
"resources": [ { //other resource provider properties... "apiVersion": "2018-06-01", "type": "Microsoft.Compute/virtualMachines", "name": "[variables('vmName')]", "location": "[resourceGroup().location]", "identity": { "type": "userAssigned", "userAssignedIdentities": { "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]": {} } } } ]
API Microsoft.Compute/virtualMachines version 2017-12-01
"resources": [ { //other resource provider properties... "apiVersion": "2017-12-01", "type": "Microsoft.Compute/virtualMachines", "name": "[variables('vmName')]", "location": "[resourceGroup().location]", "identity": { "type": "userAssigned", "identityIds": [ "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]" ] } } ]
Supprimer une identité managée affectée par l’utilisateur d’une machine virtuelle Azure
Pour supprimer une identité affectée par l’utilisateur d’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 vous connectez à Azure localement ou via le portail Azure, utilisez un compte associé à l’abonnement Azure qui contient l’ordinateur virtuel.
Chargez le modèle dans un éditeur et localisez la ressource
Microsoft.Compute/virtualMachines
qui vous intéresse dans la sectionresources
. Si votre machine virtuelle dispose uniquement d’une identité managée affectée par l’utilisateur, vous pouvez la désactiver en remplaçant le type d’identité parNone
.L’exemple suivant montre comment supprimer toutes les identités managées affectées par l’utilisateur d’une machine virtuelle sans identité managée affectée par le système :
{ "apiVersion": "2018-06-01", "type": "Microsoft.Compute/virtualMachines", "name": "[parameters('vmName')]", "location": "[resourceGroup().location]", "identity": { "type": "None" }, }
API Microsoft.Compute/virtualMachines version 2018-06-01
Pour supprimer d’une machine virtuelle une seule identité managée affectée par l’utilisateur, supprimez-la du dictionnaire
useraAssignedIdentities
.Si vous disposez d’une identité managée affectée par le système, conservez-la dans la valeur
type
, sous la valeuridentity
.API Microsoft.Compute/virtualMachines version 2017-12-01
Pour supprimer d’une machine virtuelle une seule identité managée affectée par l’utilisateur, supprimez-la du tableau
identityIds
.Si vous disposez d’une identité managée affectée par le système, conservez-la dans la valeur
type
, sous la valeuridentity
.
Étapes suivantes
Dans cet article, en utilisant CURL pour effectuer des appels au point de terminaison REST d’Azure Resource Manager, vous allez apprendre à configurer les identités managées suivantes pour les opérations de ressources Azure sur une machine virtuelle Azure :
- Activer et désactiver l’identité managée affectée par le système sur une machine virtuelle Azure
- Ajouter et supprimer une identité managée affectée par l’utilisateur sur une machine virtuelle Azure
Si vous n’avez pas encore de compte Azure, inscrivez-vous à un essai gratuit avant de continuer.
Prérequis
- Si vous n’êtes pas familiarisé avec les identités managées pour les ressources Azure, consultez Que sont les identités managées pour les ressources Azure ? Pour en savoir plus sur les types d’identités managées affectées par le système et par l’utilisateur, consultez Types d’identités managées.
Utilisez l’environnement Bash dans Azure Cloud Shell. Pour plus d’informations, consultez Démarrage rapide pour Bash dans Azure Cloud Shell.
Si vous préférez exécuter les commandes de référence de l’interface de ligne de commande localement, installez l’interface Azure CLI. Si vous exécutez sur Windows ou macOS, envisagez d’exécuter Azure CLI dans un conteneur Docker. Pour plus d’informations, consultez Guide pratique pour exécuter Azure CLI dans un conteneur Docker.
Si vous utilisez une installation locale, connectez-vous à Azure CLI à l’aide de la commande az login. Pour finir le processus d’authentification, suivez les étapes affichées dans votre terminal. Pour connaître les autres options de connexion, consultez Se connecter avec Azure CLI.
Lorsque vous y êtes invité, installez l’extension Azure CLI lors de la première utilisation. Pour plus d’informations sur les extensions, consultez Utiliser des extensions avec Azure CLI.
Exécutez az version pour rechercher la version et les bibliothèques dépendantes installées. Pour effectuer une mise à niveau vers la dernière version, exécutez az upgrade.
Identité managée affectée par le système
Dans cette section, découvrez comment activer et désactiver une identité managée affectée par le système sur une machine virtuelle Azure, en utilisant CURL pour effectuer des appels au point de terminaison REST Azure Resource Manager.
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.
Créez un groupe de ressources pour l’imbrication et le déploiement de votre machine virtuelle et de ses ressources connexes, à l’aide de la commande az group create. Vous pouvez ignorer cette étape si vous possédez déjà le groupe de ressources que vous souhaitez utiliser à la place :
az group create --name myResourceGroup --location westus
Créez une interface réseau pour votre machine virtuelle :
az network nic create -g myResourceGroup --vnet-name myVnet --subnet mySubnet -n myNic
Récupérez un jeton d’accès de porteur que vous allez utiliser à l’étape suivante dans l’en-tête d’autorisation pour créer votre machine virtuelle avec une identité managée affectée par le système.
az account get-access-token
À l’aide d’Azure Cloud Shell, créez une machine virtuelle avec CURL pour appeler le point de terminaison REST Azure Resource Manager. L’exemple suivant crée une machine virtuelle nommée myVM avec une identité managée affectée par le système, telle qu’identifiée dans le corps de la demande par la valeur
"identity":{"type":"SystemAssigned"}
. Remplacez<ACCESS TOKEN>
par la valeur que vous avez reçue à l’étape précédente lorsque vous avez demandé un jeton d’accès du porteur et la valeur<SUBSCRIPTION ID>
adaptée à votre environnement.curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PUT -d '{"location":"westus","name":"myVM","identity":{"type":"SystemAssigned"},"properties":{"hardwareProfile":{"vmSize":"Standard_D2_v2"},"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"StandardSSD_LRS"},"name":"myVM3osdisk","createOption":"FromImage"},"dataDisks":[{"diskSizeGB":1023,"createOption":"Empty","lun":0},{"diskSizeGB":1023,"createOption":"Empty","lun":1}]},"osProfile":{"adminUsername":"azureuser","computerName":"myVM","adminPassword":"<SECURE PASSWORD STRING>"},"networkProfile":{"networkInterfaces":[{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic","properties":{"primary":true}}]}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
En-têtes de requête
En-tête de requête Description Content-Type Obligatoire. Défini sur application/json
.Autorisation Obligatoire. Défini sur un jeton d’accès Bearer
valide.Corps de la demande
{ "location":"westus", "name":"myVM", "identity":{ "type":"SystemAssigned" }, "properties":{ "hardwareProfile":{ "vmSize":"Standard_D2_v2" }, "storageProfile":{ "imageReference":{ "sku":"2016-Datacenter", "publisher":"MicrosoftWindowsServer", "version":"latest", "offer":"WindowsServer" }, "osDisk":{ "caching":"ReadWrite", "managedDisk":{ "storageAccountType":"StandardSSD_LRS" }, "name":"myVM3osdisk", "createOption":"FromImage" }, "dataDisks":[ { "diskSizeGB":1023, "createOption":"Empty", "lun":0 }, { "diskSizeGB":1023, "createOption":"Empty", "lun":1 } ] }, "osProfile":{ "adminUsername":"azureuser", "computerName":"myVM", "adminPassword":"myPassword12" }, "networkProfile":{ "networkInterfaces":[ { "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic", "properties":{ "primary":true } } ] } } }
Activer une identité 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 un jeton d’accès de porteur que vous allez utiliser à l’étape suivante dans l’en-tête d’autorisation pour créer votre machine virtuelle avec une identité managée affectée par le système.
az account get-access-token
Utilisez la commande CURL suivante pour appeler le point de terminaison REST Azure Resource Manager afin d’activer l’identité managée affectée par le système sur votre machine virtuelle, telle qu’identifiée dans le corps de la demande par la valeur
{"identity":{"type":"SystemAssigned"}
pour une machine virtuelle nommée myVM. Remplacez<ACCESS TOKEN>
par la valeur que vous avez reçue à l’étape précédente lorsque vous avez demandé un jeton d’accès du porteur et la valeur<SUBSCRIPTION ID>
adaptée à votre environnement.Important
Pour éviter de supprimer des identités managées affectées par l’utilisateur existantes qui sont attribuées à la machine virtuelle, répertoriez les identités managées affectées par l’utilisateur en utilisant la commande CURL suivante :
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachines/<VM NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>"
. Si vous avez attribué des identités managées affectées par l’utilisateur à la machine virtuelle, telles qu’identifiées par la valeuridentity
dans la réponse, passez à l’étape 3 qui montre comment conserver les identités managées affectées par l’utilisateur, tout en activant l’identité managée affectée par le système sur votre machine virtuelle.curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned"}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
En-têtes de requête
En-tête de requête Description Content-Type Obligatoire. Défini sur application/json
.Autorisation Obligatoire. Défini sur un jeton d’accès Bearer
valide.Corps de la demande
{ "identity":{ "type":"SystemAssigned" } }
Pour activer l’identité managée affectée par le système sur une machine virtuelle avec des identités managées affectées par l’utilisateur existantes, vous devez ajouter
SystemAssigned
à la valeurtype
.Par exemple, si votre machine virtuelle a des identités managées affectées par l’utilisateur
ID1
etID2
qui lui sont attribuées, et que vous souhaitez ajouter l’identité managée affectée par le système à la machine virtuelle, utilisez l’appel CURL suivant. Remplacez<ACCESS TOKEN>
et<SUBSCRIPTION ID>
par les valeurs adaptées à votre environnement.L’API version
2018-06-01
stocke les identités managées affectées par l’utilisateur dans la valeuruserAssignedIdentities
dans un format de dictionnaire, par opposition à la valeuridentityIds
au format de tableau utilisée dans l’API version2017-12-01
.API VERSION 2018-06-01
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{"/subscriptions/<<SUBSCRIPTION ID>>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{},"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":{}}}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
En-têtes de requête
En-tête de requête Description Content-Type Obligatoire. Défini sur application/json
.Autorisation Obligatoire. Défini sur un jeton d’accès Bearer
valide.Corps de la demande
{ "identity":{ "type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{ "/subscriptions/<<SUBSCRIPTION ID>>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{ }, "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":{ } } } }
API VERSION 2017-12-01
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "identityIds":["/subscriptions/<<SUBSCRIPTION ID>>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1","/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2"]}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01 HTTP/1.1
En-têtes de requête
En-tête de requête Description Content-Type Obligatoire. Défini sur application/json
.Autorisation Obligatoire. Défini sur un jeton d’accès Bearer
valide.Corps de la demande
{ "identity":{ "type":"SystemAssigned, UserAssigned", "identityIds":[ "/subscriptions/<<SUBSCRIPTION ID>>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1", "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2" ] } }
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.
Récupérez un jeton d’accès de porteur que vous allez utiliser à l’étape suivante dans l’en-tête d’autorisation pour créer votre machine virtuelle avec une identité managée affectée par le système.
az account get-access-token
Mettez à jour la machine virtuelle à l’aide de CURL pour appeler le point de terminaison REST Azure Resource Manager afin de désactiver l’identité managée affectée par le système. L’exemple suivant désactive une identité managée affectée par le système, telle qu’identifiée dans le corps de la demande par la valeur
{"identity":{"type":"None"}}
d’une machine virtuelle nommée myVM. Remplacez<ACCESS TOKEN>
par la valeur que vous avez reçue à l’étape précédente lorsque vous avez demandé un jeton d’accès du porteur et la valeur<SUBSCRIPTION ID>
adaptée à votre environnement.Important
Pour éviter de supprimer des identités managées affectées par l’utilisateur existantes qui sont attribuées à la machine virtuelle, répertoriez les identités managées affectées par l’utilisateur en utilisant la commande CURL suivante :
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachines/<VM NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>"
. Si vous avez attribué des identités managées affectées par l’utilisateur à la machine virtuelle, telles qu’identifiées par la valeuridentity
dans la réponse, passez à l’étape 3 qui montre comment conserver les identités managées affectées par l’utilisateur, tout en désactivant l’identité managée affectée par le système sur votre machine virtuelle.curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"None"}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
En-têtes de requête
En-tête de requête Description Content-Type Obligatoire. Défini sur application/json
.Autorisation Obligatoire. Défini sur un jeton d’accès Bearer
valide.Corps de la demande
{ "identity":{ "type":"None" } }
Pour supprimer l’identité managée affectée par le système d’une machine virtuelle ayant des identités managées affectées par l’utilisateur, supprimez
SystemAssigned
de la valeur{"identity":{"type:" "}}
tout en conservant la valeurUserAssigned
et les valeurs de dictionnaireuserAssignedIdentities
si vous utilisez la version de l’API du 01/06/2018. Si vous utilisez la version d’API 2017-12-01 ou une version antérieure, conservez le tableauidentityIds
.
Identité managée affectée par l’utilisateur
Dans cette section, découvrez comment ajouter et supprimer une identité managée affectée par l’utilisateur sur une machine virtuelle Azure, en utilisant CURL pour effectuer des appels au point de terminaison REST Azure Resource Manager.
Attribuer une identité managée affectée par l’utilisateur lors de la création d’une machine virtuelle Azure
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.
Récupérez un jeton d’accès de porteur que vous allez utiliser à l’étape suivante dans l’en-tête d’autorisation pour créer votre machine virtuelle avec une identité managée affectée par le système.
az account get-access-token
Créez une interface réseau pour votre machine virtuelle :
az network nic create -g myResourceGroup --vnet-name myVnet --subnet mySubnet -n myNic
Récupérez un jeton d’accès de porteur que vous allez utiliser à l’étape suivante dans l’en-tête d’autorisation pour créer votre machine virtuelle avec une identité managée affectée par le système.
az account get-access-token
Créez une identité managée attribuée par l’utilisateur en vous aidant des instructions disponibles ici : Créer une identité managée attribuée par l’utilisateur.
Créez une machine virtuelle à l’aide de CURL pour appeler le point de terminaison REST Azure Resource Manager. L’exemple suivant crée une machine virtuelle nommée myVM dans le groupe de ressources myResourceGroup avec une identité managée affectée par l’utilisateur
ID1
, telle qu’identifiée dans le corps de la demande par la valeur"identity":{"type":"UserAssigned"}
. Remplacez<ACCESS TOKEN>
par la valeur que vous avez reçue à l’étape précédente lorsque vous avez demandé un jeton d’accès du porteur et la valeur<SUBSCRIPTION ID>
adaptée à votre environnement.API VERSION 2018-06-01
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PUT -d '{"location":"westus","name":"myVM","identity":{"type":"UserAssigned","identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]},"properties":{"hardwareProfile":{"vmSize":"Standard_D2_v2"},"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"StandardSSD_LRS"},"name":"myVM3osdisk","createOption":"FromImage"},"dataDisks":[{"diskSizeGB":1023,"createOption":"Empty","lun":0},{"diskSizeGB":1023,"createOption":"Empty","lun":1}]},"osProfile":{"adminUsername":"azureuser","computerName":"myVM","adminPassword":"myPassword12"},"networkProfile":{"networkInterfaces":[{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic","properties":{"primary":true}}]}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
En-têtes de requête
En-tête de requête Description Content-Type Obligatoire. Défini sur application/json
.Autorisation Obligatoire. Défini sur un jeton d’accès Bearer
valide.Corps de la demande
{ "location":"westus", "name":"myVM", "identity":{ "type":"UserAssigned", "identityIds":[ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1" ] }, "properties":{ "hardwareProfile":{ "vmSize":"Standard_D2_v2" }, "storageProfile":{ "imageReference":{ "sku":"2016-Datacenter", "publisher":"MicrosoftWindowsServer", "version":"latest", "offer":"WindowsServer" }, "osDisk":{ "caching":"ReadWrite", "managedDisk":{ "storageAccountType":"StandardSSD_LRS" }, "name":"myVM3osdisk", "createOption":"FromImage" }, "dataDisks":[ { "diskSizeGB":1023, "createOption":"Empty", "lun":0 }, { "diskSizeGB":1023, "createOption":"Empty", "lun":1 } ] }, "osProfile":{ "adminUsername":"azureuser", "computerName":"myVM", "adminPassword":"myPassword12" }, "networkProfile":{ "networkInterfaces":[ { "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic", "properties":{ "primary":true } } ] } } }
API VERSION 2017-12-01
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01' -X PUT -d '{"location":"westus","name":"myVM","identity":{"type":"UserAssigned","identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]},"properties":{"hardwareProfile":{"vmSize":"Standard_D2_v2"},"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"StandardSSD_LRS"},"name":"myVM3osdisk","createOption":"FromImage"},"dataDisks":[{"diskSizeGB":1023,"createOption":"Empty","lun":0},{"diskSizeGB":1023,"createOption":"Empty","lun":1}]},"osProfile":{"adminUsername":"azureuser","computerName":"myVM","adminPassword":"myPassword12"},"networkProfile":{"networkInterfaces":[{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic","properties":{"primary":true}}]}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01 HTTP/1.1
En-têtes de requête
En-tête de requête Description Content-Type Obligatoire. Défini sur application/json
.Autorisation Obligatoire. Défini sur un jeton d’accès Bearer
valide.Corps de la demande
{ "location":"westus", "name":"myVM", "identity":{ "type":"UserAssigned", "identityIds":[ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1" ] }, "properties":{ "hardwareProfile":{ "vmSize":"Standard_D2_v2" }, "storageProfile":{ "imageReference":{ "sku":"2016-Datacenter", "publisher":"MicrosoftWindowsServer", "version":"latest", "offer":"WindowsServer" }, "osDisk":{ "caching":"ReadWrite", "managedDisk":{ "storageAccountType":"StandardSSD_LRS" }, "name":"myVM3osdisk", "createOption":"FromImage" }, "dataDisks":[ { "diskSizeGB":1023, "createOption":"Empty", "lun":0 }, { "diskSizeGB":1023, "createOption":"Empty", "lun":1 } ] }, "osProfile":{ "adminUsername":"azureuser", "computerName":"myVM", "adminPassword":"myPassword12" }, "networkProfile":{ "networkInterfaces":[ { "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic", "properties":{ "primary":true } } ] } } }
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.
Récupérez un jeton d’accès de porteur que vous allez utiliser à l’étape suivante dans l’en-tête d’autorisation pour créer votre machine virtuelle avec une identité managée affectée par le système.
az account get-access-token
Créez une identité managée affectée par l’utilisateur à l’aide des instructions fournies dans Créer une identité managée affectée par l’utilisateur.
Pour éviter de supprimer des identités managées affectées par l’utilisateur ou le système existantes qui sont attribuées à la machine virtuelle, vous devez répertorier les types d’identités affectés à la machine virtuelle en utilisant la commande CURL suivante. Si vous avez affecté des identités managées au groupe de machines virtuelles identiques, celles-ci sont répertoriées sous la valeur
identity
.curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachines/<VM NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>"
GET https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachines/<VM NAME>?api-version=2018-06-01 HTTP/1.1
En-têtes de requête
En-tête de requête Description Autorisation Obligatoire. Défini sur un jeton d’accès Bearer
valide.Si vous avez des identités managées affectées par l’utilisateur ou le système qui sont attribuées à la machine virtuelle, telle qu’identifiées par la valeur
identity
dans la réponse, passez à l’étape 5 qui montre comment conserver l’identité managée affectée par le système, tout en ajoutant une identité managée affectée par l’utilisateur sur votre machine virtuelle.Si vous n’avez aucune identité managée affectée par l’utilisateur attribuée à votre machine virtuelle, utilisez la commande CURL suivante pour appeler le point de terminaison REST Azure Resource Manager afin d’attribuer la première identité managée affectée par l’utilisateur à la machine virtuelle.
L’exemple suivant attribue une identité managée affectée par l’utilisateur,
ID1
, à une machine virtuelle nommée myVM dans le groupe de ressources myResourceGroup. Remplacez<ACCESS TOKEN>
par la valeur que vous avez reçue à l’étape précédente lorsque vous avez demandé un jeton d’accès du porteur et la valeur<SUBSCRIPTION ID>
adaptée à votre environnement.API VERSION 2018-06-01
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"UserAssigned", "userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{}}}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
En-têtes de requête
En-tête de requête Description Content-Type Obligatoire. Défini sur application/json
.Autorisation Obligatoire. Défini sur un jeton d’accès Bearer
valide.Corps de la demande
{ "identity":{ "type":"UserAssigned", "userAssignedIdentities":{ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{ } } } }
API VERSION 2017-12-01
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"userAssigned", "identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01 HTTP/1.1
En-têtes de requête
En-tête de requête Description Content-Type Obligatoire. Défini sur application/json
.Autorisation Obligatoire. Défini sur un jeton d’accès Bearer
valide.Corps de la demande
{ "identity":{ "type":"userAssigned", "identityIds":[ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1" ] } }
Si une identité managée existante affectée par l’utilisateur ou par le système est attribuée à votre machine virtuelle :
API VERSION 2018-06-01
Ajoutez l’identité managée affectée par l’utilisateur à la valeur de dictionnaire
userAssignedIdentities
.Par exemple, si des identités managées affectées par le système et par l’utilisateur
ID1
sont actuellement attribuées à votre machine virtuelle, et si vous souhaitez ajouter l’identité managée affectée par l’utilisateurID2
à celle-ci :curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{},"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":{}}}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
En-têtes de requête
En-tête de requête Description Content-Type Obligatoire. Défini sur application/json
.Autorisation Obligatoire. Défini sur un jeton d’accès Bearer
valide.Corps de la demande
{ "identity":{ "type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{ }, "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":{ } } } }
API VERSION 2017-12-01
Conservez les identités managées affectées par l’utilisateur que vous souhaitez garder dans la valeur de tableau
identityIds
lors de l’ajout de la nouvelle identité managée affectée par l’utilisateur.Par exemple, si des identités managées affectées par le système et par l’utilisateur
ID1
sont actuellement attribuées à votre machine virtuelle, et si vous souhaitez ajouter l’identité managée affectée par l’utilisateurID2
à celle-ci :curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"SystemAssigned,UserAssigned", "identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1","/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2"]}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01 HTTP/1.1
En-têtes de requête
En-tête de requête Description Content-Type Obligatoire. Défini sur application/json
.Autorisation Obligatoire. Défini sur un jeton d’accès Bearer
valide.Corps de la demande
{ "identity":{ "type":"SystemAssigned,UserAssigned", "identityIds":[ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1", "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2" ] } }
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.
Récupérez un jeton d’accès de porteur que vous allez utiliser à l’étape suivante dans l’en-tête d’autorisation pour créer votre machine virtuelle avec une identité managée affectée par le système.
az account get-access-token
Pour éviter de supprimer des identités managées affectées par l’utilisateur existantes que vous souhaitez conserver sur la machine virtuelle, ou de supprimer l’identité managée affectée par le système, vous devez répertorier les identités managées en utilisant la commande CURL suivante :
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachines/<VM NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>"
GET https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachines/<VM NAME>?api-version=2018-06-01 HTTP/1.1
En-têtes de requête
En-tête de requête Description Content-Type Obligatoire. Défini sur application/json
.Autorisation Obligatoire. Défini sur un jeton d’accès Bearer
valide.Si vous avez affecté des identités managées à la machine virtuelle, celles-ci sont répertoriées dans la réponse sous la valeur
identity
.Par exemple, si des identités managées affectées par l’utilisateur
ID1
etID2
sont attribuées à votre machine virtuelle et que vous souhaitez uniquement garder l’élémentID1
affecté et conserver l’identité affectée par le système :API VERSION 2018-06-01
Ajoutez
null
à l’identité managée affectée par l’utilisateur que vous souhaitez supprimer :curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":null}}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
En-têtes de requête
En-tête de requête Description Content-Type Obligatoire. Défini sur application/json
.Autorisation Obligatoire. Défini sur un jeton d’accès Bearer
valide.Corps de la demande
{ "identity":{ "type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":null } } }
API VERSION 2017-12-01
Conservez uniquement la ou les identités managées affectées par l’utilisateur que vous souhaitez garder dans le tableau
identityIds
:curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01 HTTP/1.1
En-têtes de requête
En-tête de requête Description Content-Type Obligatoire. Défini sur application/json
.Autorisation Obligatoire. Défini sur un jeton d’accès Bearer
valide.Corps de la demande
{ "identity":{ "type":"SystemAssigned, UserAssigned", "identityIds":[ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1" ] } }
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 en utilisant la commande suivante :
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned"}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
En-têtes de requête
En-tête de requête | Description |
---|---|
Content-Type | Obligatoire. Défini sur application/json . |
Autorisation | Obligatoire. Défini sur un jeton d’accès Bearer valide. |
Corps de la demande
{
"identity":{
"type":"SystemAssigned"
}
}
Si votre machine virtuelle a uniquement des identités managées affectées par l’utilisateur que vous souhaitez supprimer, utilisez la commande suivante :
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"None"}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
En-têtes de requête
En-tête de requête | Description |
---|---|
Content-Type | Obligatoire. Défini sur application/json . |
Autorisation | Obligatoire. Défini sur un jeton d’accès Bearer valide. |
Corps de la demande
{
"identity":{
"type":"None"
}
}
Étapes suivantes
Pour plus d’informations sur la façon de créer, de répertorier ou de supprimer des identités managées affectées par l’utilisateur en utilisant REST, voir :
Dans cet article, vous allez découvrir comment activer et supprimer des identités managées pour ressources Azure sur une machine virtuelle Azure en utilisant un SDK Azure.
Prérequis
- Si vous n’êtes pas familiarisé de la fonctionnalité identités managées pour ressources Azure, consultez cette Vue d’ensemble. Si vous n’avez pas encore de compte Azure, Inscrivez-vous sur un compte gratuit avant de continuer.
SDK Azure prenant en charge les identités managées pour ressources Azure
Azure prend en charge plusieurs plates-formes de programmation via une série de Kits de développement logiciel (SDK) Azure. Plusieurs d’entre eux ont été mis à jour pour prendre en charge les identités managées pour ressources Azure, et fournissent des exemples appropriés pour en illustrer l’utilisation. Cette liste est mise à jour à mesure que d’autres prises en charge sont ajoutées :
Étapes suivantes
- Pour savoir comment utiliser également le portail Azure, PowerShell, CLI et des modèles de ressources, voir les articles à ce propos répertoriés dans la section Configurer une identité pour une machine virtuelle Azure.