Mengonfigurasi identitas terkelola untuk sumber daya Azure pada kumpulan skala komputer virtual menggunakan panggilan REST API
Identitas terkelola untuk sumber daya Azure menyediakan layanan Azure dengan identitas sistem yang dikelola secara otomatis di ID Microsoft Entra. Anda dapat menggunakan identitas ini untuk mengautentikasi tiap layanan yang mendukung autentikasi Microsoft Entra, tanpa memiliki kredensial dalam kode Anda.
Dalam artikel ini, dengan menggunakan CURL untuk melakukan panggilan ke titik akhir REST Azure Resource Manager, Anda mempelajari cara menjalankan identitas terkelola berikut untuk operasi sumber daya Azure di kumpulan skala komputer virtual:
- Mengaktifkan dan menonaktifkan identitas terkelola yang ditetapkan sistem di kumpulan skala komputer virtual Azure
- Tambahkan dan hapus identitas terkelola yang ditetapkan pengguna pada kumpulan skala komputer virtual
Jika Anda belum memiliki akun Azure, daftar untuk mendapatkan akun gratis sebelum melanjutkan.
Prasyarat
Jika Anda asing dengan identitas terkelola untuk sumber daya Azure, lihat Apa itu identitas terkelola untuk sumber daya Azure?. Untuk mempelajari jenis identitas terkelola yang ditetapkan sistem dan yang ditetapkan pengguna, lihat Jenis identitas terkelola.
Untuk melakukan operasi manajemen dalam artikel ini, akun Anda memerlukan penetapan peran Azure berikut:
Kontributor Komputer Virtual untuk membuat kumpulan skala komputer virtual dan mengaktifkan serta menghapus identitas terkelola yang ditetapkan sistem dan/atau pengguna dari kumpulan skala komputer virtual.
Peran Kontributor Identitas Terkelola untuk membuat identitas terkelola yang ditetapkan pengguna.
Peran Operator Identitas Terkelola untuk menetapkan dan menghapus identitas yang ditetapkan pengguna dari dan ke kumpulan skala komputer virtual.
Catatan
Tidak diperlukan penetapan peran direktori Microsoft Entra tambahan.
Gunakan lingkungan Bash di Azure Cloud Shell. Untuk informasi selengkapnya, lihat Mulai Cepat untuk Bash di Azure Cloud Shell.
Jika Anda lebih suka menjalankan perintah referensi CLI secara lokal, instal Azure CLI. Jika Anda menjalankan Windows atau macOS, pertimbangkan untuk menjalankan Azure CLI dalam kontainer Docker. Untuk informasi lebih lanjut, lihat Cara menjalankan Azure CLI di kontainer Docker.
Jika Anda menggunakan instalasi lokal, masuk ke Azure CLI dengan menggunakan perintah login az. Untuk menyelesaikan proses autentikasi, ikuti langkah-langkah yang ditampilkan di terminal Anda. Untuk opsi masuk lainnya, lihat Masuk dengan Azure CLI.
Saat Anda diminta, instal ekstensi Azure CLI pada penggunaan pertama. Untuk informasi selengkapnya tentang ekstensi, lihat Menggunakan ekstensi dengan Azure CLI.
Jalankan versi az untuk menemukan versi dan pustaka dependen yang diinstal. Untuk meningkatkan ke versi terbaru, jalankan peningkatan az.
Identitas terkelola yang ditetapkan sistem
Di bagian ini, Anda mempelajari cara mengaktifkan dan menonaktifkan identitas terkelola yang ditetapkan sistem di kumpulan skala komputer virtual menggunakan CURL untuk melakukan panggilan ke titik akhir REST Azure Resource Manager.
Aktifkan identitas terkelola yang ditetapkan sistem selama pembuatan kumpulan skala komputer virtual
Untuk membuat kumpulan skala komputer virtual dengan identitas terkelola yang ditetapkan sistem yang diaktifkan, Anda harus membuat kumpulan skala komputer virtual dan mengambil token akses untuk menggunakan CURL guna memanggil titik akhir Resource Manager dengan nilai jenis identitas terkelola yang ditetapkan sistem.
Buat grup sumber daya untuk penahanan dan penyebaran kumpulan skala komputer virtual Anda dan sumber daya terkaitnya, menggunakan az group create. Anda dapat melewati langkah ini jika Anda sudah memiliki grup sumber daya yang ingin Anda gunakan sebagai gantinya:
az group create --name myResourceGroup --location westus
Buat antarmuka jaringan untuk kumpulan skala komputer virtual Anda:
az network nic create -g myResourceGroup --vnet-name myVnet --subnet mySubnet -n myNic
Ambil token akses Pembawa, yang akan Anda gunakan pada langkah berikutnya di header Otorisasi untuk membuat kumpulan skala komputer virtual Anda dengan identitas terkelola yang ditetapkan sistem.
az account get-access-token
Dengan menggunakan Azure Cloud Shell, buat kumpulan skala komputer virtual menggunakan CURL untuk memanggil titik akhir REST Azure Resource Manager. Contoh berikut membuat kumpulan skala komputer virtual bernama myVMSS di myResourceGroup dengan identitas terkelola yang ditetapkan sistem, seperti yang diidentifikasi dalam isi permintaan berdasarkan nilai
"identity":{"type":"SystemAssigned"}
. Ganti<ACCESS TOKEN>
dengan nilai yang Anda terima di langkah sebelumnya ketika Anda meminta token akses Pembawa dan nilai<SUBSCRIPTION ID>
yang sesuai untuk lingkungan Anda.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
Header permintaan
Header permintaan Deskripsi Tipe-Konten Harus diisi. Atur ke application/json
.Authorization Harus diisi. Atur ke token akses Bearer
yang valid.Badan permintaan
{ "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" } } }
Aktifkan identitas terkelola yang ditetapkan sistem pada kumpulan skala komputer virtual yang ada
Untuk mengaktifkan identitas terkelola yang ditetapkan sistem pada kumpulan skala komputer virtual yang ada, Anda perlu memperoleh token akses, lalu menggunakan CURL untuk memanggil titik akhir REST Resource Manager untuk memperbarui jenis identitas.
Ambil token akses Pembawa, yang akan Anda gunakan pada langkah berikutnya di header Otorisasi untuk membuat kumpulan skala komputer virtual Anda dengan identitas terkelola yang ditetapkan sistem.
az account get-access-token
Gunakan perintah CURL berikut untuk memanggil titik akhir REST Azure Resource Manager untuk mengaktifkan identitas terkelola yang ditetapkan sistem pada kumpulan skala komputer virtual Anda seperti yang diidentifikasi dalam isi permintaan berdasarkan nilai
{"identity":{"type":"SystemAssigned"}
untuk kumpulan skala komputer virtual bernama myVMSS. Ganti<ACCESS TOKEN>
dengan nilai yang Anda terima di langkah sebelumnya ketika Anda meminta token akses Pembawa dan nilai<SUBSCRIPTION ID>
yang sesuai untuk lingkungan Anda.Penting
Untuk memastikan Anda tidak menghapus identitas terkelola yang ditetapkan pengguna apa pun yang ditetapkan ke kumpulan skala komputer virtual, Anda perlu mencantumkan identitas terkelola yang ditetapkan pengguna menggunakan perintah CURL ini:
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>"
. Jika Anda memiliki identitas terkelola yang ditetapkan pengguna yang ditetapkan ke kumpulan skala komputer virtual seperti yang diidentifikasi dalam nilaiidentity
dalam respons, lewati ke langkah 3 yang memperlihatkan cara mempertahankan identitas terkelola yang ditetapkan pengguna sambil mengaktifkan identitas terkelola yang ditetapkan sistem pada kumpulan skala komputer virtual Anda.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
Header permintaan
Header permintaan Deskripsi Tipe-Konten Harus diisi. Atur ke application/json
.Authorization Harus diisi. Atur ke token akses Bearer
yang valid.Badan permintaan
{ "identity":{ "type":"SystemAssigned" } }
Untuk mengaktifkan identitas terkelola yang ditetapkan sistem pada kumpulan skala komputer virtual dengan identitas terkelola yang ditetapkan pengguna yang ada, Anda perlu menambahkan
SystemAssigned
ke nilaitype
.Misalnya, jika kumpulan skala komputer virtual Anda memiliki identitas terkelola yang ditetapkan pengguna
ID1
ID2
dan ditetapkan untuknya, dan Anda ingin menambahkan identitas terkelola yang ditetapkan sistem ke kumpulan skala komputer virtual, gunakan panggilan CURL berikut. Ganti<ACCESS TOKEN>
dan<SUBSCRIPTION ID>
dengan nilai yang sesuai untuk lingkungan Anda.Versi API
2018-06-01
menyimpan identitas terkelola yang ditetapkan pengguna dalam nilaiuserAssignedIdentities
dalam format kamus dibandingkan dengan nilaiidentityIds
dalam format array yang digunakan dalam versi API2017-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
Header permintaan
Header permintaan Deskripsi Tipe-Konten Harus diisi. Atur ke application/json
.Authorization Harus diisi. Atur ke token akses Bearer
yang valid.Badan permintaan
{ "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
Header permintaan
Header permintaan Deskripsi Tipe-Konten Harus diisi. Atur ke application/json
.Authorization Harus diisi. Atur ke token akses Bearer
yang valid.Badan permintaan
{ "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" ] } }
Menonaktifkan identitas terkelola yang ditetapkan sistem dari kumpulan skala komputer virtual
Untuk menonaktifkan identitas yang ditetapkan sistem pada kumpulan skala komputer virtual yang ada, Anda perlu memperoleh token akses, lalu menggunakan CURL untuk memanggil titik akhir REST Resource Manager untuk memperbarui jenis identitas ke None
.
Ambil token akses Pembawa, yang akan Anda gunakan pada langkah berikutnya di header Otorisasi untuk membuat kumpulan skala komputer virtual Anda dengan identitas terkelola yang ditetapkan sistem.
az account get-access-token
Perbarui kumpulan skala komputer virtual menggunakan CURL untuk memanggil titik akhir REST Azure Resource Manager untuk menonaktifkan identitas terkelola yang ditetapkan sistem. Contoh berikut menonaktifkan identitas terkelola yang ditetapkan sistem seperti yang diidentifikasi dalam isi permintaan berdasarkan nilai
{"identity":{"type":"None"}}
dari kumpulan skala komputer virtual bernama myVM. Ganti<ACCESS TOKEN>
dengan nilai yang Anda terima di langkah sebelumnya ketika Anda meminta token akses Pembawa dan nilai<SUBSCRIPTION ID>
yang sesuai untuk lingkungan Anda.Penting
Untuk memastikan Anda tidak menghapus identitas terkelola yang ditetapkan pengguna apa pun yang ditetapkan ke kumpulan skala komputer virtual, Anda perlu mencantumkan identitas terkelola yang ditetapkan pengguna menggunakan perintah CURL ini:
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>"
. Jika Anda memiliki identitas terkelola yang ditetapkan pengguna yang ditetapkan ke kumpulan skala komputer virtual, lewati ke langkah 3 yang memperlihatkan Anda cara mempertahankan identitas terkelola yang ditetapkan pengguna sambil menghapus identitas terkelola yang ditetapkan sistem dari kumpulan skala komputer virtual Anda.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
Header permintaan
Header permintaan Deskripsi Tipe-Konten Harus diisi. Atur ke application/json
.Authorization Harus diisi. Atur ke token akses Bearer
yang valid.Badan permintaan
{ "identity":{ "type":"None" } }
Untuk menghapus identitas terkelola yang ditetapkan sistem dari kumpulan skala komputer virtual yang memiliki identitas terkelola yang ditetapkan pengguna, hapus
SystemAssigned
dari nilai{"identity":{"type:" "}}
sambil mempertahankan nilaiUserAssigned
dan nilai kamususerAssignedIdentities
jika Anda menggunakan versi API 2018-06-01. Jika Anda menggunakan versi API 2017-12-01 atau versi lebih lama, pertahankan arrayidentityIds
.
Identitas terkelola yang ditetapkan pengguna
Di bagian ini, Anda mempelajari cara menambah dan menghapus identitas terkelola yang ditetapkan pengguna di kumpulan skala komputer virtual menggunakan CURL untuk melakukan panggilan ke titik akhir REST Azure Resource Manager.
Menetapkan identitas terkelola yang ditetapkan sistem selama pembuatan kumpulan skala komputer virtual
Ambil token akses Pembawa, yang akan Anda gunakan pada langkah berikutnya di header Otorisasi untuk membuat kumpulan skala komputer virtual Anda dengan identitas terkelola yang ditetapkan sistem.
az account get-access-token
Buat antarmuka jaringan untuk kumpulan skala komputer virtual Anda:
az network nic create -g myResourceGroup --vnet-name myVnet --subnet mySubnet -n myNic
Ambil token akses Pembawa, yang akan Anda gunakan pada langkah berikutnya di header Otorisasi untuk membuat kumpulan skala komputer virtual Anda dengan identitas terkelola yang ditetapkan sistem.
az account get-access-token
Buat identitas terkelola yang ditetapkan pengguna menggunakan instruksi yang ditemukan di sini: Membuat identitas terkelola yang ditetapkan pengguna.
Buat kumpulan skala komputer virtual menggunakan CURL untuk memanggil titik akhir REST Azure Resource Manager. Contoh berikut membuat kumpulan skala komputer virtual bernama myVMSS di grup sumber daya myResourceGroup dengan identitas terkelola yang ditetapkan sistem,
ID1
seperti yang diidentifikasi dalam isi permintaan berdasarkan nilai"identity":{"type":"UserAssigned"}
. Ganti<ACCESS TOKEN>
dengan nilai yang Anda terima di langkah sebelumnya ketika Anda meminta token akses Pembawa dan nilai<SUBSCRIPTION ID>
yang sesuai untuk lingkungan Anda.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
Header permintaan
Header permintaan Deskripsi Tipe-Konten Harus diisi. Atur ke application/json
.Authorization Harus diisi. Atur ke token akses Bearer
yang valid.Badan permintaan
{ "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
Header permintaan
Header permintaan Deskripsi Tipe-Konten Harus diisi. Atur ke application/json
.Authorization Harus diisi. Atur ke token akses Bearer
yang valid.Badan permintaan
{ "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" } } }
Menetapkan identitas terkelola yang ditetapkan pengguna ke kumpulan skala komputer virtual Azure yang ada
Ambil token akses Pembawa, yang akan Anda gunakan pada langkah berikutnya di header Otorisasi untuk membuat kumpulan skala komputer virtual Anda dengan identitas terkelola yang ditetapkan sistem.
az account get-access-token
Buat identitas terkelola yang ditetapkan pengguna menggunakan instruksi yang ditemukan di sini, Membuat identitas terkelola yang ditetapkan pengguna.
Untuk memastikan Anda tidak menghapus identitas terkelola yang ditetapkan pengguna atau sistem yang ada yang ditetapkan ke kumpulan skala komputer virtual, Anda perlu mencantumkan jenis identitas yang ditetapkan ke kumpulan skala komputer virtual menggunakan perintah CURL berikut. Jika Anda sudah mengelola identitas yang ditetapkan ke kumpulan skala komputer virtual, identitas tersebut tercantum di nilai
identity
.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
Header permintaan
Header permintaan Deskripsi Authorization Harus diisi. Atur ke token akses Bearer
yang valid.Jika Anda tidak memiliki identitas terkelola yang ditetapkan pengguna atau sistem apa pun yang ditetapkan ke kumpulan skala komputer virtual Anda, gunakan perintah CURL berikut untuk memanggil titik akhir REST Azure Resource Manager untuk menetapkan identitas terkelola yang ditetapkan pengguna pertama ke kumpulan skala komputer virtual. Jika Anda memiliki identitas terkelola yang ditetapkan pengguna atau sistem yang ditetapkan ke kumpulan skala komputer virtual, lewati ke langkah 5 yang memperlihatkan Anda cara menambahkan beberapa identitas terkelola yang ditetapkan pengguna ke kumpulan skala komputer virtual sambil juga mempertahankan identitas terkelola yang ditetapkan sistem.
Contoh berikut menetapkan identitas terkelola yang ditetapkan pengguna,
ID1
ke kumpulan skala komputer virtual bernama myVMSS di grup sumber daya myResourceGroup. Ganti<ACCESS TOKEN>
dengan nilai yang Anda terima di langkah sebelumnya ketika Anda meminta token akses Pembawa dan nilai<SUBSCRIPTION ID>
yang sesuai untuk lingkungan Anda.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
Header permintaan
Header permintaan Deskripsi Tipe-Konten Harus diisi. Atur ke application/json
.Authorization Harus diisi. Atur ke token akses Bearer
yang valid.Badan permintaan
{ "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
Header permintaan
Header permintaan Deskripsi Tipe-Konten Harus diisi. Atur ke application/json
.Authorization Harus diisi. Atur ke token akses Bearer
yang valid.Badan permintaan
{ "identity":{ "type":"userAssigned", "identityIds":[ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1" ] } }
Jika Anda memiliki identitas terkelola yang ditetapkan pengguna atau yang ditetapkan sistem yang ditetapkan ke kumpulan skala komputer virtual Anda:
API VERSION 2018-06-01
Tambahkan identitas terkelola yang ditetapkan pengguna ke nilai kamus
userAssignedIdentities
.Misalnya, jika Anda memiliki identitas terkelola yang ditetapkan sistem dan identitas terkelola yang ditetapkan pengguna
ID1
yang saat ini ditetapkan ke kumpulan skala komputer virtual Anda dan ingin menambahkan identitas terkelola yang ditetapkan penggunaID2
ke identitas tersebut: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
Header permintaan
Header permintaan Deskripsi Tipe-Konten Harus diisi. Atur ke application/json
.Authorization Harus diisi. Atur ke token akses Bearer
yang valid.Badan permintaan
{ "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
Pertahankan identitas terkelola yang ditetapkan pengguna yang ingin Anda simpan dalam nilai array
identityIds
sambil menambahkan identitas terkelola yang ditetapkan pengguna baru.Misalnya, jika Anda memiliki identitas yang ditetapkan sistem dan identitas terkelola yang ditetapkan pengguna
ID1
yang saat ini ditetapkan ke kumpulan skala komputer virtual Anda dan ingin menambahkan identitas terkelola yang ditetapkan penggunaID2
ke identitas tersebut: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
Header permintaan
Header permintaan Deskripsi Tipe-Konten Harus diisi. Atur ke application/json
.Authorization Harus diisi. Atur ke token akses Bearer
yang valid.Badan permintaan
{ "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" ] } }
Menghapus identitas terkelola yang ditetapkan pengguna dari kumpulan skala komputer virtual
Ambil token akses Pembawa, yang akan Anda gunakan pada langkah berikutnya di header Otorisasi untuk membuat kumpulan skala komputer virtual Anda dengan identitas terkelola yang ditetapkan sistem.
az account get-access-token
Untuk memastikan Anda tidak menghapus identitas terkelola yang ditetapkan pengguna yang sudah ada yang tetap ingin Anda tetapkan ke kumpulan skala komputer virtual atau menghapus identitas terkelola yang ditetapkan sistem, Anda perlu mencantumkan identitas terkelola dengan menggunakan perintah CURL berikut:
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
Header permintaan
Header permintaan Deskripsi Authorization Harus diisi. Atur ke token akses Bearer
yang valid.Jika Anda sudah mengelola identitas yang ditetapkan ke komputer virtual, identitas tersebut tercantum dalam respons dalam nilai
identity
.Misalnya, jika Anda memiliki identitas terkelola yang ditetapkan pengguna
ID1
danID2
yang ditetapkan ke kumpulan skala komputer virtual Anda, dan Anda hanya ingin tetap menetapkanID1
dan mempertahankan identitas terkelola yang ditetapkan sistem:API VERSION 2018-06-01
Tambahkan
null
ke identitas terkelola yang ditetapkan pengguna yang ingin Anda hapus: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
Header permintaan
Header permintaan Deskripsi Tipe-Konten Harus diisi. Atur ke application/json
.Authorization Harus diisi. Atur ke token akses Bearer
yang valid.Badan permintaan
{ "identity":{ "type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":null } } }
API VERSION 2017-12-01
Hanya pertahankan identitas terkelola yang ditetapkan pengguna yang ingin Anda simpan dalam array
identityIds
:curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"SystemAssigned,UserAssigned", "identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01 HTTP/1.1
Header permintaan
Header permintaan Deskripsi Tipe-Konten Harus diisi. Atur ke application/json
.Authorization Harus diisi. Atur ke token akses Bearer
yang valid.Badan permintaan
{ "identity":{ "type":"SystemAssigned,UserAssigned", "identityIds":[ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1" ] } }
Jika kumpulan skala komputer virtual Anda memiliki identitas terkelola yang ditetapkan sistem dan ditetapkan pengguna, Anda dapat menghapus semua identitas terkelola yang ditetapkan pengguna dengan beralih untuk hanya menggunakan yang ditetapkan sistem menggunakan perintah berikut:
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
Header permintaan
Header permintaan | Deskripsi |
---|---|
Tipe-Konten | Harus diisi. Atur ke application/json . |
Authorization | Harus diisi. Atur ke token akses Bearer yang valid. |
Badan permintaan
{
"identity":{
"type":"SystemAssigned"
}
}
Jika kumpulan skala komputer virtual Anda hanya memiliki identitas terkelola yang ditetapkan pengguna dan Anda ingin menghapus semuanya, gunakan perintah berikut:
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
Header permintaan
Header permintaan | Deskripsi |
---|---|
Tipe-Konten | Harus diisi. Atur ke application/json . |
Authorization | Harus diisi. Atur ke token akses Bearer yang valid. |
Badan permintaan
{
"identity":{
"type":"None"
}
}
Langkah berikutnya
Untuk informasi tentang cara membuat, mencantumkan, atau menghapus identitas terkelola yang ditetapkan pengguna menggunakan REST, lihat: