Beheerde identiteiten voor Azure-resources configureren op een virtuele-machineschaalset met behulp van REST API-aanroepen
Beheerde identiteiten voor Azure-resources bieden Azure-services met een automatisch beheerde systeemidentiteit in Microsoft Entra-id. U kunt deze identiteit gebruiken voor verificatie bij alle services die Microsoft Entra-verificatie ondersteunen, zonder dat u aanmeldingsgegevens in uw code hoeft te hebben.
In dit artikel leert u om met behulp van CURL het Azure Resource Manager REST-eindpunt aan te roepen en daarmee de volgende beheerde identiteiten uit te voeren voor bewerkingen van Azure-resources op een virtuele-machineschaalset:
- De door het systeem toegewezen beheerde identiteit inschakelen en uitschakelen op een virtuele-machineschaalset van Azure
- Een door de gebruiker toegewezen beheerde identiteit toevoegen aan en verwijderen uit een virtuele-machineschaalset van Azure
Als u nog geen Azure-account hebt, registreer u dan voor een gratis account voordat u verdergaat.
Vereisten
Zie Wat zijn beheerde identiteiten voor Azure-resources? als u niet bekend met beheerde identiteiten voor Azure-resources. Zie Beheerde identiteitstypen voor meer informatie over door het systeem toegewezen en door de gebruiker toegewezen beheerde identiteitstypen.
Voor het uitvoeren van de beheerbewerkingen in dit artikel zijn voor uw account de volgende Azure-roltoewijzingen nodig:
Inzender voor virtuele machines voor het maken van een virtuele-machineschaalset en het inschakelen en verwijderen van een door het systeem en/of de gebruiker toegewezen beheerde identiteit op/uit een virtuele-machineschaalset.
De rol van inzender voor beheerde identiteit voor het maken van een door de gebruiker toegewezen beheerde identiteit.
De rol van operator voor beheerde identiteit voor het toewijzen/verwijderen van een door de gebruiker toegewezen identiteit aan/uit een virtuele-machine schaalset.
Notitie
Er zijn geen extra microsoft Entra-adreslijsttoewijzingen vereist.
Gebruik de Bash-omgeving in Azure Cloud Shell. Zie quickstart voor Bash in Azure Cloud Shell voor meer informatie.
Installeer de Azure CLI, indien gewenst, om CLI-referentieopdrachten uit te voeren. Als u in Windows of macOS werkt, kunt u Azure CLI uitvoeren in een Docker-container. Zie De Azure CLI uitvoeren in een Docker-container voor meer informatie.
Als u een lokale installatie gebruikt, meldt u zich aan bij Azure CLI met behulp van de opdracht az login. Volg de stappen die worden weergegeven in de terminal, om het verificatieproces te voltooien. Raadpleeg Aanmelden bij Azure CLI voor aanvullende aanmeldingsopties.
Installeer de Azure CLI-extensie bij het eerste gebruik, wanneer u hierom wordt gevraagd. Raadpleeg Extensies gebruiken met Azure CLI voor meer informatie over extensies.
Voer az version uit om de geïnstalleerde versie en afhankelijke bibliotheken te vinden. Voer az upgrade uit om te upgraden naar de nieuwste versie.
Door het systeem toegewezen beheerde identiteit
In deze sectie leert u hoe u een door het systeem toegewezen beheerde identiteit op een virtuele-machineschaalset kunt inschakelen en uitschakelen waarbij u CURL gebruikt om het Azure Resource Manager REST-eindpunt aan te roepen.
Door het systeem toegewezen beheerde identiteit inschakelen tijdens het maken van een virtuele-machineschaalset
Als u een virtuele-machineschaalset wilt maken waarvoor een door het systeem toegewezen beheerde identiteit is ingeschakeld, moet u een virtuele-machineschaalset maken en een toegangstoken ophalen om met CURL het Resource Manager-eindpunt aan te roepen met de waarde van het door het systeem toegewezen beheerde identiteitstype.
Maak met az group create een resourcegroep voor de insluiting en implementatie van uw virtuele-machineschaalset en de bijbehorende resources. U kunt deze stap overslaan als u al een resourcegroep hebt die u in plaats daarvan wilt gebruiken:
az group create --name myResourceGroup --location westus
Maak een netwerkinterface voor uw virtuele-machineschaalset:
az network nic create -g myResourceGroup --vnet-name myVnet --subnet mySubnet -n myNic
Haal een Bearer-toegangstoken op dat u in de volgende stap in de autorisatie-header gaat gebruiken om uw virtuele-machineschaalset te maken met een door het systeem toegewezen beheerde identiteit.
az account get-access-token
Maak in Azure Cloud Shell een virtuele-machineschaalset door met behulp van CURL het Azure Resource Manager REST-eindpunt aan te roepen. In het volgende voorbeeld wordt een virtuele-machineschaalset gemaakt met de naam myVMSS in de resourcegroep myResourceGroup met een door het systeem toegewezen beheerde identiteit, zoals aangegeven in de aanvraagbody met de waarde
"identity":{"type":"SystemAssigned"}
. Vervang<ACCESS TOKEN>
door de waarde die u in de vorige stap hebt ontvangen toen u een Bearer-toegangstoken en de<SUBSCRIPTION ID>
-waarde hebt aangevraagd die van toepassing zijn voor uw omgeving.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
Aanvraagheaders
Aanvraagheader Beschrijving Content-Type Vereist. Ingesteld op application/json
.Autorisatie Vereist. Ingesteld op een geldig Bearer
-toegangstoken.Aanvraagbody
{ "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" } } }
Een door het systeem toegewezen beheerde identiteit inschakelen op een bestaande virtuele-machineschaalset
Als u een door het systeem toegewezen beheerde identiteit wilt inschakelen op een bestaande virtuele-machineschaalset, moet u een toegangstoken verkrijgen en vervolgens met CURL het Resource Manager REST-eindpunt aanroepen om het identiteitstype bij te werken.
Haal een Bearer-toegangstoken op dat u in de volgende stap in de autorisatie-header gaat gebruiken om uw virtuele-machineschaalset te maken met een door het systeem toegewezen beheerde identiteit.
az account get-access-token
Gebruik de volgende CURL-opdracht om het Azure Resource Manager REST-eindpunt aan te roepen, zodat u de door het systeem toegewezen beheerde identiteit kunt inschakelen voor de virtuele-machineschaalset, zoals aangegeven in de aanvraagbody door de waarde
{"identity":{"type":"SystemAssigned"}
voor een virtuele-machineschaalset met de naam myVMSS. Vervang<ACCESS TOKEN>
door de waarde die u in de vorige stap hebt ontvangen toen u een Bearer-toegangstoken en de<SUBSCRIPTION ID>
-waarde hebt aangevraagd die van toepassing zijn voor uw omgeving.Belangrijk
U moet de door de gebruiker toegewezen beheerde identiteiten weergeven met behulp van de volgende CURL-opdracht
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>"
, zodat u geen bestaande door de gebruiker aan de virtuele-machineschaalset toegewezen beheerde identiteiten verwijdert. Als u door de gebruiker toegewezen beheerde identiteiten hebt die zijn toegewezen aan de virtuele-machineschaalset, zoals aangegeven in deidentity
-waarde in het antwoord, gaat u verder met stap 3 waarin wordt getoond hoe u door de gebruiker toegewezen beheerde identiteiten kunt behouden terwijl de door het systeem toegewezen beheerde identiteit wordt ingeschakeld op uw virtuele-machineschaalset.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
Aanvraagheaders
Aanvraagheader Beschrijving Content-Type Vereist. Ingesteld op application/json
.Autorisatie Vereist. Ingesteld op een geldig Bearer
-toegangstoken.Aanvraagbody
{ "identity":{ "type":"SystemAssigned" } }
Als u een door het systeem toegewezen beheerde identiteit wilt inschakelen op een virtuele-machineschaalset met bestaande door de gebruiker toegewezen beheerde identiteiten, moet u
SystemAssigned
toevoegen aan detype
-waarde.Als aan uw virtuele-machineschaalset bijvoorbeeld de door de gebruiker toegewezen beheerde identiteiten
ID1
enID2
zijn toegewezen, en u een de door het systeem toegewezen beheerde identiteit wilt toevoegen aan de virtuele-machineschaalset, gebruikt u de volgende CURL-aanroep. Vervang<ACCESS TOKEN>
en<SUBSCRIPTION ID>
door de waarden die van toepassing zijn op uw omgeving.In API-versie
2018-06-01
worden door de gebruiker toegewezen beheerde identiteiten opgeslagen in deuserAssignedIdentities
-waarde in een woordenlijstindeling, dit in tegenstelling tot deidentityIds
-waarde in een matrixindeling die wordt gebruikt in API-versie2017-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
Aanvraagheaders
Aanvraagheader Beschrijving Content-Type Vereist. Ingesteld op application/json
.Autorisatie Vereist. Ingesteld op een geldig Bearer
-toegangstoken.Aanvraagbody
{ "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
Aanvraagheaders
Aanvraagheader Beschrijving Content-Type Vereist. Ingesteld op application/json
.Autorisatie Vereist. Ingesteld op een geldig Bearer
-toegangstoken.Aanvraagbody
{ "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" ] } }
Een door het systeem toegewezen beheerde identiteit uitschakelen vanuit een virtuele-machineschaalset
Als u een door het systeem toegewezen identiteit wilt uitschakelen op een bestaande virtuele-machineschaalset, moet u een toegangstoken verkrijgen en vervolgens met CURL het Resource Manager REST-eindpunt aanroepen om het identiteitstype bij te werken naar None
.
Haal een Bearer-toegangstoken op dat u in de volgende stap in de autorisatie-header gaat gebruiken om uw virtuele-machineschaalset te maken met een door het systeem toegewezen beheerde identiteit.
az account get-access-token
Werk de virtuele-machineschaalset waarbij u met CURL het Azure Resource Manager REST-eindpunt aanroept om de door het systeem toegewezen beheerde identiteit uit te schakelen. In het volgende voorbeeld wordt een door het systeem toegewezen beheerde identiteit zoals aangegeven in de aanvraagbody met de waarde
{"identity":{"type":"None"}}
uitgeschakeld vanuit een virtuele-machineschaalset met de naam myVMSS. Vervang<ACCESS TOKEN>
door de waarde die u in de vorige stap hebt ontvangen toen u een Bearer-toegangstoken en de<SUBSCRIPTION ID>
-waarde hebt aangevraagd die van toepassing zijn voor uw omgeving.Belangrijk
U moet de door de gebruiker toegewezen beheerde identiteiten weergeven met behulp van de volgende CURL-opdracht
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>"
, zodat u geen bestaande door de gebruiker aan de virtuele-machineschaalset toegewezen beheerde identiteiten verwijdert. Als u een door de gebruiker aan de virtuele-machineschaalset toegewezen beheerde identiteit hebt, gaat u verder met stap 3 waarin wordt getoond hoe u door de gebruiker toegewezen beheerde identiteiten kunt behouden terwijl de door het systeem toegewezen beheerde identiteit wordt verwijderd van uw virtuele-machineschaalset.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
Aanvraagheaders
Aanvraagheader Beschrijving Content-Type Vereist. Ingesteld op application/json
.Autorisatie Vereist. Ingesteld op een geldig Bearer
-toegangstoken.Aanvraagbody
{ "identity":{ "type":"None" } }
Als u een door het systeem toegewezen beheerde identiteit wilt verwijderen uit een virtuele-machineschaalset met door de gebruiker toegewezen beheerde identiteiten, verwijdert u
SystemAssigned
uit de{"identity":{"type:" "}}
-waarde en behoudt u deUserAssigned
-waarde en deuserAssignedIdentities
-woordenlijstwaarden als u API-versie 2018-06-01 gebruikt. Als u API-versie 2017-12-01 of eerder gebruikt, moet u deidentityIds
-matrix blijven gebruiken.
Door de gebruiker toegewezen beheerde identiteit
In deze sectie leert u hoe u een door de gebruiker toegewezen beheerde identiteit kunt toevoegen aan/verwijderen uit een virtuele-machineschaalset, door met behulp van CURL het Azure Resource Manager REST-eindpunt aan te roepen.
Door de gebruiker toegewezen beheerde identiteit inschakelen tijdens het maken van een virtuele-machineschaalset
Haal een Bearer-toegangstoken op dat u in de volgende stap in de autorisatie-header gaat gebruiken om uw virtuele-machineschaalset te maken met een door het systeem toegewezen beheerde identiteit.
az account get-access-token
Maak een netwerkinterface voor uw virtuele-machineschaalset:
az network nic create -g myResourceGroup --vnet-name myVnet --subnet mySubnet -n myNic
Haal een Bearer-toegangstoken op dat u in de volgende stap in de autorisatie-header gaat gebruiken om uw virtuele-machineschaalset te maken met een door het systeem toegewezen beheerde identiteit.
az account get-access-token
Maak een door de gebruiker toegewezen beheerde identiteit met behulp van de instructies die hier worden gevonden: Een door de gebruiker toegewezen beheerde identiteit maken.
Maak een virtuele-machineschaalset door met behulp van CURL het Azure Resource Manager REST-eindpunt aan te roepen. In het volgende voorbeeld wordt een virtuele-machineschaalset gemaakt met de naam myVMSS in de resourcegroep myResourceGroup met een door de gebruiker toegewezen beheerde identiteit
ID1
, zoals aangegeven in de aanvraagbody met de waarde"identity":{"type":"UserAssigned"}
. Vervang<ACCESS TOKEN>
door de waarde die u in de vorige stap hebt ontvangen toen u een Bearer-toegangstoken en de<SUBSCRIPTION ID>
-waarde hebt aangevraagd die van toepassing zijn voor uw omgeving.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
Aanvraagheaders
Aanvraagheader Beschrijving Content-Type Vereist. Ingesteld op application/json
.Autorisatie Vereist. Ingesteld op een geldig Bearer
-toegangstoken.Aanvraagbody
{ "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
Aanvraagheaders
Aanvraagheader Beschrijving Content-Type Vereist. Ingesteld op application/json
.Autorisatie Vereist. Ingesteld op een geldig Bearer
-toegangstoken.Aanvraagbody
{ "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" } } }
Een door de gebruiker toegewezen beheerde identiteit toewijzen aan een bestaande virtuele-machineschaalset van Azure
Haal een Bearer-toegangstoken op dat u in de volgende stap in de autorisatie-header gaat gebruiken om uw virtuele-machineschaalset te maken met een door het systeem toegewezen beheerde identiteit.
az account get-access-token
Maak een door de gebruiker toegewezen beheerde identiteit met behulp van de hier vermelde instructies: Een door de gebruiker toegewezen beheerde identiteit maken.
U moet de identiteitstypen weergeven die aan de virtuele-machineschaalset zijn toegewezen met behulp van de volgende CURL-opdracht, zodat u geen bestaande door de gebruiker of het systeem aan de virtuele-machineschaalset toegewezen identiteiten verwijdert. Als u beheerde identiteiten hebt die zijn toegewezen aan de virtuele-machineschaalset, worden deze weergegeven in de
identity
-waarde.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
Aanvraagheaders
Aanvraagheader Beschrijving Autorisatie Vereist. Ingesteld op een geldig Bearer
-toegangstoken.Als u geen door de gebruiker of het systeem toegewezen beheerde identiteiten hebt die aan de virtuele-machineschaalset zijn toegewezen, gebruikt u de volgende CURL-opdracht om het Azure Resource Manager REST-eindpunt aan te roepen voor het toewijzen van de eerste door de gebruiker toegewezen beheerde identiteit aan de virtuele-machineschaalset. Als u door de gebruiker of het systeem toegewezen beheerde identiteiten hebt die zijn toegewezen aan de virtuele-machineschaalset, gaat u verder met stap 5 waarin wordt getoond hoe u meerdere door de gebruiker toegewezen beheerde identiteiten aan een virtuele-machineschaalset kunt toevoegen terwijl u tevens de door het systeem toegewezen beheerde identiteit behoudt.
In het volgende voorbeeld wordt een door de gebruiker toegewezen beheerde identiteit
ID1
toegewezen aan een virtuele-machineschaalset met de naam myVMSS in de resourcegroep myResourceGroup. Vervang<ACCESS TOKEN>
door de waarde die u in de vorige stap hebt ontvangen toen u een Bearer-toegangstoken en de<SUBSCRIPTION ID>
-waarde hebt aangevraagd die van toepassing zijn voor uw omgeving.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
Aanvraagheaders
Aanvraagheader Beschrijving Content-Type Vereist. Ingesteld op application/json
.Autorisatie Vereist. Ingesteld op een geldig Bearer
-toegangstoken.Aanvraagbody
{ "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
Aanvraagheaders
Aanvraagheader Beschrijving Content-Type Vereist. Ingesteld op application/json
.Autorisatie Vereist. Ingesteld op een geldig Bearer
-toegangstoken.Aanvraagbody
{ "identity":{ "type":"userAssigned", "identityIds":[ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1" ] } }
Als u een bestaande door de gebruiker of door het systeem toegewezen beheerde identiteit hebt die is toegewezen aan uw virtuele-machineschaalset:
API VERSION 2018-06-01
Voeg de door de gebruiker toegewezen beheerde identiteit toe aan de woordenlijstwaarde
userAssignedIdentities
.Als u bijvoorbeeld een door het systeem toegewezen beheerde identiteit en de momenteel door de gebruiker aan uw virtuele-machineschaalset toegewezen beheerde identiteit
ID1
hebt en u de door de gebruiker toegewezen beheerde identiteitID2
wilt toevoegen: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
Aanvraagheaders
Aanvraagheader Beschrijving Content-Type Vereist. Ingesteld op application/json
.Autorisatie Vereist. Ingesteld op een geldig Bearer
-toegangstoken.Aanvraagbody
{ "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
Bewaar de door de gebruiker toegewezen beheerde identiteiten die u in de matrixwaarde
identityIds
wilt houden waarbij u de nieuwe door de gebruiker toegewezen beheerde identiteit toevoegt.Als u bijvoorbeeld een door het systeem toegewezen identiteit en de momenteel door de gebruiker aan uw virtuele-machineschaalset toegewezen beheerde identiteit
ID1
hebt en u hieraan de door de gebruiker toegewezen beheerde identiteitID2
wilt toevoegen: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
Aanvraagheaders
Aanvraagheader Beschrijving Content-Type Vereist. Ingesteld op application/json
.Autorisatie Vereist. Ingesteld op een geldig Bearer
-toegangstoken.Aanvraagbody
{ "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" ] } }
Een door de gebruiker toegewezen beheerde identiteit uit een virtuele-machineschaalset verwijderen
Haal een Bearer-toegangstoken op dat u in de volgende stap in de autorisatie-header gaat gebruiken om uw virtuele-machineschaalset te maken met een door het systeem toegewezen beheerde identiteit.
az account get-access-token
U moet de beheerde identiteiten weergeven met behulp van de volgende CURL-opdracht, zodat u geen bestaande door de gebruiker toegewezen beheerde identiteiten verwijdert die aan de virtuele-machineschaalset toegewezen moeten blijven of de aan het systeem toegewezen beheerde identiteit verwijdert:
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
Aanvraagheaders
Aanvraagheader Beschrijving Autorisatie Vereist. Ingesteld op een geldig Bearer
-toegangstoken.Als u beheerde identiteiten hebt die aan de virtuele machine zijn toegewezen, worden deze in het antwoord in de
identity
-waarde weergegeven.Als bij u bijvoorbeeld de door de gebruiker toegewezen beheerde identiteiten
ID1
enID2
zijn toegewezen aan uw virtuele-machineschaalset, en u wilt dat alleenID1
blijft toegewezen en dat de door het systeem toegewezen beheerde identiteit behouden blijft:API VERSION 2018-06-01
Voeg
null
toe aan de door de gebruiker toegewezen beheerde identiteit die u wilt verwijderen: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
Aanvraagheaders
Aanvraagheader Beschrijving Content-Type Vereist. Ingesteld op application/json
.Autorisatie Vereist. Ingesteld op een geldig Bearer
-toegangstoken.Aanvraagbody
{ "identity":{ "type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":null } } }
API VERSION 2017-12-01
Bewaar alleen de door de gebruiker toegewezen beheerde identiteit(en) die u in de
identityIds
-matrix wilt behouden: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
Aanvraagheaders
Aanvraagheader Beschrijving Content-Type Vereist. Ingesteld op application/json
.Autorisatie Vereist. Ingesteld op een geldig Bearer
-toegangstoken.Aanvraagbody
{ "identity":{ "type":"SystemAssigned,UserAssigned", "identityIds":[ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1" ] } }
Als uw virtuele-machineschaalset zowel door het systeem toegewezen als door de gebruiker toegewezen beheerde identiteiten bevat, kunt u alle door de gebruiker toegewezen beheerde identiteiten verwijderen door te schakelen naar het gebruik van alleen het door het systeem toegewezen beheerde identiteiten met de volgende opdracht:
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
Aanvraagheaders
Aanvraagheader | Beschrijving |
---|---|
Content-Type | Vereist. Ingesteld op application/json . |
Autorisatie | Vereist. Ingesteld op een geldig Bearer -toegangstoken. |
Aanvraagbody
{
"identity":{
"type":"SystemAssigned"
}
}
Als uw virtuele-machineschaalset alleen door de gebruiker toegewezen beheerde identiteiten bevat en u deze allemaal wilt verwijderen, gebruikt u de volgende opdracht:
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
Aanvraagheaders
Aanvraagheader | Beschrijving |
---|---|
Content-Type | Vereist. Ingesteld op application/json . |
Autorisatie | Vereist. Ingesteld op een geldig Bearer -toegangstoken. |
Aanvraagbody
{
"identity":{
"type":"None"
}
}
Volgende stappen
Zie voor informatie over het maken, weergeven of verwijderen van door de gebruiker toegewezen beheerde identiteiten met behulp van REST: