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

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-resurser på en virtuell Azure-dator med hjälp av Azure CLI:

  • Aktivera och inaktivera den systemtilldelade hanterade identiteten på en virtuell Azure-dator
  • Lägga till och ta bort en användartilldelad hanterad identitet på en virtuell Azure-dator

Om du inte redan har ett Azure-konto registrerar du dig för ett kostnadsfritt konto innan du fortsätter.

Förutsättningar

Systemtilldelad hanterad identitet

I det här avsnittet får du lära dig hur du aktiverar och inaktiverar den systemtilldelade hanterade identiteten på en virtuell Azure-dator med Hjälp av Azure CLI.

Aktivera systemtilldelad hanterad identitet när en virtuell Azure-dator skapas

Om du vill skapa en virtuell Azure-dator med den systemtilldelade hanterade identiteten aktiverad behöver ditt konto rolltilldelningen Virtuell datordeltagare . Inga andra microsoft Entra-katalogrolltilldelningar krävs.

  1. Skapa en resursgrupp för inneslutning och distribution av den virtuella datorn och dess relaterade resurser med hjälp av az group create. Du kan hoppa över det här steget om du redan har en resursgrupp som du vill använda i stället:

    az group create --name myResourceGroup --location westus
    
  2. Skapa en virtuell dator med az vm create. I följande exempel skapas en virtuell dator med namnet myVM med en systemtilldelad hanterad identitet, enligt parameterns --assign-identity begäran, med angivet --role och --scope. Parametrarna --admin-username och --admin-password anger namnet och lösenordet för administratörer för inloggning på den virtuella datorn. Uppdatera dessa värden baserat på din miljö:

    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
    

Aktivera systemtilldelad hanterad identitet på en befintlig virtuell Azure-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. Om du använder Azure CLI i en lokal konsol börjar du med att logga in i Azure med az login. Använd ett konto som är associerat med Den Azure-prenumeration som innehåller den virtuella datorn.

    az login
    
  2. Använd az vm identity assign med identity assign kommandot enable the system-assigned identity to an existing VM:

    az vm identity assign -g myResourceGroup -n myVm
    

Inaktivera systemtilldelad identitet från en virtuell Azure-dator

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

Om du har en virtuell dator som inte längre behöver den systemtilldelade identiteten, men fortfarande behöver användartilldelade identiteter, använder du följande kommando:

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

Om du har en virtuell dator som inte längre behöver systemtilldelad identitet och den inte har några användartilldelade identiteter använder du följande kommando:

Kommentar

Värdet none är skiftlägeskänsligt. Det måste vara gemener.

az vm update -n myVM -g myResourceGroup --set identity.type="none"

Användartilldelad hanterad identitet

I det här avsnittet får du lära dig hur du lägger till och tar bort en användartilldelad hanterad identitet från en virtuell Azure-dator med Hjälp av Azure CLI. Om du skapar din användartilldelade hanterade identitet i en annan RG än den virtuella datorn. Du måste använda URL:en för din hanterade identitet för att tilldela den till den virtuella datorn. Till exempel:

--identities "/subscriptions/<SUBID>/resourcegroups/<RESROURCEGROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER_ASSIGNED_ID_NAME>"

Tilldela en användartilldelad hanterad identitet när en virtuell Azure-dator skapas

Om du vill tilldela en användartilldelad identitet till en virtuell dator när den skapas behöver ditt konto rolltilldelningarna Virtuell datordeltagare och Hanterad identitetsoperator . Inga andra microsoft Entra-katalogrolltilldelningar krävs.

  1. Du kan hoppa över det här steget om du redan har en resursgrupp som du vill använda. Skapa en resursgrupp för inneslutning och distribution av din användartilldelade hanterade identitet med az group create. Ersätt parametervärdena <RESOURCE GROUP> och <LOCATION> med dina egna värden. :

    az group create --name <RESOURCE GROUP> --location <LOCATION>
    
  2. Skapa en användartilldelad hanterad identitet med hjälp av az identity create. Parametern -g anger resursgruppen där den användartilldelade hanterade identiteten skapas, och parametern -n anger dess namn.

    Viktigt!

    När du skapar användartilldelade hanterade identiteter måste namnet börja med en bokstav eller siffra och kan innehålla en kombination av alfanumeriska tecken, bindestreck (-) och understreck (_). För att tilldelningen till en virtuell dator eller vm-skalningsuppsättning ska fungera korrekt är namnet begränsat till 24 tecken. Mer information finns i Vanliga frågor och kända problem.

    az identity create -g myResourceGroup -n myUserAssignedIdentity
    

    Svaret innehåller information om den användartilldelade hanterade identitet som skapats, ungefär som följande. Det resurs-ID-värde som tilldelats den användartilldelade hanterade identiteten används i följande steg.

    {
        "clientId": "73444643-8088-4d70-9532-c3a0fdc190fz",
        "clientSecretUrl": "https://control-westcentralus.identity.azure.net/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<myUserAssignedIdentity>/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. Skapa en virtuell dator med az vm create. I följande exempel skapas en virtuell dator som är associerad med den nya användartilldelade identiteten, enligt parametern --assign-identity , med angivet --role och --scope. Se till att ersätta parametervärdena <RESOURCE GROUP>, <VM NAME>, <USER NAME>, <PASSWORD>, <USER ASSIGNED IDENTITY NAME>och <SUBSCRIPTION><ROLE>med dina egna värden.

    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> 
    

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

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

  1. Skapa en användartilldelad identitet med hjälp av az identity create. Parametern -g anger resursgruppen där den användartilldelade identiteten skapas och parametern -n anger dess namn. Ersätt parametervärdena <RESOURCE GROUP> och <USER ASSIGNED IDENTITY NAME> med dina egna värden:

    Viktigt!

    Det finns för närvarande inte stöd för att skapa användartilldelade hanterade identiteter med specialtecken (dvs. understreck) i namnet. Använd alfanumeriska tecken. Kom tillbaka om för att få uppdateringar. Mer information finns i Vanliga frågor och svar och kända problem

    az identity create -g <RESOURCE GROUP> -n <USER ASSIGNED IDENTITY NAME>
    

    Svaret innehåller information om den användartilldelade hanterade identitet som skapats, ungefär som följande.

    {
      "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"    
    }
    
  2. Tilldela den användartilldelade identiteten till den virtuella datorn med az vm identity assign. Ersätt parametervärdena <RESOURCE GROUP> och <VM NAME> med dina egna värden. <USER ASSIGNED IDENTITY NAME> är den användartilldelade hanterade identitetens resursegenskapname, som du skapade i föregående steg. Om du har skapat din användartilldelade hanterade identitet i en annan RG än den virtuella datorn. Du måste använda URL:en för din hanterade identitet.

    az vm identity assign -g <RESOURCE GROUP> -n <VM NAME> --identities <USER ASSIGNED IDENTITY>
    

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

Om du vill ta bort en användartilldelad identitet till en virtuell dator behöver ditt konto rolltilldelningen Virtuell datordeltagare .

Om det här är den enda användartilldelade hanterade identiteten som tilldelats den virtuella datorn UserAssigned tas den bort från värdet för identitetstyp. Ersätt parametervärdena <RESOURCE GROUP> och <VM NAME> med dina egna värden. <USER ASSIGNED IDENTITY> Kommer att vara den användartilldelade identitetens name egenskap, som finns i identitetsavsnittet på den virtuella datorn med hjälp av az vm identity show:

az vm identity remove -g <RESOURCE GROUP> -n <VM NAME> --identities <USER ASSIGNED IDENTITY>

Om den virtuella datorn inte har någon systemtilldelad hanterad identitet och du vill ta bort alla användartilldelade identiteter från den använder du följande kommando:

Kommentar

Värdet none är skiftlägeskänsligt. Det måste vara gemener.

az vm update -n myVM -g myResourceGroup --set identity.type="none" identity.userAssignedIdentities=null

Om den virtuella datorn har både systemtilldelade och användartilldelade identiteter kan du ta bort alla användartilldelade identiteter genom att växla till att endast använda systemtilldelade. Ange följande kommando:

az vm update -n myVM -g myResourceGroup --set identity.type='SystemAssigned' identity.userAssignedIdentities=null 

Nästa steg