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.

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.

  1. 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
    
  2. Buat antarmuka jaringan untuk kumpulan skala komputer virtual Anda:

     az network nic create -g myResourceGroup --vnet-name myVnet --subnet mySubnet -n myNic
    
  3. 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
    
  4. 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.

  1. 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
    
  2. 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 nilai identity 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"
        }
     }
    
  3. 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 nilai type.

    Misalnya, jika kumpulan skala komputer virtual Anda memiliki identitas terkelola yang ditetapkan pengguna ID1ID2 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 nilai userAssignedIdentities dalam format kamus dibandingkan dengan nilai identityIds dalam format array yang digunakan dalam versi API 2017-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.

  1. 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
    
  2. 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 nilai UserAssigned dan nilai kamus userAssignedIdentities jika Anda menggunakan versi API 2018-06-01. Jika Anda menggunakan versi API 2017-12-01 atau versi lebih lama, pertahankan array identityIds.

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

  1. 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
    
  2. Buat antarmuka jaringan untuk kumpulan skala komputer virtual Anda:

     az network nic create -g myResourceGroup --vnet-name myVnet --subnet mySubnet -n myNic
    
  3. 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
    
  4. Buat identitas terkelola yang ditetapkan pengguna menggunakan instruksi yang ditemukan di sini: Membuat identitas terkelola yang ditetapkan pengguna.

  5. 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

  1. 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
    
  2. Buat identitas terkelola yang ditetapkan pengguna menggunakan instruksi yang ditemukan di sini, Membuat identitas terkelola yang ditetapkan pengguna.

  3. 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.
  4. 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"
           ]
        }
     }
    
  5. 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 pengguna ID2 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 pengguna ID2 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

  1. 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
    
  2. 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 dan ID2 yang ditetapkan ke kumpulan skala komputer virtual Anda, dan Anda hanya ingin tetap menetapkan ID1 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: