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

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 découvrir comment effectuer les opérations d’identités managées pour ressources Azure suivantes sur un groupe de machines virtuelles identiques Azure, à l’aide du modèle de déploiement Azure Resource Manager :

  • 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

Prérequis

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 :

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’identités managées pour ressources Azure s’effectue de la même manière sur une machine virtuelle 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 l’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’un groupe de machines virtuelles identiques ou dans un groupe de machines virtuelles identiques existant

  1. Si vous vous connectez à Azure localement ou via le portail Azure, utilisez un compte associé à l’abonnement Azure qui contient le groupe de machines virtuelles identiques.

  2. Pour activer l’identité managée affectée par le système, chargez le modèle dans un éditeur, recherchez la ressource Microsoft.Compute/virtualMachinesScaleSets qui vous intéresse dans la section des ressources, puis ajoutez la propriété identity au même niveau que la propriété "type": "Microsoft.Compute/virtualMachinesScaleSets". Utilisez la syntaxe suivante :

    "identity": {
        "type": "SystemAssigned"
    }
    
  3. Lorsque vous avez terminé, les sections suivantes doivent être ajoutées à la section de ressources de votre modèle et doivent ressembler à l’exemple ci-dessous :

     "resources": [
         {
             //other resource provider properties...
             "apiVersion": "2018-06-01",
             "type": "Microsoft.Compute/virtualMachineScaleSets",
             "name": "[variables('vmssName')]",
             "location": "[resourceGroup().location]",
             "identity": {
                 "type": "SystemAssigned",
             },
            "properties": {
                 //other resource provider properties...
                 "virtualMachineProfile": {
                     //other virtual machine profile properties...
    
                 }
             }
         }
     ]
    

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 d’une identité managée affectée par le système :

  1. Si vous vous connectez à Azure localement ou via le portail Azure, utilisez un compte associé à l’abonnement Azure qui contient le groupe de machines virtuelles identiques.

  2. Chargez le modèle dans un éditeur et localisez la ressource Microsoft.Compute/virtualMachineScaleSets qui vous intéresse dans la section resources. 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é par None.

    API Microsoft.Compute/virtualMachineScaleSets version du 01/06/2018

    Si votre version d’API est 2018-06-01 et que votre machine virtuelle a des identités managées affectées par le système et l’utilisateur, supprimez SystemAssigned dans le type d’identité et conservez UserAssigned avec les valeurs du dictionnaire userAssignedIdentities.

    API Microsoft.Compute/virtualMachineScaleSets version du 01/06/2018

    Si votre version d’API est 2017-12-01 et que votre groupe de machines virtuelles identiques dispose d’identités managées affectées par le système et par l’utilisateur, supprimez SystemAssigned dans le type d’identité et conservez UserAssigned avec le tableau identityIds 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 d’un groupe de machines virtuelles identiques sans identité managée affectée par l’utilisateur :

    {
        "name": "[variables('vmssName')]",
        "apiVersion": "2018-06-01",
        "location": "[parameters(Location')]",
        "identity": {
            "type": "None"
         }
    
    }
    

Identité managée affectée par l’utilisateur

Dans cette section, vous allez affecter une identité managée affectée par l’utilisateur à un groupe de machines virtuelles identiques à l’aide du 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 à un groupe de machines virtuelles identiques

  1. Sous l’élément resources, ajoutez l’entrée suivante pour attribuer une identité managée affectée par l’utilisateur à votre groupe de machines virtuelles identiques. Veillez à remplacer <USERASSIGNEDIDENTITY> par le nom de l’identité managée affectée par l’utilisateur que vous avez créée.

    API Microsoft.Compute/virtualMachineScaleSets version du 01/06/2018

    Si votre version d’API est 2018-06-01, vos identités managées affectées par l’utilisateur sont stockées dans le format de dictionnaire userAssignedIdentities, et la valeur <USERASSIGNEDIDENTITYNAME> doit être stockée dans une variable définie au sein de la section variables de votre modèle.

    {
        "name": "[variables('vmssName')]",
        "apiVersion": "2018-06-01",
        "location": "[parameters(Location')]",
        "identity": {
            "type": "userAssigned",
            "userAssignedIdentities": {
                "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]": {}
            }
        }
    
    }
    

    API Microsoft.Compute/virtualMachineScaleSets version du 01/12/2017

    Si votre apiVersion est 2017-12-01 ou une version antérieure, vos identités managées affectées par l’utilisateur sont stockées dans le tableau identityIds et la valeur <USERASSIGNEDIDENTITYNAME> doit être stockée dans une variable définie au sein de la section des variables de votre modèle.

    {
        "name": "[variables('vmssName')]",
        "apiVersion": "2017-03-30",
        "location": "[parameters(Location')]",
        "identity": {
            "type": "userAssigned",
            "identityIds": [
                "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITY>'))]"
            ]
        }
    }
    
  2. Quand vous avez terminé, votre modèle doit ressembler au suivant :

    API Microsoft.Compute/virtualMachineScaleSets version du 01/06/2018

    "resources": [
         {
             //other resource provider properties...
             "apiVersion": "2018-06-01",
             "type": "Microsoft.Compute/virtualMachineScaleSets",
             "name": "[variables('vmssName')]",
             "location": "[resourceGroup().location]",
             "identity": {
                 "type": "UserAssigned",
                 "userAssignedIdentities": {
                     "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]": {}
                 }
             },
            "properties": {
                 //other virtual machine properties...
                 "virtualMachineProfile": {
                     //other virtual machine profile properties...
                 }
             }
         }
     ]
    

    API Microsoft.Compute/virtualMachines version 2017-12-01

    "resources": [
         {
             //other resource provider properties...
             "apiVersion": "2017-12-01",
             "type": "Microsoft.Compute/virtualMachineScaleSets",
             "name": "[variables('vmssName')]",
             "location": "[resourceGroup().location]",
             "identity": {
                 "type": "UserAssigned",
                 "identityIds": [
                     "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]"
                 ]
             },
            "properties": {
                 //other virtual machine properties...
                 "virtualMachineProfile": {
                     //other virtual machine profile properties...
                 }
             }
         }
     ]
    

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

Si vous disposez d’un groupe de machines virtuelles identiques qui n’a plus besoin d’une identité managée affectée par l’utilisateur :

  1. Si vous vous connectez à Azure localement ou via le portail Azure, utilisez un compte associé à l’abonnement Azure qui contient le groupe de machines virtuelles identiques.

  2. Chargez le modèle dans un éditeur et localisez la ressource Microsoft.Compute/virtualMachineScaleSets qui vous intéresse dans la section resources. Si votre groupe de machines virtuelles identiques dispose uniquement de l’identité managée assignée par l’utilisateur, vous pouvez la désactiver en remplaçant le type d’identité par None.

    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 :

    {
        "name": "[variables('vmssName')]",
        "apiVersion": "2018-06-01",
        "location": "[parameters(Location')]",
        "identity": {
            "type": "None"
         }
    }
    

    API Microsoft.Compute/virtualMachineScaleSets version du 01/06/2018

    Pour supprimer une seule identité managée assignée par l’utilisateur d’un groupe de machines virtuelles identiques, supprimez-la du dictionnaire userAssignedIdentities.

    Si vous disposez d’une identité affectée par le système, conservez-la dans la valeur type, sous la valeur identity.

    API Microsoft.Compute/virtualMachineScaleSets version du 01/12/2017

    Pour supprimer une seule identité managée affectée par l’utilisateur dans un groupe de machines virtuelles identiques, 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 valeur identity.

Étapes suivantes