Konfigurowanie tożsamości zarządzanych dla zasobów platformy Azure w zestawie skalowania maszyn wirtualnych przy użyciu wywołań interfejsu API REST

Tożsamości zarządzane dla zasobów platformy Azure zapewniają usługom platformy Azure automatycznie zarządzaną tożsamość systemu w usłudze Microsoft Entra ID. Za pomocą tej tożsamości można uwierzytelnić się w dowolnej usłudze obsługującej uwierzytelnianie usługi Microsoft Entra bez konieczności przechowywania poświadczeń w kodzie.

W tym artykule za pomocą narzędzia CURL do wykonywania wywołań do punktu końcowego REST usługi Azure Resource Manager dowiesz się, jak wykonywać następujące tożsamości zarządzane dla operacji zasobów platformy Azure w zestawie skalowania maszyn wirtualnych:

  • Włączanie i wyłączanie tożsamości zarządzanej przypisanej przez system w zestawie skalowania maszyn wirtualnych platformy Azure
  • Dodawanie i usuwanie tożsamości zarządzanej przypisanej przez użytkownika w zestawie skalowania maszyn wirtualnych platformy Azure

Jeśli nie masz jeszcze konta platformy Azure, utwórz bezpłatne konto przed kontynuowaniem.

Wymagania wstępne

  • Jeśli nie znasz tożsamości zarządzanych dla zasobów platformy Azure, zobacz Co to są tożsamości zarządzane dla zasobów platformy Azure?. Aby dowiedzieć się więcej o typach tożsamości zarządzanych przypisanych przez system i przypisanych przez użytkownika, zobacz Typy tożsamości zarządzanych.

  • Aby wykonać operacje zarządzania w tym artykule, twoje konto wymaga następujących przypisań ról platformy Azure:

    • Współautor maszyny wirtualnej w celu utworzenia zestawu skalowania maszyn wirtualnych oraz włączenia i usunięcia tożsamości zarządzanej przypisanej przez użytkownika i/lub z zestawu skalowania maszyn wirtualnych.

    • Rola Współautor tożsamości zarządzanej w celu utworzenia tożsamości zarządzanej przypisanej przez użytkownika.

    • Rola Operator tożsamości zarządzanej w celu przypisania i usunięcia tożsamości przypisanej przez użytkownika z i do zestawu skalowania maszyn wirtualnych.

    Uwaga

    Nie są wymagane żadne dodatkowe przypisania ról katalogu Entra firmy Microsoft.

Tożsamość zarządzana przypisana przez system

W tej sekcji dowiesz się, jak włączyć i wyłączyć tożsamość zarządzaną przypisaną przez system w zestawie skalowania maszyn wirtualnych przy użyciu narzędzia CURL w celu wykonywania wywołań do punktu końcowego REST usługi Azure Resource Manager.

Włączanie tożsamości zarządzanej przypisanej przez system podczas tworzenia zestawu skalowania maszyn wirtualnych

Aby utworzyć zestaw skalowania maszyn wirtualnych z włączoną tożsamością zarządzaną przypisaną przez system, należy utworzyć zestaw skalowania maszyn wirtualnych i pobrać token dostępu, aby użyć programu CURL do wywołania punktu końcowego usługi Resource Manager z wartością typu tożsamości zarządzanej przypisanej przez system.

  1. Utwórz grupę zasobów do przechowywania i wdrażania zestawu skalowania maszyn wirtualnych i powiązanych z nią zasobów przy użyciu polecenia az group create. Ten krok możesz pominąć, jeśli masz już grupę zasobów, której chcesz użyć w zamian:

    az group create --name myResourceGroup --location westus
    
  2. Utwórz interfejs sieciowy dla zestawu skalowania maszyn wirtualnych:

     az network nic create -g myResourceGroup --vnet-name myVnet --subnet mySubnet -n myNic
    
  3. Pobierz token dostępu elementu nośnego, którego użyjesz w następnym kroku w nagłówku Autoryzacja, aby utworzyć zestaw skalowania maszyn wirtualnych z tożsamością zarządzaną przypisaną przez system.

    az account get-access-token
    
  4. Za pomocą usługi Azure Cloud Shell utwórz zestaw skalowania maszyn wirtualnych przy użyciu narzędzia CURL w celu wywołania punktu końcowego REST usługi Azure Resource Manager. W poniższym przykładzie tworzony jest zestaw skalowania maszyn wirtualnych o nazwie myVMSS w grupie myResourceGroup z tożsamością zarządzaną przypisaną przez system zgodnie z wartością "identity":{"type":"SystemAssigned"}w treści żądania. Zastąp <ACCESS TOKEN> ciąg wartością otrzymaną w poprzednim kroku, gdy zażądano tokenu dostępu elementu nośnego i <SUBSCRIPTION ID> wartość odpowiednią dla danego środowiska.

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PUT -d '{"sku":{"tier":"Standard","capacity":3,"name":"Standard_D1_v2"},"location":"eastus","identity":{"type":"SystemAssigned"},"properties":{"overprovision":true,"virtualMachineProfile":{"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"StandardSSD_LRS"},"createOption":"FromImage"}},"osProfile":{"computerNamePrefix":"myVMSS","adminUsername":"azureuser","adminPassword":"myPassword12"},"networkProfile":{"networkInterfaceConfigurations":[{"name":"myVMSS","properties":{"primary":true,"enableIPForwarding":true,"ipConfigurations":[{"name":"myVMSS","properties":{"subnet":{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"}}}]}}]}},"upgradePolicy":{"mode":"Manual"}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
    
    PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
    

    Nagłówki żądań

    Nagłówek żądania opis
    Typ zawartości Wymagany. Ustaw wartość application/json.
    Autoryzacja Wymagany. Ustaw prawidłowy Bearer token dostępu.

    Treść żądania

     {
        "sku":{
           "tier":"Standard",
           "capacity":3,
           "name":"Standard_D1_v2"
        },
        "location":"eastus",
        "identity":{
           "type":"SystemAssigned"
        },
        "properties":{
           "overprovision":true,
           "virtualMachineProfile":{
              "storageProfile":{
                 "imageReference":{
                    "sku":"2016-Datacenter",
                    "publisher":"MicrosoftWindowsServer",
                    "version":"latest",
                    "offer":"WindowsServer"
                 },
                 "osDisk":{
                    "caching":"ReadWrite",
                    "managedDisk":{
                       "storageAccountType":"StandardSSD_LRS"
                    },
                    "createOption":"FromImage"
                 }
              },
              "osProfile":{
                 "computerNamePrefix":"myVMSS",
                 "adminUsername":"azureuser",
                 "adminPassword":"myPassword12"
              },
              "networkProfile":{
                 "networkInterfaceConfigurations":[
                    {
                       "name":"myVMSS",
                       "properties":{
                          "primary":true,
                          "enableIPForwarding":true,
                          "ipConfigurations":[
                             {
                                "name":"myVMSS",
                                "properties":{
                                   "subnet":{
                                      "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
                                   }
                                }
                             }
                          ]
                       }
                    }
                 ]
              }
           },
           "upgradePolicy":{
              "mode":"Manual"
           }
        }
     }  
    

Włączanie tożsamości zarządzanej przypisanej przez system w istniejącym zestawie skalowania maszyn wirtualnych

Aby włączyć tożsamość zarządzaną przypisaną przez system w istniejącym zestawie skalowania maszyn wirtualnych, należy uzyskać token dostępu, a następnie użyć narzędzia CURL, aby wywołać punkt końcowy REST usługi Resource Manager w celu zaktualizowania typu tożsamości.

  1. Pobierz token dostępu elementu nośnego, którego użyjesz w następnym kroku w nagłówku Autoryzacja, aby utworzyć zestaw skalowania maszyn wirtualnych z tożsamością zarządzaną przypisaną przez system.

    az account get-access-token
    
  2. Użyj następującego polecenia CURL, aby wywołać punkt końcowy REST usługi Azure Resource Manager, aby włączyć tożsamość zarządzaną przypisaną przez system w zestawie skalowania maszyn wirtualnych zidentyfikowane w treści żądania przez wartość {"identity":{"type":"SystemAssigned"} zestawu skalowania maszyn wirtualnych o nazwie myVMSS. Zastąp <ACCESS TOKEN> ciąg wartością otrzymaną w poprzednim kroku, gdy zażądano tokenu dostępu elementu nośnego i <SUBSCRIPTION ID> wartość odpowiednią dla danego środowiska.

    Ważne

    Aby upewnić się, że nie usuniesz żadnych istniejących tożsamości zarządzanych przypisanych przez użytkownika przypisanych do zestawu skalowania maszyn wirtualnych, musisz wyświetlić listę tożsamości zarządzanych przypisanych przez użytkownika przy użyciu tego polecenia CURL: curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachineScaleSets/<VMSS NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>". Jeśli masz przypisane przez użytkownika tożsamości zarządzane przypisane do zestawu skalowania maszyn wirtualnych określone w identity wartości w odpowiedzi, przejdź do kroku 3, który pokazuje, jak zachować tożsamości zarządzane przypisane przez użytkownika podczas włączania tożsamości zarządzanej przypisanej przez system w zestawie skalowania maszyn wirtualnych.

     curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?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/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
    

    Nagłówki żądań

    Nagłówek żądania opis
    Typ zawartości Wymagany. Ustaw wartość application/json.
    Autoryzacja Wymagany. Ustaw prawidłowy Bearer token dostępu.

    Treść żądania

     {
        "identity":{
           "type":"SystemAssigned"
        }
     }
    
  3. Aby włączyć tożsamość zarządzaną przypisaną przez system w zestawie skalowania maszyn wirtualnych z istniejącymi tożsamościami zarządzanymi przypisanymi przez użytkownika, należy dodać SystemAssignedtype wartość.

    Jeśli na przykład zestaw skalowania maszyn wirtualnych ma przypisane przez użytkownika tożsamości ID1 zarządzane i ID2 do niego przypisane, i chcesz dodać tożsamość zarządzaną przypisaną przez system do zestawu skalowania maszyn wirtualnych, użyj następującego wywołania CURL. Zastąp <ACCESS TOKEN> wartości i <SUBSCRIPTION ID> odpowiednimi dla danego środowiska.

    Wersja 2018-06-01 interfejsu API przechowuje tożsamości zarządzane przypisane przez użytkownika w userAssignedIdentities wartości w formacie słownika, w przeciwieństwie do identityIds wartości w formacie tablicy używanym w wersji 2017-12-01interfejsu API .

    INTERFEJS API W WERSJI 2018-06-01

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?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/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
    

    Nagłówki żądań

    Nagłówek żądania opis
    Typ zawartości Wymagany. Ustaw wartość application/json.
    Autoryzacja Wymagany. Ustaw prawidłowy Bearer token dostępu.

    Treść żądania

     {
        "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":{
    
              }
           }
        }
     }
    

    INTERFEJS API W WERSJI 2017-12-01

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?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/virtualMachineScaleSets/myVMSS?api-version=2017-12-01 HTTP/1.1
    

    Nagłówki żądań

    Nagłówek żądania opis
    Typ zawartości Wymagany. Ustaw wartość application/json.
    Autoryzacja Wymagany. Ustaw prawidłowy Bearer token dostępu.

    Treść żądania

     {
        "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"
           ]
        }
     }
    

Wyłączanie tożsamości zarządzanej przypisanej przez system z zestawu skalowania maszyn wirtualnych

Aby wyłączyć tożsamość przypisaną przez system w istniejącym zestawie skalowania maszyn wirtualnych, należy uzyskać token dostępu, a następnie wywołać punkt końcowy REST usługi Resource Manager w celu zaktualizowania typu tożsamości na None.

  1. Pobierz token dostępu elementu nośnego, którego użyjesz w następnym kroku w nagłówku Autoryzacja, aby utworzyć zestaw skalowania maszyn wirtualnych z tożsamością zarządzaną przypisaną przez system.

    az account get-access-token
    
  2. Zaktualizuj zestaw skalowania maszyn wirtualnych przy użyciu narzędzia CURL, aby wywołać punkt końcowy REST usługi Azure Resource Manager, aby wyłączyć tożsamość zarządzaną przypisaną przez system. Poniższy przykład wyłącza tożsamość zarządzaną przypisaną przez system zgodnie z opisem w treści żądania przez wartość {"identity":{"type":"None"}} z zestawu skalowania maszyn wirtualnych o nazwie myVMSS. Zastąp <ACCESS TOKEN> ciąg wartością otrzymaną w poprzednim kroku, gdy zażądano tokenu dostępu elementu nośnego i <SUBSCRIPTION ID> wartość odpowiednią dla danego środowiska.

    Ważne

    Aby upewnić się, że nie usuniesz żadnych istniejących tożsamości zarządzanych przypisanych przez użytkownika przypisanych do zestawu skalowania maszyn wirtualnych, musisz wyświetlić listę tożsamości zarządzanych przypisanych przez użytkownika przy użyciu tego polecenia CURL: curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachineScaleSets/<VMSS NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>". Jeśli masz przypisaną przez użytkownika tożsamość zarządzaną przypisaną do zestawu skalowania maszyn wirtualnych, przejdź do kroku 3, który pokazuje, jak zachować tożsamości zarządzane przypisane przez użytkownika podczas usuwania tożsamości zarządzanej przypisanej przez system z zestawu skalowania maszyn wirtualnych.

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?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/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
    

    Nagłówki żądań

    Nagłówek żądania opis
    Typ zawartości Wymagany. Ustaw wartość application/json.
    Autoryzacja Wymagany. Ustaw prawidłowy Bearer token dostępu.

    Treść żądania

     {
        "identity":{
           "type":"None"
        }
     }
    

    Aby usunąć tożsamość zarządzaną przypisaną przez system z zestawu skalowania maszyn wirtualnych z przypisanymi przez użytkownika tożsamościami zarządzanymi, usuń wartość z {"identity":{"type:" "}} wartości i userAssignedIdentitiesUserAssigned wartości słownika, jeśli używasz interfejsu API w wersji 2018-06-01.SystemAssigned Jeśli używasz interfejsu API w wersji 2017-12-01 lub starszej, zachowaj tablicę identityIds .

Tożsamość zarządzana przypisana przez użytkownika

W tej sekcji dowiesz się, jak dodawać i usuwać tożsamość zarządzaną przypisaną przez użytkownika w zestawie skalowania maszyn wirtualnych przy użyciu narzędzia CURL do wykonywania wywołań do punktu końcowego REST usługi Azure Resource Manager.

Przypisywanie tożsamości zarządzanej przypisanej przez użytkownika podczas tworzenia zestawu skalowania maszyn wirtualnych

  1. Pobierz token dostępu elementu nośnego, którego użyjesz w następnym kroku w nagłówku Autoryzacja, aby utworzyć zestaw skalowania maszyn wirtualnych z tożsamością zarządzaną przypisaną przez system.

    az account get-access-token
    
  2. Utwórz interfejs sieciowy dla zestawu skalowania maszyn wirtualnych:

     az network nic create -g myResourceGroup --vnet-name myVnet --subnet mySubnet -n myNic
    
  3. Pobierz token dostępu elementu nośnego, którego użyjesz w następnym kroku w nagłówku Autoryzacja, aby utworzyć zestaw skalowania maszyn wirtualnych z tożsamością zarządzaną przypisaną przez system.

    az account get-access-token
    
  4. Utwórz tożsamość zarządzaną przypisaną przez użytkownika, korzystając z instrukcji podanych tutaj: Tworzenie tożsamości zarządzanej przypisanej przez użytkownika.

  5. Utwórz zestaw skalowania maszyn wirtualnych przy użyciu narzędzia CURL w celu wywołania punktu końcowego REST usługi Azure Resource Manager. W poniższym przykładzie tworzony jest zestaw skalowania maszyn wirtualnych o nazwie myVMSS w grupie zasobów myResourceGroup z tożsamością zarządzaną przypisaną przez użytkownika, zgodnie z wartością "identity":{"type":"UserAssigned"}ID1w treści żądania. Zastąp <ACCESS TOKEN> ciąg wartością otrzymaną w poprzednim kroku, gdy zażądano tokenu dostępu elementu nośnego i <SUBSCRIPTION ID> wartość odpowiednią dla danego środowiska.

    INTERFEJS API W WERSJI 2018-06-01

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PUT -d '{"sku":{"tier":"Standard","capacity":3,"name":"Standard_D1_v2"},"location":"eastus","identity":{"type":"UserAssigned","userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{}}},"properties":{"overprovision":true,"virtualMachineProfile":{"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"StandardSSD_LRS"},"createOption":"FromImage"}},"osProfile":{"computerNamePrefix":"myVMSS","adminUsername":"azureuser","adminPassword":"myPassword12"},"networkProfile":{"networkInterfaceConfigurations":[{"name":"myVMSS","properties":{"primary":true,"enableIPForwarding":true,"ipConfigurations":[{"name":"myVMSS","properties":{"subnet":{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"}}}]}}]}},"upgradePolicy":{"mode":"Manual"}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
    
    PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
    

    Nagłówki żądań

    Nagłówek żądania opis
    Typ zawartości Wymagany. Ustaw wartość application/json.
    Autoryzacja Wymagany. Ustaw prawidłowy Bearer token dostępu.

    Treść żądania

     {
        "sku":{
           "tier":"Standard",
           "capacity":3,
           "name":"Standard_D1_v2"
        },
        "location":"eastus",
        "identity":{
           "type":"UserAssigned",
           "userAssignedIdentities":{
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{
    
              }
           }
        },
        "properties":{
           "overprovision":true,
           "virtualMachineProfile":{
              "storageProfile":{
                 "imageReference":{
                    "sku":"2016-Datacenter",
                    "publisher":"MicrosoftWindowsServer",
                    "version":"latest",
                    "offer":"WindowsServer"
                 },
                 "osDisk":{
                    "caching":"ReadWrite",
                    "managedDisk":{
                       "storageAccountType":"StandardSSD_LRS"
                    },
                    "createOption":"FromImage"
                 }
              },
              "osProfile":{
                 "computerNamePrefix":"myVMSS",
                 "adminUsername":"azureuser",
                 "adminPassword":"myPassword12"
              },
              "networkProfile":{
                 "networkInterfaceConfigurations":[
                    {
                       "name":"myVMSS",
                       "properties":{
                          "primary":true,
                          "enableIPForwarding":true,
                          "ipConfigurations":[
                             {
                                "name":"myVMSS",
                                "properties":{
                                   "subnet":{
                                      "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
                                   }
                                }
                             }
                          ]
                       }
                    }
                 ]
              }
           },
           "upgradePolicy":{
              "mode":"Manual"
           }
        }
     }
    

    INTERFEJS API W WERSJI 2017-12-01

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01' -X PUT -d '{"sku":{"tier":"Standard","capacity":3,"name":"Standard_D1_v2"},"location":"eastus","identity":{"type":"UserAssigned","identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]},"properties":{"overprovision":true,"virtualMachineProfile":{"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"StandardSSD_LRS"},"createOption":"FromImage"}},"osProfile":{"computerNamePrefix":"myVMSS","adminUsername":"azureuser","adminPassword":"myPassword12"},"networkProfile":{"networkInterfaceConfigurations":[{"name":"myVMSS","properties":{"primary":true,"enableIPForwarding":true,"ipConfigurations":[{"name":"myVMSS","properties":{"subnet":{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"}}}]}}]}},"upgradePolicy":{"mode":"Manual"}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
    
    PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01 HTTP/1.1
    

    Nagłówki żądań

    Nagłówek żądania opis
    Typ zawartości Wymagany. Ustaw wartość application/json.
    Autoryzacja Wymagany. Ustaw prawidłowy Bearer token dostępu.

    Treść żądania

     {
        "sku":{
           "tier":"Standard",
           "capacity":3,
           "name":"Standard_D1_v2"
        },
        "location":"eastus",
        "identity":{
           "type":"UserAssigned",
           "identityIds":[
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"
           ]
        },
        "properties":{
           "overprovision":true,
           "virtualMachineProfile":{
              "storageProfile":{
                 "imageReference":{
                    "sku":"2016-Datacenter",
                    "publisher":"MicrosoftWindowsServer",
                    "version":"latest",
                    "offer":"WindowsServer"
                 },
                 "osDisk":{
                    "caching":"ReadWrite",
                    "managedDisk":{
                       "storageAccountType":"StandardSSD_LRS"
                    },
                    "createOption":"FromImage"
                 }
              },
              "osProfile":{
                 "computerNamePrefix":"myVMSS",
                 "adminUsername":"azureuser",
                 "adminPassword":"myPassword12"
              },
              "networkProfile":{
                 "networkInterfaceConfigurations":[
                    {
                       "name":"myVMSS",
                       "properties":{
                          "primary":true,
                          "enableIPForwarding":true,
                          "ipConfigurations":[
                             {
                                "name":"myVMSS",
                                "properties":{
                                   "subnet":{
                                      "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
                                   }
                                }
                             }
                          ]
                       }
                    }
                 ]
              }
           },
           "upgradePolicy":{
              "mode":"Manual"
           }
        }
     }
    

Przypisywanie tożsamości zarządzanej przypisanej przez użytkownika do istniejącego zestawu skalowania maszyn wirtualnych platformy Azure

  1. Pobierz token dostępu elementu nośnego, którego użyjesz w następnym kroku w nagłówku Autoryzacja, aby utworzyć zestaw skalowania maszyn wirtualnych z tożsamością zarządzaną przypisaną przez system.

    az account get-access-token
    
  2. Utwórz tożsamość zarządzaną przypisaną przez użytkownika, korzystając z instrukcji podanych tutaj: Tworzenie tożsamości zarządzanej przypisanej przez użytkownika.

  3. Aby upewnić się, że nie usuniesz istniejących tożsamości zarządzanych przypisanych przez użytkownika ani przypisane przez system do zestawu skalowania maszyn wirtualnych, musisz wyświetlić listę typów tożsamości przypisanych do zestawu skalowania maszyn wirtualnych przy użyciu następującego polecenia CURL. Jeśli masz tożsamości zarządzane przypisane do zestawu skalowania maszyn wirtualnych, są one wymienione w identity wartości .

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachineScaleSets/<VMSS 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/virtualMachineScaleSets/<VMSS NAME>?api-version=2018-06-01 HTTP/1.1
    

    Nagłówki żądań

    Nagłówek żądania opis
    Autoryzacja Wymagany. Ustaw prawidłowy Bearer token dostępu.
  4. Jeśli nie masz żadnych tożsamości zarządzanych przypisanych przez użytkownika lub system do zestawu skalowania maszyn wirtualnych, użyj następującego polecenia CURL, aby wywołać punkt końcowy REST usługi Azure Resource Manager, aby przypisać pierwszą tożsamość zarządzaną przypisaną przez użytkownika do zestawu skalowania maszyn wirtualnych. Jeśli masz przypisane przez użytkownika lub przypisane przez system tożsamości zarządzane do zestawu skalowania maszyn wirtualnych, przejdź do kroku 5, który pokazuje, jak dodać wiele tożsamości zarządzanych przypisanych przez użytkownika do zestawu skalowania maszyn wirtualnych, a jednocześnie zachować tożsamość zarządzaną przypisaną przez system.

    W poniższym przykładzie przypisano tożsamość ID1 zarządzaną przypisaną przez użytkownika do zestawu skalowania maszyn wirtualnych o nazwie myVMSS w grupie zasobów myResourceGroup. Zastąp <ACCESS TOKEN> ciąg wartością otrzymaną w poprzednim kroku, gdy zażądano tokenu dostępu elementu nośnego i <SUBSCRIPTION ID> wartość odpowiednią dla danego środowiska.

    INTERFEJS API W WERSJI 2018-06-01

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-12-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/virtualMachineScaleSets/myVMSS?api-version=2018-12-01 HTTP/1.1
    

    Nagłówki żądań

    Nagłówek żądania opis
    Typ zawartości Wymagany. Ustaw wartość application/json.
    Autoryzacja Wymagany. Ustaw prawidłowy Bearer token dostępu.

    Treść żądania

     {
        "identity":{
           "type":"userAssigned",
           "userAssignedIdentities":{
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{
    
              }
           }
        }
     }
    

    INTERFEJS API W WERSJI 2017-12-01

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?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/virtualMachineScaleSets/myVMSS?api-version=2017-12-01 HTTP/1.1
    

    Nagłówki żądań

    Nagłówek żądania opis
    Typ zawartości Wymagany. Ustaw wartość application/json.
    Autoryzacja Wymagany. Ustaw prawidłowy Bearer token dostępu.

    Treść żądania

     {
        "identity":{
           "type":"userAssigned",
           "identityIds":[
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"
           ]
        }
     }
    
  5. Jeśli masz przypisaną przez użytkownika lub przypisaną przez system tożsamość zarządzaną przypisaną do zestawu skalowania maszyn wirtualnych:

    INTERFEJS API W WERSJI 2018-06-01

    Dodaj tożsamość zarządzaną przypisaną przez użytkownika do wartości słownika userAssignedIdentities .

    Jeśli na przykład masz tożsamość zarządzaną przypisaną przez system i tożsamość ID1 zarządzaną przypisaną przez użytkownika do skalowania maszyn wirtualnych i chcesz dodać do niej tożsamość ID2 zarządzaną przypisaną przez użytkownika:

    curl  'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?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/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
    

    Nagłówki żądań

    Nagłówek żądania opis
    Typ zawartości Wymagany. Ustaw wartość application/json.
    Autoryzacja Wymagany. Ustaw prawidłowy Bearer token dostępu.

    Treść żądania

     {
        "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":{
    
              }
           }
        }
     }
    

    INTERFEJS API W WERSJI 2017-12-01

    Zachowaj tożsamości zarządzane przypisane przez użytkownika, które chcesz zachować w identityIds wartości tablicy podczas dodawania nowej tożsamości zarządzanej przypisanej przez użytkownika.

    Jeśli na przykład masz tożsamość przypisaną przez system i tożsamość ID1 zarządzaną przypisaną przez użytkownika do zestawu skalowania maszyn wirtualnych i chcesz dodać do niej tożsamość ID2 zarządzaną przypisaną przez użytkownika:

    curl  'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?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/virtualMachineScaleSets/myVMSS?api-version=2017-12-01 HTTP/1.1
    

    Nagłówki żądań

    Nagłówek żądania opis
    Typ zawartości Wymagany. Ustaw wartość application/json.
    Autoryzacja Wymagany. Ustaw prawidłowy Bearer token dostępu.

    Treść żądania

     {
        "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"
           ]
        }
     }
    

Usuwanie tożsamości zarządzanej przypisanej przez użytkownika z zestawu skalowania maszyn wirtualnych

  1. Pobierz token dostępu elementu nośnego, którego użyjesz w następnym kroku w nagłówku Autoryzacja, aby utworzyć zestaw skalowania maszyn wirtualnych z tożsamością zarządzaną przypisaną przez system.

    az account get-access-token
    
  2. Aby upewnić się, że nie usuniesz żadnych istniejących tożsamości zarządzanych przypisanych przez użytkownika, które mają być przypisane do zestawu skalowania maszyn wirtualnych lub usuń tożsamość zarządzaną przypisaną przez system, musisz wyświetlić listę tożsamości zarządzanych przy użyciu następującego polecenia CURL:

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachineScaleSets/<VMSS 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/virtualMachineScaleSets/<VMSS NAME>?api-version=2018-06-01 HTTP/1.1
    

    Nagłówki żądań

    Nagłówek żądania opis
    Autoryzacja Wymagany. Ustaw prawidłowy Bearer token dostępu.

    Jeśli masz tożsamości zarządzane przypisane do maszyny wirtualnej, są one wymienione w odpowiedzi w identity wartości .

    Jeśli na przykład masz tożsamości ID1 zarządzane przypisane przez użytkownika i ID2 przypisano je do zestawu skalowania maszyn wirtualnych i chcesz zachować ID1 tylko przypisaną i zachowaną tożsamość zarządzaną przypisaną przez system:

    INTERFEJS API W WERSJI 2018-06-01

    Dodaj null do tożsamości zarządzanej przypisanej przez użytkownika, którą chcesz usunąć:

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?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/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
    

    Nagłówki żądań

    Nagłówek żądania opis
    Typ zawartości Wymagany. Ustaw wartość application/json.
    Autoryzacja Wymagany. Ustaw prawidłowy Bearer token dostępu.

    Treść żądania

     {
        "identity":{
           "type":"SystemAssigned, UserAssigned",
           "userAssignedIdentities":{
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":null
           }
        }
     }
    

    INTERFEJS API W WERSJI 2017-12-01

    Zachowaj tylko tożsamości zarządzane przypisane przez użytkownika, które mają być przechowywane w tablicy identityIds :

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?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/virtualMachineScaleSets/myVMSS?api-version=2017-12-01 HTTP/1.1
    

    Nagłówki żądań

    Nagłówek żądania opis
    Typ zawartości Wymagany. Ustaw wartość application/json.
    Autoryzacja Wymagany. Ustaw prawidłowy Bearer token dostępu.

    Treść żądania

     {
        "identity":{
           "type":"SystemAssigned,UserAssigned",
           "identityIds":[
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"
           ]
        }
     }
    

Jeśli zestaw skalowania maszyn wirtualnych ma tożsamości zarządzane przypisane przez system i przypisane przez użytkownika, możesz usunąć wszystkie tożsamości zarządzane przypisane przez użytkownika, przełączając się tak, aby używać tylko przypisanego przez system polecenia:

curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?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/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1

Nagłówki żądań

Nagłówek żądania opis
Typ zawartości Wymagany. Ustaw wartość application/json.
Autoryzacja Wymagany. Ustaw prawidłowy Bearer token dostępu.

Treść żądania

{
   "identity":{
      "type":"SystemAssigned"
   }
}

Jeśli zestaw skalowania maszyn wirtualnych ma tylko tożsamości zarządzane przypisane przez użytkownika i chcesz je usunąć, użyj następującego polecenia:

curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?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/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1

Nagłówki żądań

Nagłówek żądania opis
Typ zawartości Wymagany. Ustaw wartość application/json.
Autoryzacja Wymagany. Ustaw prawidłowy Bearer token dostępu.

Treść żądania

{
   "identity":{
      "type":"None"
   }
}

Następne kroki

Aby uzyskać informacje na temat tworzenia, wyświetlania listy lub usuwania tożsamości zarządzanych przypisanych przez użytkownika przy użyciu interfejsu REST, zobacz: