Konfigurace spravovaných identit pro prostředky Azure na virtuálním počítači Azure pomocí volání rozhraní REST API
Spravované identity pro prostředky Azure jsou funkcí ID Microsoft Entra. Každá ze služeb Azure, které podporují spravované identity pro prostředky Azure, se řídí vlastní časovou osou. Než začnete, nezapomeňte zkontrolovat stav dostupnosti spravovaných identit pro váš prostředek a známé problémy.
Spravované identity pro prostředky Azure poskytují službám Azure automaticky spravovanou systémovou identitu v Microsoft Entra ID. Tuto identitu můžete použít k ověření v jakékoli službě, která podporuje ověřování Microsoft Entra, aniž byste ve vašem kódu museli mít přihlašovací údaje.
V tomto článku se pomocí NÁSTROJE CURL k volání koncového bodu REST Azure Resource Manageru naučíte provádět následující spravované identity pro operace prostředků Azure na virtuálním počítači Azure:
- Povolení a zakázání spravované identity přiřazené systémem na virtuálním počítači Azure
- Přidání a odebrání spravované identity přiřazené uživatelem na virtuálním počítači Azure
Pokud ještě nemáte účet Azure, zaregistrujte si bezplatný účet před tím, než budete pokračovat.
Požadavky
- Pokud neznáte spravované identity pro prostředky Azure, přečtěte si téma Co jsou spravované identity pro prostředky Azure? Další informace o typech spravovaných identit přiřazených systémem a přiřazených uživatelem najdete v tématu Typy spravovaných identit.
Použijte prostředí Bash v Azure Cloud Shellu. Další informace najdete v tématu Rychlý start pro Bash v Azure Cloud Shellu.
Pokud dáváte přednost místnímu spouštění referenčních příkazů rozhraní příkazového řádku, nainstalujte Azure CLI. Pokud používáte Windows nebo macOS, zvažte spuštění Azure CLI v kontejneru Docker. Další informace najdete v tématu Jak spustit Azure CLI v kontejneru Dockeru.
Pokud používáte místní instalaci, přihlaste se k Azure CLI pomocí příkazu az login. Pokud chcete dokončit proces ověřování, postupujte podle kroků zobrazených na terminálu. Další možnosti přihlášení najdete v tématu Přihlášení pomocí Azure CLI.
Po zobrazení výzvy nainstalujte rozšíření Azure CLI při prvním použití. Další informace o rozšířeních najdete v tématu Využití rozšíření v Azure CLI.
Spuštěním příkazu az version zjistěte verzi a závislé knihovny, které jsou nainstalované. Pokud chcete upgradovat na nejnovější verzi, spusťte az upgrade.
Spravovaná identita přiřazená systémem
V této části se dozvíte, jak povolit a zakázat spravovanou identitu přiřazenou systémem na virtuálním počítači Azure pomocí nástroje CURL k volání koncového bodu REST Azure Resource Manageru.
Povolení spravované identity přiřazené systémem během vytváření virtuálního počítače Azure
Pokud chcete vytvořit virtuální počítač Azure s povolenou spravovanou identitou přiřazenou systémem, váš účet potřebuje přiřazení role Přispěvatel virtuálních počítačů. Nejsou vyžadována žádná další přiřazení rolí adresáře Microsoft Entra.
Pomocí příkazu az group create vytvořte skupinu prostředků pro nasazení a uchování virtuálního počítače a souvisejících prostředků. Pokud už máte skupinu prostředků, kterou chcete použít, můžete tento krok přeskočit:
az group create --name myResourceGroup --location westus
Vytvořte síťové rozhraní pro virtuální počítač:
az network nic create -g myResourceGroup --vnet-name myVnet --subnet mySubnet -n myNic
Načtěte nosný přístupový token, který použijete v dalším kroku v autorizační hlavičce k vytvoření virtuálního počítače se spravovanou identitou přiřazenou systémem.
az account get-access-token
Pomocí Azure Cloud Shellu vytvořte virtuální počítač pomocí NÁSTROJE CURL pro volání koncového bodu REST Azure Resource Manageru. Následující příklad vytvoří virtuální počítač myVM s spravovanou identitou přiřazenou systémem, jak je uvedeno v textu požadavku hodnotou
"identity":{"type":"SystemAssigned"}
. Nahraďte<ACCESS TOKEN>
hodnotou, kterou jste obdrželi v předchozím kroku, když jste požadovali nosný přístupový token a<SUBSCRIPTION ID>
hodnotu podle potřeby pro vaše prostředí.curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PUT -d '{"location":"westus","name":"myVM","identity":{"type":"SystemAssigned"},"properties":{"hardwareProfile":{"vmSize":"Standard_D2_v2"},"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"StandardSSD_LRS"},"name":"myVM3osdisk","createOption":"FromImage"},"dataDisks":[{"diskSizeGB":1023,"createOption":"Empty","lun":0},{"diskSizeGB":1023,"createOption":"Empty","lun":1}]},"osProfile":{"adminUsername":"azureuser","computerName":"myVM","adminPassword":"<SECURE PASSWORD STRING>"},"networkProfile":{"networkInterfaces":[{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic","properties":{"primary":true}}]}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
Hlavičky požadavku
Hlavička požadavku Popis Typ obsahu Požadováno. Nastavte na application/json
.Autorizace Požadováno. Nastavte platný Bearer
přístupový token.Text požadavku
{ "location":"westus", "name":"myVM", "identity":{ "type":"SystemAssigned" }, "properties":{ "hardwareProfile":{ "vmSize":"Standard_D2_v2" }, "storageProfile":{ "imageReference":{ "sku":"2016-Datacenter", "publisher":"MicrosoftWindowsServer", "version":"latest", "offer":"WindowsServer" }, "osDisk":{ "caching":"ReadWrite", "managedDisk":{ "storageAccountType":"StandardSSD_LRS" }, "name":"myVM3osdisk", "createOption":"FromImage" }, "dataDisks":[ { "diskSizeGB":1023, "createOption":"Empty", "lun":0 }, { "diskSizeGB":1023, "createOption":"Empty", "lun":1 } ] }, "osProfile":{ "adminUsername":"azureuser", "computerName":"myVM", "adminPassword":"myPassword12" }, "networkProfile":{ "networkInterfaces":[ { "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic", "properties":{ "primary":true } } ] } } }
Povolení identity přiřazené systémem na existujícím virtuálním počítači Azure
Pokud chcete povolit spravovanou identitu přiřazenou systémem na virtuálním počítači, který byl původně zřízený bez ní, váš účet potřebuje přiřazení role Přispěvatel virtuálních počítačů. Nejsou vyžadována žádná další přiřazení rolí adresáře Microsoft Entra.
Načtěte nosný přístupový token, který použijete v dalším kroku v autorizační hlavičce k vytvoření virtuálního počítače se spravovanou identitou přiřazenou systémem.
az account get-access-token
Pomocí následujícího příkazu CURL zavolejte koncový bod REST Azure Resource Manageru, který povolí spravované identitě přiřazené systémem na virtuálním počítači, jak je uvedeno v textu požadavku hodnotou
{"identity":{"type":"SystemAssigned"}
virtuálního počítače myVM. Nahraďte<ACCESS TOKEN>
hodnotou, kterou jste obdrželi v předchozím kroku, když jste požadovali nosný přístupový token a<SUBSCRIPTION ID>
hodnotu podle potřeby pro vaše prostředí.Důležité
Abyste měli jistotu, že neodstraníte žádné existující spravované identity přiřazené uživatelem, které jsou přiřazené k virtuálnímu počítači, musíte pomocí tohoto příkazu CURL zobrazit seznam spravovaných identit přiřazených uživatelem:
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachines/<VM NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>"
Pokud máte k virtuálnímu počítači přiřazené všechny spravované identity přiřazené uživatelem, jak je uvedeno videntity
hodnotě v odpovědi, přeskočte ke kroku 3, který ukazuje, jak zachovat spravované identity přiřazené uživatelem při povolování spravované identity přiřazené systémem na virtuálním počítači.curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned"}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
Hlavičky požadavku
Hlavička požadavku Popis Typ obsahu Požadováno. Nastavte na application/json
.Autorizace Požadováno. Nastavte platný Bearer
přístupový token.Text požadavku
{ "identity":{ "type":"SystemAssigned" } }
Pokud chcete povolit spravovanou identitu přiřazenou systémem na virtuálním počítači se stávajícími spravovanými identitami přiřazenými uživatelem, musíte tuto
type
hodnotu přidatSystemAssigned
.Pokud má váš virtuální počítač například spravované identity
ID1
přiřazené uživatelem aID2
přiřazené k němu a chcete k virtuálnímu počítači přidat spravovanou identitu přiřazenou systémem, použijte následující volání CURL. Nahraďte<ACCESS TOKEN>
hodnoty odpovídající vašemu prostředí a<SUBSCRIPTION ID>
nahraďte je hodnotami.Verze
2018-06-01
rozhraní API ukládá spravované identity přiřazené uživatelem vuserAssignedIdentities
hodnotě ve formátu slovníkuidentityIds
na rozdíl od hodnoty ve formátu pole použitém ve verzi2017-12-01
rozhraní API .ROZHRANÍ API VERZE 2018-06-01
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{"/subscriptions/<<SUBSCRIPTION ID>>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{},"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":{}}}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
Hlavičky požadavku
Hlavička požadavku Popis Typ obsahu Požadováno. Nastavte na application/json
.Autorizace Požadováno. Nastavte platný Bearer
přístupový token.Text požadavku
{ "identity":{ "type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{ "/subscriptions/<<SUBSCRIPTION ID>>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{ }, "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":{ } } } }
ROZHRANÍ API VERZE 2017-12-01
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "identityIds":["/subscriptions/<<SUBSCRIPTION ID>>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1","/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2"]}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01 HTTP/1.1
Hlavičky požadavku
Hlavička požadavku Popis Typ obsahu Požadováno. Nastavte na application/json
.Autorizace Požadováno. Nastavte platný Bearer
přístupový token.Text požadavku
{ "identity":{ "type":"SystemAssigned, UserAssigned", "identityIds":[ "/subscriptions/<<SUBSCRIPTION ID>>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1", "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2" ] } }
Zakázání spravované identity přiřazené systémem z virtuálního počítače Azure
Pokud chcete na virtuálním počítači zakázat spravovanou identitu přiřazenou systémem, váš účet potřebuje přiřazení role Přispěvatel virtuálních počítačů. Nejsou vyžadována žádná další přiřazení rolí adresáře Microsoft Entra.
Načtěte nosný přístupový token, který použijete v dalším kroku v autorizační hlavičce k vytvoření virtuálního počítače se spravovanou identitou přiřazenou systémem.
az account get-access-token
Aktualizujte virtuální počítač pomocí CURL, aby volal koncový bod REST Azure Resource Manageru, aby se zakázala spravovaná identita přiřazená systémem. Následující příklad zakáže spravovanou identitu přiřazenou systémem, jak je identifikována v textu požadavku hodnotou
{"identity":{"type":"None"}}
virtuálního počítače s názvem myVM. Nahraďte<ACCESS TOKEN>
hodnotou, kterou jste obdrželi v předchozím kroku, když jste požadovali nosný přístupový token a<SUBSCRIPTION ID>
hodnotu podle potřeby pro vaše prostředí.Důležité
Abyste měli jistotu, že neodstraníte žádné existující spravované identity přiřazené uživatelem, které jsou přiřazené k virtuálnímu počítači, musíte pomocí tohoto příkazu CURL zobrazit seznam spravovaných identit přiřazených uživatelem:
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachines/<VM NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>"
Pokud máte k virtuálnímu počítači přiřazené všechny spravované identity přiřazené uživatelem, jak je uvedeno videntity
hodnotě v odpovědi, přeskočte ke kroku 3, který ukazuje, jak zachovat spravované identity přiřazené uživatelem při zakazování spravované identity přiřazené systémem na virtuálním počítači.curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"None"}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
Hlavičky požadavku
Hlavička požadavku Popis Typ obsahu Požadováno. Nastavte na application/json
.Autorizace Požadováno. Nastavte platný Bearer
přístupový token.Text požadavku
{ "identity":{ "type":"None" } }
Pokud chcete odebrat spravovanou identitu přiřazenou systémem z virtuálního počítače, který má spravované identity přiřazené uživatelem, odeberte z hodnoty hodnotu
UserAssigned
auserAssignedIdentities
hodnoty slovníku, pokud používáte rozhraní API verze 2018-06-01.{"identity":{"type:" "}}
SystemAssigned
Pokud používáte rozhraní API verze 2017-12-01 nebo starší, ponechteidentityIds
pole.
Spravovaná identita přiřazená uživatelem
V této části se dozvíte, jak přidat a odebrat spravovanou identitu přiřazenou uživatelem na virtuálním počítači Azure pomocí nástroje CURL k volání koncového bodu REST Azure Resource Manageru.
Přiřazení spravované identity přiřazené uživatelem během vytváření virtuálního počítače Azure
Pokud chcete přiřadit identitu přiřazenou uživatelem k virtuálnímu počítači, váš účet potřebuje přiřazení rolí Přispěvatel virtuálních počítačů a Operátor spravované identity. Nejsou vyžadována žádná další přiřazení rolí adresáře Microsoft Entra.
Načtěte nosný přístupový token, který použijete v dalším kroku v autorizační hlavičce k vytvoření virtuálního počítače se spravovanou identitou přiřazenou systémem.
az account get-access-token
Vytvořte síťové rozhraní pro virtuální počítač:
az network nic create -g myResourceGroup --vnet-name myVnet --subnet mySubnet -n myNic
Načtěte nosný přístupový token, který použijete v dalším kroku v autorizační hlavičce k vytvoření virtuálního počítače se spravovanou identitou přiřazenou systémem.
az account get-access-token
Pomocí zde uvedených pokynů vytvořte spravovanou identitu přiřazenou uživatelem: Vytvořte spravovanou identitu přiřazenou uživatelem.
Vytvořte virtuální počítač pomocí CURL pro volání koncového bodu REST Azure Resource Manageru. Následující příklad vytvoří virtuální počítač myVM ve skupině prostředků myResourceGroup se spravovanou identitou
ID1
přiřazenou uživatelem, jak je identifikováno v textu požadavku hodnotou"identity":{"type":"UserAssigned"}
. Nahraďte<ACCESS TOKEN>
hodnotou, kterou jste obdrželi v předchozím kroku, když jste požadovali nosný přístupový token a<SUBSCRIPTION ID>
hodnotu podle potřeby pro vaše prostředí.ROZHRANÍ API VERZE 2018-06-01
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PUT -d '{"location":"westus","name":"myVM","identity":{"type":"UserAssigned","identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]},"properties":{"hardwareProfile":{"vmSize":"Standard_D2_v2"},"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"StandardSSD_LRS"},"name":"myVM3osdisk","createOption":"FromImage"},"dataDisks":[{"diskSizeGB":1023,"createOption":"Empty","lun":0},{"diskSizeGB":1023,"createOption":"Empty","lun":1}]},"osProfile":{"adminUsername":"azureuser","computerName":"myVM","adminPassword":"myPassword12"},"networkProfile":{"networkInterfaces":[{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic","properties":{"primary":true}}]}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
Hlavičky požadavku
Hlavička požadavku Popis Typ obsahu Požadováno. Nastavte na application/json
.Autorizace Požadováno. Nastavte platný Bearer
přístupový token.Text požadavku
{ "location":"westus", "name":"myVM", "identity":{ "type":"UserAssigned", "identityIds":[ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1" ] }, "properties":{ "hardwareProfile":{ "vmSize":"Standard_D2_v2" }, "storageProfile":{ "imageReference":{ "sku":"2016-Datacenter", "publisher":"MicrosoftWindowsServer", "version":"latest", "offer":"WindowsServer" }, "osDisk":{ "caching":"ReadWrite", "managedDisk":{ "storageAccountType":"StandardSSD_LRS" }, "name":"myVM3osdisk", "createOption":"FromImage" }, "dataDisks":[ { "diskSizeGB":1023, "createOption":"Empty", "lun":0 }, { "diskSizeGB":1023, "createOption":"Empty", "lun":1 } ] }, "osProfile":{ "adminUsername":"azureuser", "computerName":"myVM", "adminPassword":"myPassword12" }, "networkProfile":{ "networkInterfaces":[ { "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic", "properties":{ "primary":true } } ] } } }
ROZHRANÍ API VERZE 2017-12-01
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01' -X PUT -d '{"location":"westus","name":"myVM","identity":{"type":"UserAssigned","identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]},"properties":{"hardwareProfile":{"vmSize":"Standard_D2_v2"},"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"StandardSSD_LRS"},"name":"myVM3osdisk","createOption":"FromImage"},"dataDisks":[{"diskSizeGB":1023,"createOption":"Empty","lun":0},{"diskSizeGB":1023,"createOption":"Empty","lun":1}]},"osProfile":{"adminUsername":"azureuser","computerName":"myVM","adminPassword":"myPassword12"},"networkProfile":{"networkInterfaces":[{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic","properties":{"primary":true}}]}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01 HTTP/1.1
Hlavičky požadavku
Hlavička požadavku Popis Typ obsahu Požadováno. Nastavte na application/json
.Autorizace Požadováno. Nastavte platný Bearer
přístupový token.Text požadavku
{ "location":"westus", "name":"myVM", "identity":{ "type":"UserAssigned", "identityIds":[ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1" ] }, "properties":{ "hardwareProfile":{ "vmSize":"Standard_D2_v2" }, "storageProfile":{ "imageReference":{ "sku":"2016-Datacenter", "publisher":"MicrosoftWindowsServer", "version":"latest", "offer":"WindowsServer" }, "osDisk":{ "caching":"ReadWrite", "managedDisk":{ "storageAccountType":"StandardSSD_LRS" }, "name":"myVM3osdisk", "createOption":"FromImage" }, "dataDisks":[ { "diskSizeGB":1023, "createOption":"Empty", "lun":0 }, { "diskSizeGB":1023, "createOption":"Empty", "lun":1 } ] }, "osProfile":{ "adminUsername":"azureuser", "computerName":"myVM", "adminPassword":"myPassword12" }, "networkProfile":{ "networkInterfaces":[ { "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic", "properties":{ "primary":true } } ] } } }
Přiřazení spravované identity přiřazené uživatelem k existujícímu virtuálnímu počítači Azure
Pokud chcete přiřadit identitu přiřazenou uživatelem k virtuálnímu počítači, váš účet potřebuje přiřazení rolí Přispěvatel virtuálních počítačů a Operátor spravované identity. Nejsou vyžadována žádná další přiřazení rolí adresáře Microsoft Entra.
Načtěte nosný přístupový token, který použijete v dalším kroku v autorizační hlavičce k vytvoření virtuálního počítače se spravovanou identitou přiřazenou systémem.
az account get-access-token
Pomocí zde uvedených pokynů vytvořte spravovanou identitu přiřazenou uživatelem. Vytvořte spravovanou identitu přiřazenou uživatelem.
Abyste měli jistotu, že neodstraníte existující spravované identity přiřazené uživatelem nebo systémem, které jsou přiřazené k virtuálnímu počítači, musíte pomocí následujícího příkazu CURL zobrazit seznam typů identit přiřazených k virtuálnímu počítači. Pokud máte spravované identity přiřazené ke škálovací sadě virtuálních počítačů, jsou uvedené v hodnotě
identity
.curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachines/<VM NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>"
GET https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachines/<VM NAME>?api-version=2018-06-01 HTTP/1.1
Hlavičky požadavku
Hlavička požadavku Popis Autorizace Požadováno. Nastavte platný Bearer
přístupový token.Pokud máte k virtuálnímu počítači přiřazené nějaké spravované identity přiřazené uživatelem nebo systémem, jak je uvedeno v
identity
hodnotě v odpovědi, přeskočte ke kroku 5, který ukazuje, jak zachovat spravovanou identitu přiřazenou systémem při přidávání spravované identity přiřazené uživatelem na virtuálním počítači.Pokud nemáte přiřazené žádné spravované identity přiřazené uživatelem k virtuálnímu počítači, pomocí následujícího příkazu CURL zavolejte koncový bod REST Azure Resource Manageru a přiřaďte k virtuálnímu počítači první spravovanou identitu přiřazenou uživatelem.
Následující příklad přiřadí spravovanou identitu
ID1
přiřazenou uživatelem k virtuálnímu počítači myVM ve skupině prostředků myResourceGroup. Nahraďte<ACCESS TOKEN>
hodnotou, kterou jste obdrželi v předchozím kroku, když jste požadovali nosný přístupový token a<SUBSCRIPTION ID>
hodnotu podle potřeby pro vaše prostředí.ROZHRANÍ API VERZE 2018-06-01
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"UserAssigned", "userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{}}}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
Hlavičky požadavku
Hlavička požadavku Popis Typ obsahu Požadováno. Nastavte na application/json
.Autorizace Požadováno. Nastavte platný Bearer
přístupový token.Text požadavku
{ "identity":{ "type":"UserAssigned", "userAssignedIdentities":{ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{ } } } }
ROZHRANÍ API VERZE 2017-12-01
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"userAssigned", "identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01 HTTP/1.1
Hlavičky požadavku
Hlavička požadavku Popis Typ obsahu Požadováno. Nastavte na application/json
.Autorizace Požadováno. Nastavte platný Bearer
přístupový token.Text požadavku
{ "identity":{ "type":"userAssigned", "identityIds":[ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1" ] } }
Pokud máte přiřazenou existující spravovanou identitu přiřazenou uživatelem nebo systémem přiřazenou k virtuálnímu počítači:
ROZHRANÍ API VERZE 2018-06-01
Přidejte spravovanou identitu přiřazenou uživatelem do hodnoty slovníku
userAssignedIdentities
.Pokud máte například spravovanou identitu přiřazenou systémem a spravovanou identitu
ID1
přiřazenou uživatelem, která je aktuálně přiřazená k virtuálnímu počítači a chcete do ní přidat spravovanou identituID2
přiřazenou uživatelem:curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{},"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":{}}}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
Hlavičky požadavku
Hlavička požadavku Popis Typ obsahu Požadováno. Nastavte na application/json
.Autorizace Požadováno. Nastavte platný Bearer
přístupový token.Text požadavku
{ "identity":{ "type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{ }, "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":{ } } } }
ROZHRANÍ API VERZE 2017-12-01
Při přidávání nové spravované identity přiřazené uživatelem zachovejte spravované identity, které chcete zachovat v
identityIds
hodnotě pole.Pokud máte například spravovanou identitu přiřazenou systémem a spravovanou identitu
ID1
přiřazenou uživatelem, která je aktuálně přiřazená k virtuálnímu počítači a chcete do ní přidat spravovanou identituID2
přiřazenou uživatelem:curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"SystemAssigned,UserAssigned", "identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1","/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2"]}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01 HTTP/1.1
Hlavičky požadavku
Hlavička požadavku Popis Typ obsahu Požadováno. Nastavte na application/json
.Autorizace Požadováno. Nastavte platný Bearer
přístupový token.Text požadavku
{ "identity":{ "type":"SystemAssigned,UserAssigned", "identityIds":[ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1", "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2" ] } }
Odebrání spravované identity přiřazené uživatelem z virtuálního počítače Azure
Pokud chcete odebrat identitu přiřazenou uživatelem k virtuálnímu počítači, váš účet potřebuje přiřazení role Přispěvatel virtuálních počítačů.
Načtěte nosný přístupový token, který použijete v dalším kroku v autorizační hlavičce k vytvoření virtuálního počítače se spravovanou identitou přiřazenou systémem.
az account get-access-token
Abyste měli jistotu, že neodstraníte žádné existující spravované identity přiřazené uživatelem, které chcete zachovat přiřazené k virtuálnímu počítači nebo odebrat spravovanou identitu přiřazenou systémem, musíte spravované identity vypsat pomocí následujícího příkazu CURL:
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachines/<VM NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>"
GET https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachines/<VM NAME>?api-version=2018-06-01 HTTP/1.1
Hlavičky požadavku
Hlavička požadavku Popis Typ obsahu Požadováno. Nastavte na application/json
.Autorizace Požadováno. Nastavte platný Bearer
přístupový token.Pokud jste ke virtuálnímu počítači přiřadili spravované identity, jsou uvedené v odpovědi v hodnotě
identity
.Pokud máte například spravované identity
ID1
přiřazené uživatelem aID2
přiřazené k virtuálnímu počítači a chcete zachovatID1
pouze přiřazenou identitu přiřazenou systémem:ROZHRANÍ API VERZE 2018-06-01
Přidejte
null
ke spravované identitě přiřazené uživatelem, kterou chcete odebrat:curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":null}}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
Hlavičky požadavku
Hlavička požadavku Popis Typ obsahu Požadováno. Nastavte na application/json
.Autorizace Požadováno. Nastavte platný Bearer
přístupový token.Text požadavku
{ "identity":{ "type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":null } } }
ROZHRANÍ API VERZE 2017-12-01
Zachovejte pouze spravované identity přiřazené uživatelem, které chcete zachovat v
identityIds
poli:curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01 HTTP/1.1
Hlavičky požadavku
Hlavička požadavku Popis Typ obsahu Požadováno. Nastavte na application/json
.Autorizace Požadováno. Nastavte platný Bearer
přístupový token.Text požadavku
{ "identity":{ "type":"SystemAssigned, UserAssigned", "identityIds":[ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1" ] } }
Pokud má váš virtuální počítač spravované identity přiřazené systémem i spravované identity přiřazené uživatelem, můžete odebrat všechny spravované identity přiřazené uživatelem tak, že pomocí následujícího příkazu přepnete jenom spravovanou identitu přiřazenou systémem:
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned"}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
Hlavičky požadavku
Hlavička požadavku | Popis |
---|---|
Typ obsahu | Požadováno. Nastavte na application/json . |
Autorizace | Požadováno. Nastavte platný Bearer přístupový token. |
Text požadavku
{
"identity":{
"type":"SystemAssigned"
}
}
Pokud má váš virtuální počítač jenom spravované identity přiřazené uživatelem a chcete je všechny odebrat, použijte následující příkaz:
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"None"}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
Hlavičky požadavku
Hlavička požadavku | Popis |
---|---|
Typ obsahu | Požadováno. Nastavte na application/json . |
Autorizace | Požadováno. Nastavte platný Bearer přístupový token. |
Text požadavku
{
"identity":{
"type":"None"
}
}
Další kroky
Informace o tom, jak vytvořit, vypsat nebo odstranit spravované identity přiřazené uživatelem pomocí rest, najdete v tématu: