Konfigurace spravovaných identit pro prostředky Azure ve škálovací sadě virtuálních počítačů pomocí volání rozhraní REST API

Spravované identity pro prostředky Azure poskytují službám Azure automaticky spravovanou systémovou identitu v Microsoft Entra ID. Tuto identitu můžete použít k ověření v jakékoli službě, která podporuje ověřování Microsoft Entra, aniž byste ve vašem kódu museli mít přihlašovací údaje.

V tomto článku se pomocí nástroje CURL k volání koncového bodu REST Azure Resource Manageru naučíte provádět následující spravované identity pro operace prostředků Azure ve škálovací sadě virtuálních počítačů:

  • Povolení a zakázání spravované identity přiřazené systémem ve škálovací sadě virtuálních počítačů Azure
  • Přidání a odebrání spravované identity přiřazené uživatelem ve škálovací sadě virtuálních počítačů Azure

Pokud ještě nemáte účet Azure, zaregistrujte si bezplatný účet před tím, než budete pokračovat.

Požadavky

  • Pokud neznáte spravované identity pro prostředky Azure, přečtěte si téma Co jsou spravované identity pro prostředky Azure? Další informace o typech spravovaných identit přiřazených systémem a přiřazených uživatelem najdete v tématu Typy spravovaných identit.

  • Pokud chcete provádět operace správy v tomto článku, váš účet potřebuje následující přiřazení rolí Azure:

    • Přispěvatel virtuálních počítačů vytvoří škálovací sadu virtuálních počítačů a povolí a odebere spravovanou identitu přiřazenou systémem nebo uživatelem ze škálovací sady virtuálních počítačů.

    • Role Přispěvatel spravované identity pro vytvoření spravované identity přiřazené uživatelem

    • Role operátora spravované identity pro přiřazení a odebrání identity přiřazené uživatelem ze škálovací sady virtuálních počítačů

    Poznámka:

    Nevyžaduje se žádné další přiřazení rolí adresáře Microsoft Entra.

Spravovaná identita přiřazená systémem

V této části se dozvíte, jak povolit a zakázat spravovanou identitu přiřazenou systémem ve škálovací sadě virtuálních počítačů pomocí nástroje CURL k volání koncového bodu REST Azure Resource Manageru.

Povolení spravované identity přiřazené systémem během vytváření škálovací sady virtuálních počítačů

Pokud chcete vytvořit škálovací sadu virtuálních počítačů s povolenou spravovanou identitou přiřazenou systémem, musíte vytvořit škálovací sadu virtuálních počítačů a načíst přístupový token pro volání koncového bodu Resource Manageru s hodnotou typu spravované identity přiřazené systémem.

  1. Pomocí příkazu az group create vytvořte skupinu prostředků pro omezení a nasazení škálovací sady virtuálních počítačů a souvisejících prostředků. Pokud už máte skupinu prostředků, kterou chcete použít, můžete tento krok přeskočit:

    az group create --name myResourceGroup --location westus
    
  2. Vytvořte síťové rozhraní pro škálovací sadu virtuálních počítačů:

     az network nic create -g myResourceGroup --vnet-name myVnet --subnet mySubnet -n myNic
    
  3. Načtěte nosný přístupový token, který použijete v dalším kroku v hlavičce Autorizace k vytvoření škálovací sady virtuálních počítačů se spravovanou identitou přiřazenou systémem.

    az account get-access-token
    
  4. Pomocí Azure Cloud Shellu vytvořte škálovací sadu virtuálních počítačů pomocí NÁSTROJE CURL pro volání koncového bodu REST Azure Resource Manageru. Následující příklad vytvoří škálovací sadu virtuálních počítačů s názvem myVMSS v myResourceGroup se spravovanou identitou přiřazenou systémem, jak je uvedeno v textu požadavku hodnotou "identity":{"type":"SystemAssigned"}. Nahraďte <ACCESS TOKEN> hodnotou, kterou jste obdrželi v předchozím kroku, když jste požadovali nosný přístupový token a <SUBSCRIPTION ID> hodnotu podle potřeby pro vaše prostředí.

    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
    

    Hlavičky požadavku

    Hlavička požadavku Popis
    Typ obsahu Požadováno. Nastavte na application/json.
    Autorizace Požadováno. Nastavte platný Bearer přístupový token.

    Text požadavku

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

Povolení spravované identity přiřazené systémem ve stávající škálovací sadě virtuálních počítačů

Pokud chcete povolit spravovanou identitu přiřazenou systémem ve stávající škálovací sadě virtuálních počítačů, musíte získat přístupový token a pak pomocí nástroje CURL volat koncový bod REST Resource Manageru k aktualizaci typu identity.

  1. Načtěte nosný přístupový token, který použijete v dalším kroku v hlavičce Autorizace k vytvoření škálovací sady virtuálních počítačů se spravovanou identitou přiřazenou systémem.

    az account get-access-token
    
  2. Pomocí následujícího příkazu CURL volejte koncový bod REST Azure Resource Manageru a povolte spravovanou identitu přiřazenou systémem ve škálovací sadě virtuálních počítačů, jak je uvedeno v textu požadavku hodnotou {"identity":{"type":"SystemAssigned"} škálovací sady virtuálních počítačů s názvem myVMSS. Nahraďte <ACCESS TOKEN> hodnotou, kterou jste obdrželi v předchozím kroku, když jste požadovali nosný přístupový token a <SUBSCRIPTION ID> hodnotu podle potřeby pro vaše prostředí.

    Důležité

    Abyste měli jistotu, že neodstraníte žádné existující spravované identity přiřazené uživatelem přiřazené ke škálovací sadě virtuálních počítačů, musíte pomocí tohoto příkazu CURL zobrazit seznam spravovaných identit přiřazených uživatelem: 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>" Pokud máte přiřazené spravované identity přiřazené uživatelem přiřazené ke škálovací sadě virtuálních počítačů podle hodnoty v identity odpovědi, přeskočte ke kroku 3, který ukazuje, jak zachovat spravované identity přiřazené uživatelem při povolování spravované identity přiřazené systémem ve škálovací sadě virtuálních počítačů.

     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
    

    Hlavičky požadavku

    Hlavička požadavku Popis
    Typ obsahu Požadováno. Nastavte na application/json.
    Autorizace Požadováno. Nastavte platný Bearer přístupový token.

    Text požadavku

     {
        "identity":{
           "type":"SystemAssigned"
        }
     }
    
  3. Pokud chcete povolit spravovanou identitu přiřazenou systémem ve škálovací sadě virtuálních počítačů s existujícími spravovanými identitami přiřazenými uživatelem, musíte tuto type hodnotu přidatSystemAssigned.

    Pokud má například škálovací sada virtuálních počítačů spravované identity ID1 přiřazené uživatelem a ID2 přiřadí se k ní a chcete do škálovací sady virtuálních počítačů přidat spravovanou identitu přiřazenou systémem, použijte následující volání CURL. Nahraďte <ACCESS TOKEN> hodnoty odpovídající vašemu prostředí a <SUBSCRIPTION ID> nahraďte je hodnotami.

    Verze 2018-06-01 rozhraní API ukládá spravované identity přiřazené uživatelem v userAssignedIdentities hodnotě ve formátu slovníku identityIds na rozdíl od hodnoty ve formátu pole použitém ve verzi 2017-12-01rozhraní API .

    ROZHRANÍ API VERZE 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
    

    Hlavičky požadavku

    Hlavička požadavku Popis
    Typ obsahu Požadováno. Nastavte na application/json.
    Autorizace Požadováno. Nastavte platný Bearer přístupový token.

    Text požadavku

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

    ROZHRANÍ API VERZE 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
    

    Hlavičky požadavku

    Hlavička požadavku Popis
    Typ obsahu Požadováno. Nastavte na application/json.
    Autorizace Požadováno. Nastavte platný Bearer přístupový token.

    Text požadavku

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

Zakázání spravované identity přiřazené systémem ze škálovací sady virtuálních počítačů

Pokud chcete zakázat identitu přiřazenou systémem ve stávající škálovací sadě virtuálních počítačů, musíte získat přístupový token a pak pomocí nástroje CURL volat koncový bod REST Resource Manageru k aktualizaci typu identity na None.

  1. Načtěte nosný přístupový token, který použijete v dalším kroku v hlavičce Autorizace k vytvoření škálovací sady virtuálních počítačů se spravovanou identitou přiřazenou systémem.

    az account get-access-token
    
  2. Aktualizujte škálovací sadu virtuálních počítačů pomocí NÁSTROJE CURL pro volání koncového bodu REST Azure Resource Manageru, aby se zakázala spravovaná identita přiřazená systémem. Následující příklad zakáže spravovanou identitu přiřazenou systémem, jak je identifikována v textu požadavku hodnotou {"identity":{"type":"None"}} ze škálovací sady virtuálních počítačů s názvem myVMSS. Nahraďte <ACCESS TOKEN> hodnotou, kterou jste obdrželi v předchozím kroku, když jste požadovali nosný přístupový token a <SUBSCRIPTION ID> hodnotu podle potřeby pro vaše prostředí.

    Důležité

    Abyste měli jistotu, že neodstraníte žádné existující spravované identity přiřazené uživatelem přiřazené ke škálovací sadě virtuálních počítačů, musíte pomocí tohoto příkazu CURL zobrazit seznam spravovaných identit přiřazených uživatelem: 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>" Pokud máte přiřazenou spravovanou identitu přiřazenou uživatelem ke škálovací sadě virtuálních počítačů, přeskočte ke kroku 3, který ukazuje, jak zachovat spravované identity přiřazené uživatelem při odebírání spravované identity přiřazené systémem ze škálovací sady virtuálních počítačů.

    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
    

    Hlavičky požadavku

    Hlavička požadavku Popis
    Typ obsahu Požadováno. Nastavte na application/json.
    Autorizace Požadováno. Nastavte platný Bearer přístupový token.

    Text požadavku

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

    Pokud chcete odebrat spravovanou identitu přiřazenou systémem ze škálovací sady virtuálních počítačů, která má spravované identity přiřazené uživatelem, odeberte z hodnoty hodnotu UserAssigned a userAssignedIdentities hodnoty slovníku, pokud používáte rozhraní API verze 2018-06-01.{"identity":{"type:" "}}SystemAssigned Pokud používáte rozhraní API verze 2017-12-01 nebo starší, ponechte identityIds pole.

Spravovaná identita přiřazená uživatelem

V této části se dozvíte, jak přidat a odebrat spravovanou identitu přiřazenou uživatelem ve škálovací sadě virtuálních počítačů pomocí nástroje CURL k volání koncového bodu REST Azure Resource Manageru.

Přiřazení spravované identity přiřazené uživatelem při vytváření škálovací sady virtuálních počítačů

  1. Načtěte nosný přístupový token, který použijete v dalším kroku v hlavičce Autorizace k vytvoření škálovací sady virtuálních počítačů se spravovanou identitou přiřazenou systémem.

    az account get-access-token
    
  2. Vytvořte síťové rozhraní pro škálovací sadu virtuálních počítačů:

     az network nic create -g myResourceGroup --vnet-name myVnet --subnet mySubnet -n myNic
    
  3. Načtěte nosný přístupový token, který použijete v dalším kroku v hlavičce Autorizace k vytvoření škálovací sady virtuálních počítačů se spravovanou identitou přiřazenou systémem.

    az account get-access-token
    
  4. Pomocí zde uvedených pokynů vytvořte spravovanou identitu přiřazenou uživatelem: Vytvořte spravovanou identitu přiřazenou uživatelem.

  5. Vytvořte škálovací sadu virtuálních počítačů pomocí nástroje CURL pro volání koncového bodu REST Azure Resource Manageru. Následující příklad vytvoří škálovací sadu virtuálních počítačů s názvem myVMSS ve skupině prostředků myResourceGroup se spravovanou identitou ID1přiřazenou uživatelem, jak je identifikováno v těle požadavku hodnotou "identity":{"type":"UserAssigned"}. Nahraďte <ACCESS TOKEN> hodnotou, kterou jste obdrželi v předchozím kroku, když jste požadovali nosný přístupový token a <SUBSCRIPTION ID> hodnotu podle potřeby pro vaše prostředí.

    ROZHRANÍ API VERZE 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
    

    Hlavičky požadavku

    Hlavička požadavku Popis
    Typ obsahu Požadováno. Nastavte na application/json.
    Autorizace Požadováno. Nastavte platný Bearer přístupový token.

    Text požadavku

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

    ROZHRANÍ API VERZE 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
    

    Hlavičky požadavku

    Hlavička požadavku Popis
    Typ obsahu Požadováno. Nastavte na application/json.
    Autorizace Požadováno. Nastavte platný Bearer přístupový token.

    Text požadavku

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

Přiřazení spravované identity přiřazené uživatelem ke stávající škálovací sadě virtuálních počítačů Azure

  1. Načtěte nosný přístupový token, který použijete v dalším kroku v hlavičce Autorizace k vytvoření škálovací sady virtuálních počítačů se spravovanou identitou přiřazenou systémem.

    az account get-access-token
    
  2. Pomocí zde uvedených pokynů vytvořte spravovanou identitu přiřazenou uživatelem. Vytvořte spravovanou identitu přiřazenou uživatelem.

  3. Abyste měli jistotu, že neodstraníte existující spravované identity přiřazené uživatelem nebo systémem, které jsou přiřazené ke škálovací sadě virtuálních počítačů, musíte pomocí následujícího příkazu CURL zobrazit seznam typů identit přiřazených ke škálovací sadě virtuálních počítačů. Pokud máte spravované identity přiřazené ke škálovací sadě virtuálních počítačů, jsou uvedené v hodnotě identity .

    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
    

    Hlavičky požadavku

    Hlavička požadavku Popis
    Autorizace Požadováno. Nastavte platný Bearer přístupový token.
  4. Pokud nemáte přiřazené žádné spravované identity přiřazené uživatelem ani systémem ke škálovací sadě virtuálních počítačů, pomocí následujícího příkazu CURL zavolejte koncový bod REST Azure Resource Manageru a přiřaďte první spravovanou identitu přiřazenou uživatelem ke škálovací sadě virtuálních počítačů. Pokud máte spravované identity přiřazené uživatelem nebo systémem přiřazené ke škálovací sadě virtuálních počítačů, přeskočte ke kroku 5, který ukazuje, jak přidat více spravovaných identit přiřazených uživatelem do škálovací sady virtuálních počítačů a zároveň udržovat spravovanou identitu přiřazenou systémem.

    Následující příklad přiřadí spravovanou identitu ID1 přiřazenou uživatelem ke škálovací sadě virtuálních počítačů s názvem myVMSS ve skupině prostředků myResourceGroup. Nahraďte <ACCESS TOKEN> hodnotou, kterou jste obdrželi v předchozím kroku, když jste požadovali nosný přístupový token a <SUBSCRIPTION ID> hodnotu podle potřeby pro vaše prostředí.

    ROZHRANÍ API VERZE 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
    

    Hlavičky požadavku

    Hlavička požadavku Popis
    Typ obsahu Požadováno. Nastavte na application/json.
    Autorizace Požadováno. Nastavte platný Bearer přístupový token.

    Text požadavku

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

    ROZHRANÍ API VERZE 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
    

    Hlavičky požadavku

    Hlavička požadavku Popis
    Typ obsahu Požadováno. Nastavte na application/json.
    Autorizace Požadováno. Nastavte platný Bearer přístupový token.

    Text požadavku

     {
        "identity":{
           "type":"userAssigned",
           "identityIds":[
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"
           ]
        }
     }
    
  5. Pokud máte přiřazenou existující spravovanou identitu přiřazenou uživatelem nebo systémem přiřazenou ke škálovací sadě virtuálních počítačů:

    ROZHRANÍ API VERZE 2018-06-01

    Přidejte spravovanou identitu přiřazenou uživatelem do hodnoty slovníku userAssignedIdentities .

    Pokud máte například spravovanou identitu přiřazenou systémem a spravovanou identitu ID1 přiřazenou uživatelem aktuálně přiřazenou ke škálování virtuálního počítače a chcete do ní přidat spravovanou identitu ID2 přiřazenou uživatelem:

    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
    

    Hlavičky požadavku

    Hlavička požadavku Popis
    Typ obsahu Požadováno. Nastavte na application/json.
    Autorizace Požadováno. Nastavte platný Bearer přístupový token.

    Text požadavku

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

    ROZHRANÍ API VERZE 2017-12-01

    Při přidávání nové spravované identity přiřazené uživatelem zachovejte spravované identity, které chcete zachovat v identityIds hodnotě pole.

    Pokud máte například identitu přiřazenou systémem a spravovanou identitu ID1 přiřazenou uživatelem aktuálně přiřazenou ke škálovací sadě virtuálních počítačů a chcete do ní přidat spravovanou identitu ID2 přiřazenou uživatelem:

    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
    

    Hlavičky požadavku

    Hlavička požadavku Popis
    Typ obsahu Požadováno. Nastavte na application/json.
    Autorizace Požadováno. Nastavte platný Bearer přístupový token.

    Text požadavku

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

Odebrání spravované identity přiřazené uživatelem ze škálovací sady virtuálních počítačů

  1. Načtěte nosný přístupový token, který použijete v dalším kroku v hlavičce Autorizace k vytvoření škálovací sady virtuálních počítačů se spravovanou identitou přiřazenou systémem.

    az account get-access-token
    
  2. Abyste měli jistotu, že neodstraníte žádné existující spravované identity přiřazené uživatelem, které chcete zachovat přiřazené ke škálovací sadě virtuálních počítačů nebo odebrat spravovanou identitu přiřazenou systémem, musíte spravované identity vypsat pomocí následujícího příkazu 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
    

    Hlavičky požadavku

    Hlavička požadavku Popis
    Autorizace Požadováno. Nastavte platný Bearer přístupový token.

    Pokud jste ke virtuálnímu počítači přiřadili spravované identity, jsou uvedené v odpovědi v hodnotě identity .

    Pokud máte například spravované identity ID1 přiřazené uživatelem a ID2 přiřazené ke škálovací sadě virtuálních počítačů a chcete zachovat ID1 pouze přiřazenou spravovanou identitu přiřazenou systémem:

    ROZHRANÍ API VERZE 2018-06-01

    Přidejte null ke spravované identitě přiřazené uživatelem, kterou chcete odebrat:

    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
    

    Hlavičky požadavku

    Hlavička požadavku Popis
    Typ obsahu Požadováno. Nastavte na application/json.
    Autorizace Požadováno. Nastavte platný Bearer přístupový token.

    Text požadavku

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

    ROZHRANÍ API VERZE 2017-12-01

    Zachovejte pouze spravované identity přiřazené uživatelem, které chcete zachovat v identityIds poli:

    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
    

    Hlavičky požadavku

    Hlavička požadavku Popis
    Typ obsahu Požadováno. Nastavte na application/json.
    Autorizace Požadováno. Nastavte platný Bearer přístupový token.

    Text požadavku

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

Pokud má škálovací sada virtuálních počítačů spravované identity přiřazené systémem i spravované uživatelem, můžete odebrat všechny spravované identity přiřazené uživatelem přepnutím na použití pouze systému přiřazeného pomocí následujícího příkazu:

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

Hlavičky požadavku

Hlavička požadavku Popis
Typ obsahu Požadováno. Nastavte na application/json.
Autorizace Požadováno. Nastavte platný Bearer přístupový token.

Text požadavku

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

Pokud má škálovací sada virtuálních počítačů jenom spravované identity přiřazené uživatelem a chcete je všechny odebrat, použijte následující příkaz:

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

Hlavičky požadavku

Hlavička požadavku Popis
Typ obsahu Požadováno. Nastavte na application/json.
Autorizace Požadováno. Nastavte platný Bearer přístupový token.

Text požadavku

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

Další kroky

Informace o tom, jak vytvořit, vypsat nebo odstranit spravované identity přiřazené uživatelem pomocí rest, najdete v tématu: