Konfigurera hanterade identiteter för Azure-resurser på en virtuell Azure-dator med hjälp av mallar

Hanterade identiteter för Azure-resurser är en funktion i Microsoft Entra-ID. Alla Azure-tjänster som stöder hanterade identiteter för Azure-resurser har sin egen tidslinje. Var noga med att kontrollera tillgänglighetsstatus för hanterade identiteter för din resurs och kända problem innan du börjar.

Hanterade identiteter för Azure-resurser ger Azure-tjänster en automatiskt hanterad identitet i Microsoft Entra ID. Du kan använda den här identiteten för att autentisera mot alla tjänster som har stöd för Microsoft Entra-autentisering, utan att behöva ha några autentiseringsuppgifter i koden.

I den här artikeln får du lära dig hur du utför följande hanterade identiteter för Azure-resursåtgärder på en virtuell Azure-dator med hjälp av Azure Resource Manager-distributionsmallen:

Förutsättningar

Azure Resource Manager-mallar

Precis som med Azure-portalen och skriptning kan du med Azure Resource Manager-mallar distribuera nya eller ändrade resurser som definierats av en Azure-resursgrupp. Det finns flera alternativ för mallredigering och distribution, både lokalt och portalbaserat, inklusive:

Oavsett vilket alternativ du väljer är mallsyntaxen densamma under den första distributionen och omdistributionen. Att aktivera en system- eller användartilldelad hanterad identitet på en ny eller befintlig virtuell dator görs på samma sätt. Som standard gör Azure Resource Manager också en inkrementell uppdatering av distributioner.

Systemtilldelad hanterad identitet

I det här avsnittet aktiverar och inaktiverar du en systemtilldelad hanterad identitet med hjälp av en Azure Resource Manager-mall.

Aktivera systemtilldelad hanterad identitet när en virtuell Azure-dator skapas eller på en befintlig virtuell dator

För att aktivera systemtilldelad hanterad identitet på en virtuell dator behöver ditt konto rolltilldelningen Virtuell datordeltagare . Inga andra microsoft Entra-katalogrolltilldelningar krävs.

  1. Oavsett om du loggar in på Azure lokalt eller via Azure-portalen använder du ett konto som är associerat med Azure-prenumerationen som innehåller den virtuella datorn.

  2. Om du vill aktivera systemtilldelad hanterad identitet läser du in mallen i ett redigeringsprogram, letar upp resursen Microsoft.Compute/virtualMachines av intresse i resources avsnittet och lägger till "identity" egenskapen på samma nivå som "type": "Microsoft.Compute/virtualMachines" egenskapen. Använd följande syntax:

    "identity": {
        "type": "SystemAssigned"
    },
    
  3. När du är klar bör följande avsnitt läggas till i avsnittet i mallen resource och se ut ungefär så här:

     "resources": [
         {
             //other resource provider properties...
             "apiVersion": "2018-06-01",
             "type": "Microsoft.Compute/virtualMachines",
             "name": "[variables('vmName')]",
             "location": "[resourceGroup().location]",
             "identity": {
                 "type": "SystemAssigned",
                 }                        
         }
     ]
    

Tilldela en roll till den virtuella datorns systemtilldelade hanterade identitet

När du har aktiverat en systemtilldelad hanterad identitet på den virtuella datorn kanske du vill ge den en roll, till exempel Läsaråtkomst till resursgruppen där den skapades. Du hittar detaljerad information som hjälper dig med det här steget i artikeln Tilldela Azure-roller med hjälp av Azure Resource Manager-mallar .

Inaktivera en systemtilldelad hanterad identitet från en virtuell Azure-dator

Om du vill ta bort systemtilldelad hanterad identitet från en virtuell dator behöver ditt konto rolltilldelningen Virtuell datordeltagare . Inga andra microsoft Entra-katalogrolltilldelningar krävs.

  1. Oavsett om du loggar in på Azure lokalt eller via Azure-portalen använder du ett konto som är associerat med Azure-prenumerationen som innehåller den virtuella datorn.

  2. Läs in mallen i ett redigeringsprogram och leta reda på resursen Microsoft.Compute/virtualMachines av intresse i resources avsnittet. Om du har en virtuell dator som bara har en systemtilldelad hanterad identitet kan du inaktivera den genom att ändra identitetstypen till None.

    Microsoft.Compute/virtualMachines API version 2018-06-01

    Om den virtuella datorn har både system- och användartilldelade hanterade identiteter tar du bort SystemAssigned från identitetstypen och håller UserAssigned dig till userAssignedIdentities ordlistevärdena.

    Microsoft.Compute/virtualMachines API version 2018-06-01

    Om din apiVersion är 2017-12-01 och den virtuella datorn har både system- och användartilldelade hanterade identiteter tar du bort SystemAssigned från identitetstypen och håller UserAssigned dig tillsammans med matrisen identityIds för de användartilldelade hanterade identiteterna.

I följande exempel visas hur du tar bort en systemtilldelad hanterad identitet från en virtuell dator utan användartilldelade hanterade identiteter:

{
    "apiVersion": "2018-06-01",
    "type": "Microsoft.Compute/virtualMachines",
    "name": "[parameters('vmName')]",
    "location": "[resourceGroup().location]",
    "identity": {
        "type": "None"
    }
}

Användartilldelad hanterad identitet

I det här avsnittet tilldelar du en användartilldelad hanterad identitet till en virtuell Azure-dator med hjälp av Azure Resource Manager-mallen.

Kommentar

Information om hur du skapar en användartilldelad hanterad identitet med hjälp av en Azure Resource Manager-mall finns i Skapa en användartilldelad hanterad identitet.

Tilldela en användartilldelad hanterad identitet till en virtuell Azure-dator

För att tilldela en användartilldelad identitet till en virtuell dator behöver ditt konto rolltilldelningen Hanterad identitetsoperator . Inga andra microsoft Entra-katalogrolltilldelningar krävs.

  1. Under elementet resources lägger du till följande post för att tilldela en användartilldelad hanterad identitet till den virtuella datorn. Ersätt <USERASSIGNEDIDENTITY> med namnet på den användartilldelade hanterade identiteten som du skapade.

    Microsoft.Compute/virtualMachines API version 2018-06-01

    Om är apiVersion2018-06-01lagras dina användartilldelade hanterade identiteter i userAssignedIdentities ordlisteformatet <USERASSIGNEDIDENTITYNAME> och värdet måste lagras i en variabel som definierats i avsnittet i mallen variables .

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

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

    Om är apiVersion2017-12-01lagras dina användartilldelade hanterade identiteter i matrisen identityIds och <USERASSIGNEDIDENTITYNAME> värdet måste lagras i en variabel som definierats i avsnittet i mallen variables .

    {
        "apiVersion": "2017-12-01",
        "type": "Microsoft.Compute/virtualMachines",
        "name": "[variables('vmName')]",
        "location": "[resourceGroup().location]",
        "identity": {
            "type": "userAssigned",
            "identityIds": [
                "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]"
            ]
        }
    }
    
  2. När du är klar bör följande avsnitt läggas till i avsnittet i mallen resource och se ut ungefär så här:

    Microsoft.Compute/virtualMachines API 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>'))]": {}
                 }
             }
         }
     ] 
    

    Microsoft.Compute/virtualMachines API 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>'))]"
                 ]
             }
         }
    ]
    

Ta bort en användartilldelad hanterad identitet från en virtuell Azure-dator

Om du vill ta bort en användartilldelad identitet från en virtuell dator behöver ditt konto rolltilldelningen Virtuell datordeltagare . Inga andra microsoft Entra-katalogrolltilldelningar krävs.

  1. Oavsett om du loggar in på Azure lokalt eller via Azure-portalen använder du ett konto som är associerat med Azure-prenumerationen som innehåller den virtuella datorn.

  2. Läs in mallen i ett redigeringsprogram och leta reda på resursen Microsoft.Compute/virtualMachines av intresse i resources avsnittet. Om du har en virtuell dator som bara har användartilldelad hanterad identitet kan du inaktivera den genom att ändra identitetstypen till None.

    I följande exempel visas hur du tar bort alla användartilldelade hanterade identiteter från en virtuell dator utan systemtilldelade hanterade identiteter:

     {
       "apiVersion": "2018-06-01",
       "type": "Microsoft.Compute/virtualMachines",
       "name": "[parameters('vmName')]",
       "location": "[resourceGroup().location]",
       "identity": {
           "type": "None"
           },
     }
    

    Microsoft.Compute/virtualMachines API version 2018-06-01

    Ta bort en enskild användartilldelad hanterad identitet från en virtuell dator genom att ta bort den useraAssignedIdentities från ordlistan.

    Om du har en systemtilldelad hanterad identitet behåller du den type i värdet under värdet identity .

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

    Om du vill ta bort en enskild användartilldelad hanterad identitet från en virtuell dator tar du bort den från matrisen identityIds .

    Om du har en systemtilldelad hanterad identitet behåller du den type i värdet under värdet identity .

Nästa steg