Konfigurieren von verwalteten Identitäten für Azure-Ressourcen in einer VM-Skalierungsgruppe mithilfe von REST-API-Aufrufen
Verwaltete Identitäten für Azure-Ressourcen stellen für Azure-Dienste eine automatisch verwaltete Systemidentität in Microsoft Entra ID bereit. Sie können diese Identität für die Authentifizierung bei jedem Dienst verwenden, der die Microsoft Entra-Authentifizierung unterstützt. Hierfür müssen keine Anmeldeinformationen im Code enthalten sein.
In diesem Artikel erfahren Sie, wie Sie unter Verwendung von CURL für Aufrufe an den Azure Resource Manager-REST-Endpunkt die folgenden Vorgänge für verwaltete Identitäten für Azure-Ressourcen in einer VM-Skalierungsgruppe ausführen können:
- Aktivieren und Deaktivieren der systemzugewiesenen verwalteten Identität in einer Azure VM-Skalierungsgruppe
- Hinzufügen und Entfernen einer benutzerzugewiesenen verwalteten Identität in einer Azure VM-Skalierungsgruppe
Wenn Sie noch kein Azure-Konto haben, sollten Sie sich für ein kostenloses Konto registrieren, bevor Sie fortfahren.
Voraussetzungen
Wenn Sie mit verwalteten Identitäten für Azure-Ressourcen noch nicht vertraut sind, lesen Sie Was sind verwaltete Identitäten für Azure-Ressourcen?. Informationen zu systemseitig zugewiesenen und benutzerseitig zugewiesenen Typen verwalteter Identitäten finden Sie unter Arten von verwalteten Identitäten.
Um die Verwaltungsvorgänge in diesem Artikel auszuführen, benötigt Ihr Konto die folgenden Azure-Rollenzuweisungen:
Mitwirkender für virtuelle Computer, um eine VM-Skalierungsgruppe zu erstellen und die vom System und/oder Benutzer zugewiesene verwaltete Identität in einer VM-Skalierungsgruppe zu aktivieren bzw. daraus zu entfernen
Mitwirkender für verwaltete Identität, um eine vom Benutzer zugewiesene verwaltete Identität zu erstellen
Operator für verwaltete Identität, um eine vom Benutzer zugewiesene Identität einer VM-Skalierungsgruppe zuzuweisen bzw. daraus zu entfernen
Hinweis
Es sind keine weiteren Microsoft Entra-Verzeichnisrollenzuweisungen erforderlich.
Verwenden Sie die Bash-Umgebung in Azure Cloud Shell. Weitere Informationen finden Sie unter Schnellstart für Bash in Azure Cloud Shell.
Wenn Sie CLI-Referenzbefehle lieber lokal ausführen, installieren Sie die Azure CLI. Wenn Sie Windows oder macOS ausführen, sollten Sie die Azure CLI in einem Docker-Container ausführen. Weitere Informationen finden Sie unter Ausführen der Azure CLI in einem Docker-Container.
Wenn Sie eine lokale Installation verwenden, melden Sie sich mithilfe des Befehls az login bei der Azure CLI an. Führen Sie die in Ihrem Terminal angezeigten Schritte aus, um den Authentifizierungsprozess abzuschließen. Informationen zu anderen Anmeldeoptionen finden Sie unter Anmelden mit der Azure CLI.
Installieren Sie die Azure CLI-Erweiterung beim ersten Einsatz, wenn Sie dazu aufgefordert werden. Weitere Informationen zu Erweiterungen finden Sie unter Verwenden von Erweiterungen mit der Azure CLI.
Führen Sie az version aus, um die installierte Version und die abhängigen Bibliotheken zu ermitteln. Führen Sie az upgrade aus, um das Upgrade auf die aktuelle Version durchzuführen.
Systemseitig zugewiesene verwaltete Identität
In diesem Abschnitt erfahren Sie, wie Sie unter Verwendung von CURL für Aufrufe an den Azure Resource Manager-REST-Endpunkt eine systemzugewiesene verwaltete Identität in einer VM-Skalierungsgruppe aktivieren und deaktivieren können.
Aktivieren der vom System zugewiesenen verwalteten Identität bei der Erstellung einer VM-Skalierungsgruppe
Zum Erstellen einer VM-Skalierungsgruppe mit aktivierter systemzugewiesener verwalteter Identität müssen Sie eine VM-Skalierungsgruppe erstellen und ein Zugriffstoken abrufen, um CURL zum Aufrufen des Resource Manager-Endpunkts mit dem Wert für den systemzugewiesenen verwalteten Identitätstyp zu verwenden.
Erstellen Sie eine Ressourcengruppe für das Einschließen und Bereitstellen der VM-Skalierungsgruppe und der zugehörigen Ressourcen. Verwenden Sie hierfür az group create. Sie können diesen Schritt überspringen, wenn Sie bereits über eine Ressourcengruppe verfügen, die Sie stattdessen verwenden möchten:
az group create --name myResourceGroup --location westus
Erstellen Sie eine Netzwerkschnittstelle für die VM-Skalierungsgruppe:
az network nic create -g myResourceGroup --vnet-name myVnet --subnet mySubnet -n myNic
Rufen Sie ein Bearer-Zugriffstoken ab, das Sie dann im nächsten Schritt im Autorisierungsheader verwenden, um die VM-Skalierungsgruppe mit einer systemzugewiesenen verwalteten Identität zu erstellen.
az account get-access-token
Erstellen Sie über Azure Cloud Shell eine VM-Skalierungsgruppe mithilfe von CURL zum Aufrufen des Azure Resource Manager-REST-Endpunkts. Im folgenden Beispiel wird eine VM-Skalierungsgruppe namens myVMSS in myResourceGroup mit einer systemzugewiesenen verwalteten Identität erstellt, wie es im Anforderungstext durch den Wert
"identity":{"type":"SystemAssigned"}
angegeben ist. Ersetzen Sie<ACCESS TOKEN>
durch den Wert, den Sie im vorherigen Schritt zum Anfordern eines Bearer-Zugriffstokens erhalten haben, und ersetzen Sie den Wert<SUBSCRIPTION ID>
entsprechend Ihrer Umgebung.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
Anforderungsheader
Anforderungsheader BESCHREIBUNG Content-Type Erforderlich. Legen Sie diese Option auf application/json
fest.Autorisierung Erforderlich. Legen Sie diese Option auf ein gültiges Bearer
-Zugriffstoken fest.Anforderungstext
{ "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" } } }
Aktivieren einer vom System zugewiesenen verwalteten Identität in einer vorhandenen VM-Skalierungsgruppe
Um die systemzugewiesene verwaltete Identität in einer vorhandenen VM-Skalierungsgruppe zu aktivieren, müssen Sie ein Zugriffstoken abrufen und dann CURL verwenden, um den Resource Manager-REST-Endpunkt zum Aktualisieren des Identitätstyps aufzurufen.
Rufen Sie ein Bearer-Zugriffstoken ab, das Sie dann im nächsten Schritt im Autorisierungsheader verwenden, um die VM-Skalierungsgruppe mit einer systemzugewiesenen verwalteten Identität zu erstellen.
az account get-access-token
Verwenden Sie den folgenden CURL-Befehl zum Aufrufen des Azure Resource Manager-REST-Endpunkts, um die systemzugewiesene verwaltete Identität in der VM-Skalierungsgruppe zu aktivieren, wie es im Anforderungstext durch den Wert
{"identity":{"type":"SystemAssigned"}
für eine VM-Skalierungsgruppe namens myVMSS angegeben ist. Ersetzen Sie<ACCESS TOKEN>
durch den Wert, den Sie im vorherigen Schritt zum Anfordern eines Bearer-Zugriffstokens erhalten haben, und ersetzen Sie den Wert<SUBSCRIPTION ID>
entsprechend Ihrer Umgebung.Wichtig
Um sicherzustellen, dass Sie keine vorhandenen benutzerzugewiesenen verwalteten Identitäten löschen, die der VM-Skalierungsgruppe zugewiesen sind, müssen Sie die benutzerzugewiesenen verwalteten Identitäten mit dem folgenden CURL-Befehl auflisten:
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>"
Wenn der VM-Skalierungsgruppe benutzerzugewiesene verwaltete Identitäten zugewiesen sind, wie es imidentity
-Wert in der Antwort angegeben ist, fahren Sie mit Schritt 3 fort. Dort wird gezeigt, wie Sie benutzerzugewiesene verwaltete Identitäten beibehalten und gleichzeitig die systemzugewiesene verwaltete Identität in der VM-Skalierungsgruppe aktivieren.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
Anforderungsheader
Anforderungsheader BESCHREIBUNG Content-Type Erforderlich. Legen Sie diese Option auf application/json
fest.Autorisierung Erforderlich. Legen Sie diese Option auf ein gültiges Bearer
-Zugriffstoken fest.Anforderungstext
{ "identity":{ "type":"SystemAssigned" } }
Zum Aktivieren der systemzugewiesenen verwalteten Identität in einer VM-Skalierungsgruppe mit vorhandenen benutzerzugewiesenen verwalteten Identitäten müssen Sie
SystemAssigned
zumtype
-Wert hinzufügen.Wenn der VM-Skalierungsgruppe beispielsweise die benutzerzugewiesenen verwalteten Identitäten
ID1
undID2
zugewiesen sind und Sie der VM-Skalierungsgruppe eine systemzugewiesene verwalteten Identität hinzufügen möchten, verwenden Sie den folgenden CURL-Aufruf. Ersetzen Sie<ACCESS TOKEN>
und<SUBSCRIPTION ID>
durch Werte entsprechend Ihrer Umgebung.Bei der API-Version
2018-06-01
werden die vom Benutzer zugewiesenen verwalteten Identitäten im WertuserAssignedIdentities
in einem Wörterbuchformat gespeichert (im Gegensatz zum WertidentityIds
in einem Arrayformat, der in API-Version2017-12-01
verwendet wird).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
Anforderungsheader
Anforderungsheader BESCHREIBUNG Content-Type Erforderlich. Legen Sie diese Option auf application/json
fest.Autorisierung Erforderlich. Legen Sie diese Option auf ein gültiges Bearer
-Zugriffstoken fest.Anforderungstext
{ "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
Anforderungsheader
Anforderungsheader BESCHREIBUNG Content-Type Erforderlich. Legen Sie diese Option auf application/json
fest.Autorisierung Erforderlich. Legen Sie diese Option auf ein gültiges Bearer
-Zugriffstoken fest.Anforderungstext
{ "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" ] } }
Deaktivieren einer vom System zugewiesenen verwalteten Identität in einer VM-Skalierungsgruppe
Um eine systemzugewiesene Identität in einer vorhandenen VM-Skalierungsgruppe zu deaktivieren, müssen Sie ein Zugriffstoken abrufen und dann CURL verwenden, um den Resource Manager-REST-Endpunkt zum Aktualisieren des Identitätstyps in None
aufzurufen.
Rufen Sie ein Bearer-Zugriffstoken ab, das Sie dann im nächsten Schritt im Autorisierungsheader verwenden, um die VM-Skalierungsgruppe mit einer systemzugewiesenen verwalteten Identität zu erstellen.
az account get-access-token
Aktualisieren Sie die VM-Skalierungsgruppe mithilfe von CURL zum Aufrufen des Azure Resource Manager-REST-Endpunkts, um die systemzugewiesene verwalteten Identität zu deaktivieren. Im folgenden Beispiel wird die systemzugewiesene verwaltete Identität in einer VM-Skalierungsgruppe namens myVMSS deaktiviert, wie es im Anforderungstext durch den Wert
{"identity":{"type":"None"}}
angegeben ist. Ersetzen Sie<ACCESS TOKEN>
durch den Wert, den Sie im vorherigen Schritt zum Anfordern eines Bearer-Zugriffstokens erhalten haben, und ersetzen Sie den Wert<SUBSCRIPTION ID>
entsprechend Ihrer Umgebung.Wichtig
Um sicherzustellen, dass Sie keine vorhandenen benutzerzugewiesenen verwalteten Identitäten löschen, die der VM-Skalierungsgruppe zugewiesen sind, müssen Sie die benutzerzugewiesenen verwalteten Identitäten mit dem folgenden CURL-Befehl auflisten:
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>"
Wenn der VM-Skalierungsgruppe benutzerzugewiesene verwaltete Identitäten zugewiesen sind, fahren Sie mit Schritt 3 fort. Dort wird gezeigt, wie Sie die benutzerzugewiesenen verwalteten Identitäten beibehalten und gleichzeitig die systemzugewiesene verwaltete Identität aus der VM-Skalierungsgruppe entfernen.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
Anforderungsheader
Anforderungsheader BESCHREIBUNG Content-Type Erforderlich. Legen Sie diese Option auf application/json
fest.Autorisierung Erforderlich. Legen Sie diese Option auf ein gültiges Bearer
-Zugriffstoken fest.Anforderungstext
{ "identity":{ "type":"None" } }
Zum Entfernen der systemzugewiesenen verwalteten Identität aus einer VM-Skalierungsgruppe mit benutzerzugewiesenen verwalteten Identitäten entfernen Sie
SystemAssigned
aus dem Wert{"identity":{"type:" "}}
, während Sie den WertUserAssigned
und dieuserAssignedIdentities
-Wörterbuchwerte beibehalten, wenn Sie API-Version 2018-06-01 verwenden. Bei Verwendung der API-Version 2017-12-01 (oder einer älteren Version) behalten Sie dasidentityIds
-Array bei.
Benutzerseitig zugewiesene verwaltete Identität
In diesem Abschnitt erfahren Sie, wie Sie unter Verwendung von CURL für Aufrufe an den Azure Resource Manager-REST-Endpunkt eine benutzerzugewiesene verwaltete Identität in einer VM-Skalierungsgruppe hinzufügen und entfernen können.
Zuweisen einer vom Benutzer zugewiesenen verwalteten Identität bei der Erstellung einer VM-Skalierungsgruppe
Rufen Sie ein Bearer-Zugriffstoken ab, das Sie dann im nächsten Schritt im Autorisierungsheader verwenden, um die VM-Skalierungsgruppe mit einer systemzugewiesenen verwalteten Identität zu erstellen.
az account get-access-token
Erstellen Sie eine Netzwerkschnittstelle für die VM-Skalierungsgruppe:
az network nic create -g myResourceGroup --vnet-name myVnet --subnet mySubnet -n myNic
Rufen Sie ein Bearer-Zugriffstoken ab, das Sie dann im nächsten Schritt im Autorisierungsheader verwenden, um die VM-Skalierungsgruppe mit einer systemzugewiesenen verwalteten Identität zu erstellen.
az account get-access-token
Erstellen Sie eine benutzerseitig zugewiesene Identität anhand der Anweisungen unter Erstellen einer benutzerseitig zugewiesenen verwalteten Identität.
Erstellen Sie eine VM-Skalierungsgruppe mithilfe von CURL zum Aufrufen des Azure Resource Manager-REST-Endpunkts. Im folgenden Beispiel wird eine VM-Skalierungsgruppe namens myVMSS in der Ressourcengruppe myResourceGroup mit einer benutzerzugewiesenen verwaltete Identität
ID1
erstellt, wie es im Anforderungstext durch den Wert"identity":{"type":"UserAssigned"}
angegeben ist. Ersetzen Sie<ACCESS TOKEN>
durch den Wert, den Sie im vorherigen Schritt zum Anfordern eines Bearer-Zugriffstokens erhalten haben, und ersetzen Sie den Wert<SUBSCRIPTION ID>
entsprechend Ihrer Umgebung.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
Anforderungsheader
Anforderungsheader BESCHREIBUNG Content-Type Erforderlich. Legen Sie diese Option auf application/json
fest.Autorisierung Erforderlich. Legen Sie diese Option auf ein gültiges Bearer
-Zugriffstoken fest.Anforderungstext
{ "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
Anforderungsheader
Anforderungsheader BESCHREIBUNG Content-Type Erforderlich. Legen Sie diese Option auf application/json
fest.Autorisierung Erforderlich. Legen Sie diese Option auf ein gültiges Bearer
-Zugriffstoken fest.Anforderungstext
{ "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" } } }
Zuweisen einer vom Benutzer zugewiesenen verwalteten Identität zu einer vorhandenen Azure-VM-Skalierungsgruppe
Rufen Sie ein Bearer-Zugriffstoken ab, das Sie dann im nächsten Schritt im Autorisierungsheader verwenden, um die VM-Skalierungsgruppe mit einer systemzugewiesenen verwalteten Identität zu erstellen.
az account get-access-token
Erstellen Sie eine benutzerzugewiesene verwaltete Identität anhand der Anweisungen unter Erstellen einer vom Benutzer zugewiesenen verwalteten Identität.
Um sicherzustellen, dass Sie keine vorhandenen benutzer- oder systemzugewiesenen verwalteten Identitäten löschen, die der VM-Skalierungsgruppe zugewiesen sind, müssen Sie die Identitätstypen, die der VM-Skalierungsgruppe zugewiesen sind, mit dem folgenden CURL-Befehl auflisten. Sollten der VM-Skalierungsgruppe verwaltete Identitäten zugewiesen sein, sind diese unter dem Wert
identity
aufgelistet.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
Anforderungsheader
Anforderungsheader BESCHREIBUNG Autorisierung Erforderlich. Legen Sie diese Option auf ein gültiges Bearer
-Zugriffstoken fest.Wenn der VM-Skalierungsgruppe keine benutzer- oder systemzugewiesenen verwalteten Identitäten zugewiesen sind, verwenden Sie den folgenden CURL-Befehl zum Aufrufen des Azure Resource Manager-REST-Endpunkts, um der VM-Skalierungsgruppe die erste benutzerzugewiesene verwaltete Identität zuzuweisen. Wenn der VM-Skalierungsgruppe benutzer- oder systemzugewiesene verwaltete Identitäten zugewiesen sind, fahren Sie mit Schritt 5 fort. Dort wird gezeigt, wie Sie einer VM-Skalierungsgruppe mehrere benutzerzugewiesene verwaltete Identitäten hinzufügen und gleichzeitig die systemzugewiesene verwaltete Identität beibehalten.
Im folgenden Beispiel wird einer VM-Skalierungsgruppe namens myVMSS in der Ressourcengruppe myResourceGroup eine benutzerzugewiesene verwaltete Identität
ID1
zugewiesen. Ersetzen Sie<ACCESS TOKEN>
durch den Wert, den Sie im vorherigen Schritt zum Anfordern eines Bearer-Zugriffstokens erhalten haben, und ersetzen Sie den Wert<SUBSCRIPTION ID>
entsprechend Ihrer Umgebung.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
Anforderungsheader
Anforderungsheader BESCHREIBUNG Content-Type Erforderlich. Legen Sie diese Option auf application/json
fest.Autorisierung Erforderlich. Legen Sie diese Option auf ein gültiges Bearer
-Zugriffstoken fest.Anforderungstext
{ "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
Anforderungsheader
Anforderungsheader BESCHREIBUNG Content-Type Erforderlich. Legen Sie diese Option auf application/json
fest.Autorisierung Erforderlich. Legen Sie diese Option auf ein gültiges Bearer
-Zugriffstoken fest.Anforderungstext
{ "identity":{ "type":"userAssigned", "identityIds":[ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1" ] } }
Gehen Sie wie folgt vor, wenn Ihrer VM-Skalierungsgruppe eine benutzer- oder systemzugewiesene verwaltete Identität zugewiesen ist:
API-VERSION 2018-06-01
Fügen Sie die vom Benutzer zugewiesene verwaltete Identität dem
userAssignedIdentities
-Wörterbuchwert hinzu.Wenn Ihrer VM-Skalierungsgruppe derzeit beispielweise die systemzugewiesene verwaltete Identität und die benutzerzugewiesene verwaltete Identität
ID1
zugewiesen sind und Sie die benutzerzugewiesene verwaltete IdentitätID2
hinzufügen möchten, verwenden Sie folgenden Befehl: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
Anforderungsheader
Anforderungsheader BESCHREIBUNG Content-Type Erforderlich. Legen Sie diese Option auf application/json
fest.Autorisierung Erforderlich. Legen Sie diese Option auf ein gültiges Bearer
-Zugriffstoken fest.Anforderungstext
{ "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
Behalten Sie beim Hinzufügen der neuen benutzerzugewiesenen verwalteten Identität die benutzerzugewiesenen verwalteten Identitäten bei, die im
identityIds
-Arraywert erhalten bleiben sollen.Wenn Ihrer VM-Skalierungsgruppe derzeit beispielweise die systemzugewiesene Identität und die benutzerzugewiesene verwaltete Identität
ID1
zugewiesen sind und Sie die benutzerzugewiesene verwaltete IdentitätID2
hinzufügen möchten, verwenden Sie folgenden Befehl: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
Anforderungsheader
Anforderungsheader BESCHREIBUNG Content-Type Erforderlich. Legen Sie diese Option auf application/json
fest.Autorisierung Erforderlich. Legen Sie diese Option auf ein gültiges Bearer
-Zugriffstoken fest.Anforderungstext
{ "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" ] } }
Entfernen einer vom Benutzer zugewiesenen verwalteten Identität aus einer VM-Skalierungsgruppe
Rufen Sie ein Bearer-Zugriffstoken ab, das Sie dann im nächsten Schritt im Autorisierungsheader verwenden, um die VM-Skalierungsgruppe mit einer systemzugewiesenen verwalteten Identität zu erstellen.
az account get-access-token
Um sicherzustellen, dass Sie keine vorhandenen benutzerzugewiesenen verwalteten Identitäten löschen, die der VM-Skalierungsgruppe weiterhin zugewiesen sein sollen, und auch nicht die systemzugewiesene verwaltete Identität entfernen, müssen Sie die verwalteten Identitäten mit dem folgenden CURL-Befehl auflisten:
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
Anforderungsheader
Anforderungsheader BESCHREIBUNG Autorisierung Erforderlich. Legen Sie diese Option auf ein gültiges Bearer
-Zugriffstoken fest.Sollten dem virtuellen Computer verwaltete Identitäten zugewiesen sein, sind diese in der Antwort im
identity
-Wert aufgelistet.Wenn beispielsweise die benutzerzugewiesenen verwalteten Identitäten
ID1
undID2
Ihrer VM-Skalierungsgruppe zugewiesen sind und nurID1
zugewiesen bleiben und die systemzugewiesene verwaltete Identität beibehalten werden soll, verwenden Sie folgenden Befehl:API-VERSION 2018-06-01
Fügen Sie
null
der benutzerzugewiesenen verwalteten Identität hinzu, die Sie entfernen möchten: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
Anforderungsheader
Anforderungsheader BESCHREIBUNG Content-Type Erforderlich. Legen Sie diese Option auf application/json
fest.Autorisierung Erforderlich. Legen Sie diese Option auf ein gültiges Bearer
-Zugriffstoken fest.Anforderungstext
{ "identity":{ "type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":null } } }
API-VERSION 2017-12-01
Behalten Sie nur die vom Benutzer zugewiesenen verwalteten Identitäten bei, die im
identityIds
-Array erhalten bleiben sollen: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
Anforderungsheader
Anforderungsheader BESCHREIBUNG Content-Type Erforderlich. Legen Sie diese Option auf application/json
fest.Autorisierung Erforderlich. Legen Sie diese Option auf ein gültiges Bearer
-Zugriffstoken fest.Anforderungstext
{ "identity":{ "type":"SystemAssigned,UserAssigned", "identityIds":[ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1" ] } }
Wenn die VM-Skalierungsgruppe sowohl system- als auch benutzerzugewiesene verwaltete Identitäten aufweist, können Sie alle benutzerzugewiesenen verwalteten Identitäten entfernen, indem Sie mit dem folgenden Befehl in den Modus wechseln, in dem nur die systemzugewiesene Identität verwendet wird:
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
Anforderungsheader
Anforderungsheader | BESCHREIBUNG |
---|---|
Content-Type | Erforderlich. Legen Sie diese Option auf application/json fest. |
Autorisierung | Erforderlich. Legen Sie diese Option auf ein gültiges Bearer -Zugriffstoken fest. |
Anforderungstext
{
"identity":{
"type":"SystemAssigned"
}
}
Wenn die VM-Skalierungsgruppe nur benutzerzugewiesene verwaltete Identitäten enthält und Sie alle entfernen möchten, verwenden Sie den folgenden Befehl:
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
Anforderungsheader
Anforderungsheader | BESCHREIBUNG |
---|---|
Content-Type | Erforderlich. Legen Sie diese Option auf application/json fest. |
Autorisierung | Erforderlich. Legen Sie diese Option auf ein gültiges Bearer -Zugriffstoken fest. |
Anforderungstext
{
"identity":{
"type":"None"
}
}
Nächste Schritte
Informationen zum Erstellen, Auflisten oder Löschen von benutzerzugewiesenen verwalteten Identitäten mithilfe von REST finden Sie unter: