Konfigurace spravovaných identit pro prostředky Azure na virtuálním počítači Azure pomocí volání rozhraní REST API

Spravované identity pro prostředky Azure jsou funkcí ID Microsoft Entra. Každá ze služeb Azure, které podporují spravované identity pro prostředky Azure, se řídí vlastní časovou osou. Než začnete, nezapomeňte zkontrolovat stav dostupnosti spravovaných identit pro váš prostředek a známé problémy.

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 na virtuálním počítači Azure:

  • Povolení a zakázání spravované identity přiřazené systémem na virtuálním počítači Azure
  • Přidání a odebrání spravované identity přiřazené uživatelem na virtuálním počítači Azure

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

Požadavky

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 na virtuálním počítači Azure 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í virtuálního počítače Azure

Pokud chcete vytvořit virtuální počítač Azure s povolenou spravovanou identitou přiřazenou systémem, váš účet potřebuje přiřazení role Přispěvatel virtuálních počítačů. Nejsou vyžadována žádná další přiřazení rolí adresáře Microsoft Entra.

  1. Pomocí příkazu az group create vytvořte skupinu prostředků pro nasazení a uchování virtuálního počítače 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 virtuální 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 autorizační hlavičce k vytvoření virtuálního počítače se spravovanou identitou přiřazenou systémem.

    az account get-access-token
    
  4. Pomocí Azure Cloud Shellu vytvořte virtuální počítač pomocí NÁSTROJE CURL pro volání koncového bodu REST Azure Resource Manageru. Následující příklad vytvoří virtuální počítač myVM s 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/virtualMachines/myVM?api-version=2018-06-01' -X PUT -d '{"location":"westus","name":"myVM","identity":{"type":"SystemAssigned"},"properties":{"hardwareProfile":{"vmSize":"Standard_D2_v2"},"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"StandardSSD_LRS"},"name":"myVM3osdisk","createOption":"FromImage"},"dataDisks":[{"diskSizeGB":1023,"createOption":"Empty","lun":0},{"diskSizeGB":1023,"createOption":"Empty","lun":1}]},"osProfile":{"adminUsername":"azureuser","computerName":"myVM","adminPassword":"<SECURE PASSWORD STRING>"},"networkProfile":{"networkInterfaces":[{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic","properties":{"primary":true}}]}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
    
    PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?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

      {
        "location":"westus",
        "name":"myVM",
        "identity":{
           "type":"SystemAssigned"
        },
        "properties":{
           "hardwareProfile":{
              "vmSize":"Standard_D2_v2"
           },
           "storageProfile":{
              "imageReference":{
                 "sku":"2016-Datacenter",
                 "publisher":"MicrosoftWindowsServer",
                 "version":"latest",
                 "offer":"WindowsServer"
              },
              "osDisk":{
                 "caching":"ReadWrite",
                 "managedDisk":{
                    "storageAccountType":"StandardSSD_LRS"
                 },
                 "name":"myVM3osdisk",
                 "createOption":"FromImage"
              },
              "dataDisks":[
                 {
                    "diskSizeGB":1023,
                    "createOption":"Empty",
                    "lun":0
                 },
                 {
                    "diskSizeGB":1023,
                    "createOption":"Empty",
                    "lun":1
                 }
              ]
           },
           "osProfile":{
              "adminUsername":"azureuser",
              "computerName":"myVM",
              "adminPassword":"myPassword12"
           },
           "networkProfile":{
              "networkInterfaces":[
                 {
                    "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic",
                    "properties":{
                       "primary":true
                    }
                 }
              ]
           }
        }
     }  
    

Povolení identity přiřazené systémem na existujícím virtuálním počítači Azure

Pokud chcete povolit spravovanou identitu přiřazenou systémem na virtuálním počítači, který byl původně zřízený bez ní, váš účet potřebuje přiřazení role Přispěvatel virtuálních počítačů. Nejsou vyžadována žádná další přiřazení rolí adresáře Microsoft Entra.

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

    az account get-access-token
    
  2. Pomocí následujícího příkazu CURL zavolejte koncový bod REST Azure Resource Manageru, který povolí spravované identitě přiřazené systémem na virtuálním počítači, jak je uvedeno v textu požadavku hodnotou {"identity":{"type":"SystemAssigned"} virtuálního počítače myVM. 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, které jsou přiřazené k virtuálnímu počítači, 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/virtualMachines/<VM NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>" Pokud máte k virtuálnímu počítači přiřazené všechny spravované identity přiřazené uživatelem, jak je uvedeno v identity hodnotě v 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 na virtuálním počítači.

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?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/virtualMachines/myVM?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 na virtuálním počítači se stávajícími spravovanými identitami přiřazenými uživatelem, musíte tuto type hodnotu přidatSystemAssigned.

    Pokud má váš virtuální počítač například spravované identity ID1 přiřazené uživatelem a ID2 přiřazené k němu a chcete k virtuálnímu počítači 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/virtualMachines/myVM?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/virtualMachines/myVM?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/virtualMachines/myVM?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/virtualMachines/myVM?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 z virtuálního počítače Azure

Pokud chcete na virtuálním počítači zakázat spravovanou identitu přiřazenou systémem, váš účet potřebuje přiřazení role Přispěvatel virtuálních počítačů. Nejsou vyžadována žádná další přiřazení rolí adresáře Microsoft Entra.

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

    az account get-access-token
    
  2. Aktualizujte virtuální počítač pomocí CURL, aby volal koncový bod 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"}} virtuálního počítače s názvem myVM. 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, které jsou přiřazené k virtuálnímu počítači, 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/virtualMachines/<VM NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>" Pokud máte k virtuálnímu počítači přiřazené všechny spravované identity přiřazené uživatelem, jak je uvedeno v identity hodnotě v odpovědi, přeskočte ke kroku 3, který ukazuje, jak zachovat spravované identity přiřazené uživatelem při zakazování spravované identity přiřazené systémem na virtuálním počítači.

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?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/virtualMachines/myVM?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 z virtuálního počítače, 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 na virtuálním počítači Azure pomocí nástroje CURL k volání koncového bodu REST Azure Resource Manageru.

Přiřazení spravované identity přiřazené uživatelem během vytváření virtuálního počítače Azure

Pokud chcete přiřadit identitu přiřazenou uživatelem k virtuálnímu počítači, váš účet potřebuje přiřazení rolí Přispěvatel virtuálních počítačů a Operátor spravované identity. Nejsou vyžadována žádná další přiřazení rolí adresáře Microsoft Entra.

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

    az account get-access-token
    
  2. Vytvořte síťové rozhraní pro virtuální 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 autorizační hlavičce k vytvoření virtuálního počítače 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 virtuální počítač pomocí CURL pro volání koncového bodu REST Azure Resource Manageru. Následující příklad vytvoří virtuální počítač myVM ve skupině prostředků myResourceGroup se spravovanou identitou ID1přiřazenou uživatelem, jak je identifikováno v textu 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/virtualMachines/myVM?api-version=2018-06-01' -X PUT -d '{"location":"westus","name":"myVM","identity":{"type":"UserAssigned","identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]},"properties":{"hardwareProfile":{"vmSize":"Standard_D2_v2"},"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"StandardSSD_LRS"},"name":"myVM3osdisk","createOption":"FromImage"},"dataDisks":[{"diskSizeGB":1023,"createOption":"Empty","lun":0},{"diskSizeGB":1023,"createOption":"Empty","lun":1}]},"osProfile":{"adminUsername":"azureuser","computerName":"myVM","adminPassword":"myPassword12"},"networkProfile":{"networkInterfaces":[{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic","properties":{"primary":true}}]}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
    
    PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?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

     {  
        "location":"westus",
        "name":"myVM",
        "identity":{  
           "type":"UserAssigned",
           "identityIds":[  
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"
           ]
        },
        "properties":{  
           "hardwareProfile":{  
              "vmSize":"Standard_D2_v2"
           },
           "storageProfile":{  
              "imageReference":{  
                 "sku":"2016-Datacenter",
                 "publisher":"MicrosoftWindowsServer",
                 "version":"latest",
                 "offer":"WindowsServer"
              },
              "osDisk":{  
                 "caching":"ReadWrite",
                 "managedDisk":{  
                    "storageAccountType":"StandardSSD_LRS"
                 },
                 "name":"myVM3osdisk",
                 "createOption":"FromImage"
              },
              "dataDisks":[  
                 {  
                    "diskSizeGB":1023,
                    "createOption":"Empty",
                    "lun":0
                 },
                 {  
                    "diskSizeGB":1023,
                    "createOption":"Empty",
                    "lun":1
                 }
              ]
           },
           "osProfile":{  
              "adminUsername":"azureuser",
              "computerName":"myVM",
              "adminPassword":"myPassword12"
           },
           "networkProfile":{  
              "networkInterfaces":[  
                 {  
                    "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic",
                    "properties":{  
                       "primary":true
                    }
                 }
              ]
           }
        }
     }
    
    

    ROZHRANÍ API VERZE 2017-12-01

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01' -X PUT -d '{"location":"westus","name":"myVM","identity":{"type":"UserAssigned","identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]},"properties":{"hardwareProfile":{"vmSize":"Standard_D2_v2"},"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"StandardSSD_LRS"},"name":"myVM3osdisk","createOption":"FromImage"},"dataDisks":[{"diskSizeGB":1023,"createOption":"Empty","lun":0},{"diskSizeGB":1023,"createOption":"Empty","lun":1}]},"osProfile":{"adminUsername":"azureuser","computerName":"myVM","adminPassword":"myPassword12"},"networkProfile":{"networkInterfaces":[{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic","properties":{"primary":true}}]}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
    
    PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?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

     {
        "location":"westus",
        "name":"myVM",
        "identity":{
           "type":"UserAssigned",
           "identityIds":[
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"
           ]
        },
        "properties":{
           "hardwareProfile":{
              "vmSize":"Standard_D2_v2"
           },
           "storageProfile":{
              "imageReference":{
                 "sku":"2016-Datacenter",
                 "publisher":"MicrosoftWindowsServer",
                 "version":"latest",
                 "offer":"WindowsServer"
              },
              "osDisk":{
                 "caching":"ReadWrite",
                 "managedDisk":{
                    "storageAccountType":"StandardSSD_LRS"
                 },
                 "name":"myVM3osdisk",
                 "createOption":"FromImage"
              },
              "dataDisks":[
                 {
                    "diskSizeGB":1023,
                    "createOption":"Empty",
                    "lun":0
                 },
                 {
                    "diskSizeGB":1023,
                    "createOption":"Empty",
                    "lun":1
                 }
              ]
           },
           "osProfile":{
              "adminUsername":"azureuser",
              "computerName":"myVM",
              "adminPassword":"myPassword12"
           },
           "networkProfile":{
              "networkInterfaces":[
                 {
                    "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic",
                    "properties":{
                       "primary":true
                    }
                 }
              ]
           }
        }
     }
    

Přiřazení spravované identity přiřazené uživatelem k existujícímu virtuálnímu počítači Azure

Pokud chcete přiřadit identitu přiřazenou uživatelem k virtuálnímu počítači, váš účet potřebuje přiřazení rolí Přispěvatel virtuálních počítačů a Operátor spravované identity. Nejsou vyžadována žádná další přiřazení rolí adresáře Microsoft Entra.

  1. Načtěte nosný přístupový token, který použijete v dalším kroku v autorizační hlavičce k vytvoření virtuálního počítače 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é k virtuálnímu počítači, musíte pomocí následujícího příkazu CURL zobrazit seznam typů identit přiřazených k virtuálnímu počítači. 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/virtualMachines/<VM 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/virtualMachines/<VM 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 máte k virtuálnímu počítači přiřazené nějaké spravované identity přiřazené uživatelem nebo systémem, jak je uvedeno v identity hodnotě v odpovědi, přeskočte ke kroku 5, který ukazuje, jak zachovat spravovanou identitu přiřazenou systémem při přidávání spravované identity přiřazené uživatelem na virtuálním počítači.

  4. Pokud nemáte přiřazené žádné spravované identity přiřazené uživatelem k virtuálnímu počítači, pomocí následujícího příkazu CURL zavolejte koncový bod REST Azure Resource Manageru a přiřaďte k virtuálnímu počítači první spravovanou identitu přiřazenou uživatelem.

    Následující příklad přiřadí spravovanou identitu ID1 přiřazenou uživatelem k virtuálnímu počítači myVM 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/virtualMachines/myVM?api-version=2018-06-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/virtualMachines/myVM?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":"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/virtualMachines/myVM?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/virtualMachines/myVM?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 k virtuálnímu počítači:

    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, která je aktuálně přiřazená k virtuálnímu počítači 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/virtualMachines/myVM?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/virtualMachines/myVM?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 spravovanou identitu přiřazenou systémem a spravovanou identitu ID1 přiřazenou uživatelem, která je aktuálně přiřazená k virtuálnímu počítači 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/virtualMachines/myVM?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/virtualMachines/myVM?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 z virtuálního počítače Azure

Pokud chcete odebrat identitu přiřazenou uživatelem k virtuálnímu počítači, váš účet potřebuje přiřazení role Přispěvatel virtuálních počítačů.

  1. Načtěte nosný přístupový token, který použijete v dalším kroku v autorizační hlavičce k vytvoření virtuálního počítače 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é k virtuálnímu počítači 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/virtualMachines/<VM 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/virtualMachines/<VM NAME>?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.

    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é k virtuálnímu počítači a chcete zachovat ID1 pouze přiřazenou 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/virtualMachines/myVM?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/virtualMachines/myVM?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/virtualMachines/myVM?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/virtualMachines/myVM?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á váš virtuální počítač spravované identity přiřazené systémem i spravované identity přiřazené uživatelem, můžete odebrat všechny spravované identity přiřazené uživatelem tak, že pomocí následujícího příkazu přepnete jenom spravovanou identitu přiřazenou systémem:

curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?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/virtualMachines/myVM?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á váš virtuální 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/virtualMachines/myVM?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/virtualMachines/myVM?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: