Konfigurera hanterade identiteter för Azure-resurser på en VM-skalningsuppsättning med HJÄLP av REST API-anrop
Hanterade identiteter för Azure-resurser tillhandahåller Azure-tjänster med en automatiskt hanterad systemidentitet i Microsoft Entra-ID. Du kan använda den här identiteten för att autentisera mot alla tjänster som har stöd för Microsoft Entra-autentisering, utan att behöva ha några autentiseringsuppgifter i koden.
I den här artikeln använder curl för att göra anrop till Azure Resource Manager REST-slutpunkten får du lära dig hur du utför följande hanterade identiteter för Azure-resursåtgärder på en VM-skalningsuppsättning:
- Aktivera och inaktivera den systemtilldelade hanterade identiteten på en skalningsuppsättning för virtuella Azure-datorer
- Lägga till och ta bort en användartilldelad hanterad identitet på en skalningsuppsättning för virtuella Azure-datorer
Om du inte redan har ett Azure-konto registrerar du dig för ett kostnadsfritt konto innan du fortsätter.
Förutsättningar
Om du inte känner till hanterade identiteter för Azure-resurser kan du läsa Vad är hanterade identiteter för Azure-resurser?. Mer information om systemtilldelade och användartilldelade hanterade identitetstyper finns i Hanterade identitetstyper.
För att kunna utföra hanteringsåtgärderna i den här artikeln behöver ditt konto följande Azure-rolltilldelningar:
Virtuell datordeltagare för att skapa en VM-skalningsuppsättning och aktivera och ta bort system och/eller användartilldelad hanterad identitet från en VM-skalningsuppsättning.
Rollen Hanterad identitetsdeltagare för att skapa en användartilldelad hanterad identitet.
Hanterad identitetsoperatorroll för att tilldela och ta bort en användartilldelad identitet från och till en VM-skalningsuppsättning.
Kommentar
Inga ytterligare rolltilldelningar för Microsoft Entra-katalog krävs.
Använd Bash-miljön i Azure Cloud Shell. Mer information finns i Snabbstart för Bash i Azure Cloud Shell.
Om du föredrar att köra CLI-referenskommandon lokalt installerar du Azure CLI. Om du kör i Windows eller macOS kan du köra Azure CLI i en Docker-container. Mer information finns i Så här kör du Azure CLI i en Docker-container.
Om du använder en lokal installation loggar du in på Azure CLI med hjälp av kommandot az login. Slutför autentiseringsprocessen genom att följa stegen som visas i terminalen. Andra inloggningsalternativ finns i Logga in med Azure CLI.
När du uppmanas att installera Azure CLI-tillägget vid första användningen. Mer information om tillägg finns i Använda tillägg med Azure CLI.
Kör az version om du vill hitta versionen och de beroende bibliotek som är installerade. Om du vill uppgradera till den senaste versionen kör du az upgrade.
Systemtilldelad hanterad identitet
I det här avsnittet får du lära dig hur du aktiverar och inaktiverar systemtilldelad hanterad identitet på en VM-skalningsuppsättning med CURL för att göra anrop till Azure Resource Manager REST-slutpunkten.
Aktivera systemtilldelad hanterad identitet när en VM-skalningsuppsättning skapas
För att skapa en VM-skalningsuppsättning med systemtilldelad hanterad identitet aktiverad behöver du skapa en VM-skalningsuppsättning och hämta en åtkomsttoken för att använda CURL för att anropa Resource Manager-slutpunkten med värdet för den systemtilldelade hanterade identitetstypen.
Skapa en resursgrupp för inneslutning och distribution av vm-skalningsuppsättningen och dess relaterade resurser med hjälp av az group create. Du kan hoppa över det här steget om du redan har en resursgrupp som du vill använda i stället:
az group create --name myResourceGroup --location westus
Skapa ett nätverksgränssnitt för vm-skalningsuppsättningen:
az network nic create -g myResourceGroup --vnet-name myVnet --subnet mySubnet -n myNic
Hämta en bearer-åtkomsttoken som du ska använda i nästa steg i auktoriseringshuvudet för att skapa vm-skalningsuppsättningen med en systemtilldelad hanterad identitet.
az account get-access-token
Använd Azure Cloud Shell och skapa en VM-skalningsuppsättning med curl för att anropa Azure Resource Manager REST-slutpunkten. I följande exempel skapas en vm-skalningsuppsättning med namnet myVMSS i myResourceGroup med en systemtilldelad hanterad identitet, enligt värdet
"identity":{"type":"SystemAssigned"}
i begärandetexten. Ersätt<ACCESS TOKEN>
med det värde som du fick i föregående steg när du begärde en ägaråtkomsttoken och värdet<SUBSCRIPTION ID>
efter behov för din miljö.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
Begärandehuvuden
Begärandehuvud beskrivning Innehållstyp Obligatoriska. Ange till application/json
.Auktorisering Obligatoriska. Ange till en giltig Bearer
åtkomsttoken.Begärandetext
{ "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" } } }
Aktivera systemtilldelad hanterad identitet på en befintlig VM-skalningsuppsättning
För att aktivera systemtilldelad hanterad identitet på en befintlig vm-skalningsuppsättning måste du hämta en åtkomsttoken och sedan använda CURL för att anropa Resource Manager REST-slutpunkten för att uppdatera identitetstypen.
Hämta en bearer-åtkomsttoken som du ska använda i nästa steg i auktoriseringshuvudet för att skapa vm-skalningsuppsättningen med en systemtilldelad hanterad identitet.
az account get-access-token
Använd följande CURL-kommando för att anropa Azure Resource Manager REST-slutpunkten för att aktivera systemtilldelad hanterad identitet på din VM-skalningsuppsättning enligt vad som anges i begärandetexten av värdet
{"identity":{"type":"SystemAssigned"}
för en VM-skalningsuppsättning med namnet myVMSS. Ersätt<ACCESS TOKEN>
med det värde som du fick i föregående steg när du begärde en ägaråtkomsttoken och värdet<SUBSCRIPTION ID>
efter behov för din miljö.Viktigt!
För att säkerställa att du inte tar bort några befintliga användartilldelade hanterade identiteter som har tilldelats vm-skalningsuppsättningen måste du ange de användartilldelade hanterade identiteterna med hjälp av det här CURL-kommandot:
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>"
. Om du har några användartilldelade hanterade identiteter tilldelade till vm-skalningsuppsättningenidentity
enligt vad som anges i värdet i svaret går du vidare till steg 3 som visar hur du behåller användartilldelade hanterade identiteter samtidigt som du aktiverar systemtilldelad hanterad identitet på vm-skalningsuppsättningen.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
Begärandehuvuden
Begärandehuvud beskrivning Innehållstyp Obligatoriska. Ange till application/json
.Auktorisering Obligatoriska. Ange till en giltig Bearer
åtkomsttoken.Begärandetext
{ "identity":{ "type":"SystemAssigned" } }
Om du vill aktivera systemtilldelad hanterad identitet på en VM-skalningsuppsättning med befintliga användartilldelade hanterade identiteter måste du lägga
SystemAssigned
till värdettype
.Om vm-skalningsuppsättningen till exempel har användartilldelade hanterade identiteter
ID1
ochID2
tilldelats till den, och du vill lägga till systemtilldelad hanterad identitet i vm-skalningsuppsättningen, använder du följande CURL-anrop. Ersätt<ACCESS TOKEN>
och<SUBSCRIPTION ID>
med värden som är lämpliga för din miljö.API-versionen
2018-06-01
lagrar användartilldelade hanterade identiteter iuserAssignedIdentities
värdet i ett ordlisteformat i stället föridentityIds
värdet i ett matrisformat som används i API-versionen2017-12-01
.API VERSION 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
Begärandehuvuden
Begärandehuvud beskrivning Innehållstyp Obligatoriska. Ange till application/json
.Auktorisering Obligatoriska. Ange till en giltig Bearer
åtkomsttoken.Begärandetext
{ "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":{ } } } }
API VERSION 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
Begärandehuvuden
Begärandehuvud beskrivning Innehållstyp Obligatoriska. Ange till application/json
.Auktorisering Obligatoriska. Ange till en giltig Bearer
åtkomsttoken.Begärandetext
{ "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" ] } }
Inaktivera systemtilldelad hanterad identitet från en VM-skalningsuppsättning
Om du vill inaktivera en systemtilldelad identitet på en befintlig VM-skalningsuppsättning måste du hämta en åtkomsttoken och sedan använda CURL för att anropa Resource Manager REST-slutpunkten för att uppdatera identitetstypen till None
.
Hämta en bearer-åtkomsttoken som du ska använda i nästa steg i auktoriseringshuvudet för att skapa vm-skalningsuppsättningen med en systemtilldelad hanterad identitet.
az account get-access-token
Uppdatera vm-skalningsuppsättningen med CURL för att anropa REST-slutpunkten för Azure Resource Manager för att inaktivera systemtilldelad hanterad identitet. I följande exempel inaktiveras systemtilldelad hanterad identitet som identifieras i begärandetexten av värdet
{"identity":{"type":"None"}}
från en vm-skalningsuppsättning med namnet myVMSS. Ersätt<ACCESS TOKEN>
med det värde som du fick i föregående steg när du begärde en ägaråtkomsttoken och värdet<SUBSCRIPTION ID>
efter behov för din miljö.Viktigt!
För att säkerställa att du inte tar bort några befintliga användartilldelade hanterade identiteter som har tilldelats vm-skalningsuppsättningen måste du ange de användartilldelade hanterade identiteterna med hjälp av det här CURL-kommandot:
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>"
. Om du har någon användartilldelad hanterad identitet tilldelad till vm-skalningsuppsättningen går du vidare till steg 3 som visar hur du behåller de användartilldelade hanterade identiteterna när du tar bort den systemtilldelade hanterade identiteten från vm-skalningsuppsättningen.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
Begärandehuvuden
Begärandehuvud beskrivning Innehållstyp Obligatoriska. Ange till application/json
.Auktorisering Obligatoriska. Ange till en giltig Bearer
åtkomsttoken.Begärandetext
{ "identity":{ "type":"None" } }
Om du vill ta bort systemtilldelad hanterad identitet från en VM-skalningsuppsättning som har användartilldelade hanterade identiteter tar du bort
SystemAssigned
från{"identity":{"type:" "}}
värdet samtidigt som värdet ochuserAssignedIdentities
ordlistevärdena behållsUserAssigned
om du använder API-version 2018-06-01. Om du använder API-version 2017-12-01 eller tidigare behåller du matrisenidentityIds
.
Användartilldelad hanterad identitet
I det här avsnittet får du lära dig hur du lägger till och tar bort användartilldelad hanterad identitet på en VM-skalningsuppsättning med CURL för att göra anrop till Azure Resource Manager REST-slutpunkten.
Tilldela en användartilldelad hanterad identitet när en VM-skalningsuppsättning skapas
Hämta en bearer-åtkomsttoken som du ska använda i nästa steg i auktoriseringshuvudet för att skapa vm-skalningsuppsättningen med en systemtilldelad hanterad identitet.
az account get-access-token
Skapa ett nätverksgränssnitt för vm-skalningsuppsättningen:
az network nic create -g myResourceGroup --vnet-name myVnet --subnet mySubnet -n myNic
Hämta en bearer-åtkomsttoken som du ska använda i nästa steg i auktoriseringshuvudet för att skapa vm-skalningsuppsättningen med en systemtilldelad hanterad identitet.
az account get-access-token
Skapa en användartilldelad hanterad identitet med hjälp av anvisningarna här: Skapa en användartilldelad hanterad identitet.
Skapa en VM-skalningsuppsättning med CURL för att anropa Azure Resource Manager REST-slutpunkten. I följande exempel skapas en VM-skalningsuppsättning med namnet myVMSS i resursgruppen myResourceGroup med en användartilldelad hanterad identitet
ID1
, enligt värdet"identity":{"type":"UserAssigned"}
i begärandetexten . Ersätt<ACCESS TOKEN>
med det värde som du fick i föregående steg när du begärde en ägaråtkomsttoken och värdet<SUBSCRIPTION ID>
efter behov för din miljö.API VERSION 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
Begärandehuvuden
Begärandehuvud beskrivning Innehållstyp Obligatoriska. Ange till application/json
.Auktorisering Obligatoriska. Ange till en giltig Bearer
åtkomsttoken.Begärandetext
{ "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" } } }
API VERSION 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
Begärandehuvuden
Begärandehuvud beskrivning Innehållstyp Obligatoriska. Ange till application/json
.Auktorisering Obligatoriska. Ange till en giltig Bearer
åtkomsttoken.Begärandetext
{ "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" } } }
Tilldela en användartilldelad hanterad identitet till en befintlig skalningsuppsättning för virtuella Azure-datorer
Hämta en bearer-åtkomsttoken som du ska använda i nästa steg i auktoriseringshuvudet för att skapa vm-skalningsuppsättningen med en systemtilldelad hanterad identitet.
az account get-access-token
Skapa en användartilldelad hanterad identitet med hjälp av anvisningarna här, Skapa en användartilldelad hanterad identitet.
För att säkerställa att du inte tar bort befintliga användar- eller systemtilldelade hanterade identiteter som har tilldelats vm-skalningsuppsättningen måste du ange de identitetstyper som tilldelats vm-skalningsuppsättningen med hjälp av följande CURL-kommando. Om du har tilldelats hanterade identiteter till vm-skalningsuppsättningen visas de i
identity
värdet.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
Begärandehuvuden
Begärandehuvud beskrivning Auktorisering Obligatoriska. Ange till en giltig Bearer
åtkomsttoken.Om du inte har några användar- eller systemtilldelade hanterade identiteter tilldelade till vm-skalningsuppsättningen använder du följande CURL-kommando för att anropa Azure Resource Manager REST-slutpunkten för att tilldela den första användartilldelade hanterade identiteten till vm-skalningsuppsättningen. Om du har tilldelat en eller flera användare eller systemtilldelade hanterade identiteter till vm-skalningsuppsättningen går du vidare till steg 5 som visar hur du lägger till flera användartilldelade hanterade identiteter i en VM-skalningsuppsättning samtidigt som du underhåller den systemtilldelade hanterade identiteten.
I följande exempel tilldelas en användartilldelad hanterad identitet
ID1
till en vm-skalningsuppsättning med namnet myVMSS i resursgruppen myResourceGroup. Ersätt<ACCESS TOKEN>
med det värde som du fick i föregående steg när du begärde en ägaråtkomsttoken och värdet<SUBSCRIPTION ID>
efter behov för din miljö.API VERSION 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
Begärandehuvuden
Begärandehuvud beskrivning Innehållstyp Obligatoriska. Ange till application/json
.Auktorisering Obligatoriska. Ange till en giltig Bearer
åtkomsttoken.Begärandetext
{ "identity":{ "type":"userAssigned", "userAssignedIdentities":{ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{ } } } }
API VERSION 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
Begärandehuvuden
Begärandehuvud beskrivning Innehållstyp Obligatoriska. Ange till application/json
.Auktorisering Obligatoriska. Ange till en giltig Bearer
åtkomsttoken.Begärandetext
{ "identity":{ "type":"userAssigned", "identityIds":[ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1" ] } }
Om du har en befintlig användartilldelad eller systemtilldelad hanterad identitet tilldelad till vm-skalningsuppsättningen:
API VERSION 2018-06-01
Lägg till den användartilldelade hanterade identiteten i
userAssignedIdentities
ordlistevärdet.Om du till exempel har systemtilldelad hanterad identitet och den användartilldelade hanterade identiteten
ID1
som för närvarande är tilldelad till din virtuella datorskala och vill lägga till den användartilldelade hanterade identitetenID2
i den: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
Begärandehuvuden
Begärandehuvud beskrivning Innehållstyp Obligatoriska. Ange till application/json
.Auktorisering Obligatoriska. Ange till en giltig Bearer
åtkomsttoken.Begärandetext
{ "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":{ } } } }
API VERSION 2017-12-01
Behåll de användartilldelade hanterade identiteterna som du vill behålla i
identityIds
matrisvärdet när du lägger till den nya användartilldelade hanterade identiteten.Om du till exempel har systemtilldelad identitet och den användartilldelade hanterade identiteten
ID1
som för närvarande är tilldelad till vm-skalningsuppsättningen och vill lägga till den användartilldelade hanterade identitetenID2
i den: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
Begärandehuvuden
Begärandehuvud beskrivning Innehållstyp Obligatoriska. Ange till application/json
.Auktorisering Obligatoriska. Ange till en giltig Bearer
åtkomsttoken.Begärandetext
{ "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" ] } }
Ta bort en användartilldelad hanterad identitet från en VM-skalningsuppsättning
Hämta en bearer-åtkomsttoken som du ska använda i nästa steg i auktoriseringshuvudet för att skapa vm-skalningsuppsättningen med en systemtilldelad hanterad identitet.
az account get-access-token
För att säkerställa att du inte tar bort några befintliga användartilldelade hanterade identiteter som du vill behålla tilldelade till vm-skalningsuppsättningen eller ta bort den systemtilldelade hanterade identiteten måste du lista de hanterade identiteterna med hjälp av följande CURL-kommando:
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
Begärandehuvuden
Begärandehuvud beskrivning Auktorisering Obligatoriska. Ange till en giltig Bearer
åtkomsttoken.Om du har tilldelats hanterade identiteter till den virtuella datorn visas de i svaret i
identity
värdet.Om du till exempel har användartilldelade hanterade identiteter
ID1
ochID2
tilldelats till vm-skalningsuppsättningen och bara vill behållaID1
den systemtilldelade hanterade identiteten:API VERSION 2018-06-01
Lägg till
null
den användartilldelade hanterade identiteten som du vill ta bort: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
Begärandehuvuden
Begärandehuvud beskrivning Innehållstyp Obligatoriska. Ange till application/json
.Auktorisering Obligatoriska. Ange till en giltig Bearer
åtkomsttoken.Begärandetext
{ "identity":{ "type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":null } } }
API VERSION 2017-12-01
Behåll endast de användartilldelade hanterade identiteter som du vill behålla i matrisen
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
Begärandehuvuden
Begärandehuvud beskrivning Innehållstyp Obligatoriska. Ange till application/json
.Auktorisering Obligatoriska. Ange till en giltig Bearer
åtkomsttoken.Begärandetext
{ "identity":{ "type":"SystemAssigned,UserAssigned", "identityIds":[ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1" ] } }
Om vm-skalningsuppsättningen har både systemtilldelade och användartilldelade hanterade identiteter kan du ta bort alla användartilldelade hanterade identiteter genom att växla till att endast använda systemtilldelade med hjälp av följande kommando:
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
Begärandehuvuden
Begärandehuvud | beskrivning |
---|---|
Innehållstyp | Obligatoriska. Ange till application/json . |
Auktorisering | Obligatoriska. Ange till en giltig Bearer åtkomsttoken. |
Begärandetext
{
"identity":{
"type":"SystemAssigned"
}
}
Om vm-skalningsuppsättningen bara har användartilldelade hanterade identiteter och du vill ta bort dem alla använder du följande kommando:
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
Begärandehuvuden
Begärandehuvud | beskrivning |
---|---|
Innehållstyp | Obligatoriska. Ange till application/json . |
Auktorisering | Obligatoriska. Ange till en giltig Bearer åtkomsttoken. |
Begärandetext
{
"identity":{
"type":"None"
}
}
Nästa steg
Information om hur du skapar, listar eller tar bort användartilldelade hanterade identiteter med hjälp av REST finns i: