Configurer des identités managées pour ressources Azure sur un groupe de machines virtuelles identiques en utilisant Azure CLI

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.

Dans cet article, vous allez apprendre à effectuer les opérations suivantes afin de configurer les identités managées pour ressources Azure sur un groupe de machines virtuelles identiques Azure à l'aide d'Azure CLI :

  • Activer et désactiver l’identité managée affectée par le système sur un groupe de machines virtuelles identiques Azure
  • Ajouter et supprimer une identité managée affectée par l’utilisateur sur un groupe de machines virtuelles identiques 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.

  • Pour effectuer les opérations de gestion dans cet article, votre compte doit disposer de ces affectations de contrôle d’accès basé sur les rôles Azure :

    • Contributeur de machine virtuelle pour créer un groupe de machines virtuelles identiques, puis activer ou supprimer l’identité managée affectée par le système et/ou par l’utilisateur à partir d’un groupe de machines virtuelles identiques.

    • Contributeur d’identité managée pour créer une identité managée affectée par l’utilisateur.

    • Opérateur d’identité managée pour attribuer et supprimer une identité managée affectée par l’utilisateur dans un groupe de machines virtuelles identiques.

    Remarque

    Aucune attribution de rôle de répertoire Microsoft Entra supplémentaire n’est requise.

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 pour un groupe de machines virtuelles identiques Azure à l'aide d'Azure CLI.

Activer une identité managée affectée par le système lors de la création d’un groupe de machines virtuelles identiques Azure

Pour créer un groupe de machines virtuelles identiques avec l’identité managée affectée par le système activée :

  1. Créez un groupe de ressources pour l’imbrication et le déploiement de votre groupe de machines virtuelles identiques et de ses ressources connexes, à l’aide de la commande az group create. Vous pouvez ignorer cette étape si vous disposez déjà d’un groupe de ressources que vous souhaitez utiliser à la place :

    az group create --name myResourceGroup --location westus
    
  2. Créez un groupe de machines virtuelles identiques. L’exemple suivant crée un groupe de machines virtuelles identiques nommé myVMSS 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 vmss create --resource-group myResourceGroup --name myVMSS --image win2016datacenter --upgrade-policy-mode automatic --custom-data cloud-init.txt --admin-username azureuser --admin-password myPassword12 --assign-identity --generate-ssh-keys --role contributor --scope mySubscription
    

Activer une identité managée affectée par le système sur un groupe de machines virtuelles identiques Azure existant

Si vous devez Activer l’identité managée affectée par le système sur un groupe de machines virtuelles identiques Azure existant :

az vmss identity assign -g myResourceGroup -n myVMSS

Désactiver une identité managée affectée par le système d’un groupe de machines virtuelles identiques Azure

Si vous disposez d’un groupe de machines virtuelles identiques 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 la commande suivante :

az vmss update -n myVM -g myResourceGroup --set identity.type='UserAssigned' 

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 la commande suivante :

Notes

La valeur none est sensible à la casse. Elle doit être en minuscules.

az vmss 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 activer et supprimer une identité managée affectée par l’utilisateur en utilisant Azure CLI.

Attribuer une identité managée affectée par l’utilisateur lors de la création d’un groupe de machines virtuelles identiques

Cette section explique en détail comment créer un groupe de machines virtuelles identiques et lui attribuer une identité managée affectée par l'utilisateur. Si vous disposez déjà d'un groupe de machines virtuelles identiques que vous souhaitez utiliser, ignorez cette section et passez à la suivante.

  1. 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>
    
  2. 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. N’oubliez pas de remplacer les valeurs des paramètres <RESOURCE GROUP> et <USER ASSIGNED IDENTITY NAME> par vos propres valeurs :

    Important

    Lorsque 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 <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. La valeur d’id de ressource attribuée à l’identité managée affectée par l’utilisateur est utilisée à l’étape suivante.

    {
         "clientId": "73444643-8088-4d70-9532-c3a0fdc190fz",
         "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=73444643-8088-4d70-9532-c3a0fdc190fz",
         "id": "/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>",
         "location": "westcentralus",
         "name": "<USER ASSIGNED IDENTITY NAME>",
         "principalId": "e5fdfdc1-ed84-4d48-8551-fe9fb9dedfll",
         "resourceGroup": "<RESOURCE GROUP>",
         "tags": {},
         "tenantId": "733a8f0e-ec41-4e69-8ad8-971fc4b533bl",
         "type": "Microsoft.ManagedIdentity/userAssignedIdentities"    
    }
    
  3. Créez un groupe de machines virtuelles identiques. L'exemple suivant crée un groupe de machines virtuelles identiques associé à la nouvelle identité managée affectée par l'utilisateur, comme spécifié par le paramètre --assign-identity avec --role et --scope spécifiés. N’oubliez pas de remplacer les paramètres <RESOURCE GROUP>, <VMSS NAME>, <USER NAME>, <PASSWORD>, <USER ASSIGNED IDENTITY>, <ROLE> et <SUBSCRIPTION> par vos propres valeurs.

    az vmss create --resource-group <RESOURCE GROUP> --name <VMSS NAME> --image <SKU Linux Image> --admin-username <USER NAME> --admin-password <PASSWORD> --assign-identity <USER ASSIGNED IDENTITY> --role <ROLE> --scope <SUBSCRIPTION>
    

Attribuer une identité managée affectée par l’utilisateur à un groupe de machines virtuelles identiques existant

  1. 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. N’oubliez pas de remplacer les valeurs des paramètres <RESOURCE GROUP> et <USER ASSIGNED IDENTITY NAME> par vos propres valeurs :

    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": "73444643-8088-4d70-9532-c3a0fdc190fz",
         "clientSecretUrl": "https://control-westcentralus.identity.azure.net/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY >/credentials?tid=5678&oid=9012&aid=73444643-8088-4d70-9532-c3a0fdc190fz",
         "id": "/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY>",
         "location": "westcentralus",
         "name": "<USER ASSIGNED IDENTITY>",
         "principalId": "e5fdfdc1-ed84-4d48-8551-fe9fb9dedfll",
         "resourceGroup": "<RESOURCE GROUP>",
         "tags": {},
         "tenantId": "733a8f0e-ec41-4e69-8ad8-971fc4b533bl",
         "type": "Microsoft.ManagedIdentity/userAssignedIdentities"    
    }
    
  2. Attribuez une identité managée affectée par l’utilisateur à votre groupe de machines virtuelles identiques. N’oubliez pas de remplacer les valeurs des paramètres <RESOURCE GROUP> et <VIRTUAL MACHINE SCALE SET NAME> par vos propres valeurs. <USER ASSIGNED IDENTITY> 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 :

    az vmss identity assign -g <RESOURCE GROUP> -n <VIRTUAL MACHINE SCALE SET NAME> --identities <USER ASSIGNED IDENTITY>
    

Supprimer d’un groupe de machines virtuelles identiques Azure une identité managée affectée par l’utilisateur

Pour supprimer une identité managée affectée par l’utilisateur d’un groupe de machines virtuelles identiques, utilisez az vmss identity remove. S’il s’agit de la seule identité managée affectée par l’utilisateur attribuée au groupe de machines virtuelles identiques, UserAssigned est supprimé de la valeur du type d’identité. N’oubliez pas de remplacer les valeurs des paramètres <RESOURCE GROUP> et <VIRTUAL MACHINE SCALE SET 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 identité du groupe de machines virtuelles identiques en utilisant la commande az vmss identity show :

az vmss identity remove -g <RESOURCE GROUP> -n <VIRTUAL MACHINE SCALE SET NAME> --identities <USER ASSIGNED IDENTITY>

Si votre groupe de machines virtuelles identiques ne dispose pas d’une identité managée affectée par le système, et si vous souhaitez supprimer toutes les identités managées affectées par l’utilisateur qu’elle contient, utilisez la commande suivante :

Notes

La valeur none est sensible à la casse. Elle doit être en minuscules.

az vmss update -n myVMSS -g myResourceGroup --set identity.type="none" identity.userAssignedIdentities=null

Si votre groupe de machines virtuelles identiques dispose à la fois d’identités managées affectées par l’utilisateur et d’identités affectées par le système, vous pouvez supprimer toutes les identités affectées par l’utilisateur en choisissant de n’utiliser que l’identité managée affectée par le système. Utilisez la commande suivante :

az vmss update -n myVMSS -g myResourceGroup --set identity.type='SystemAssigned' identity.userAssignedIdentities=null 

Étapes suivantes