Bagikan melalui


Mengonfigurasi identitas terkelola pada komputer virtual (VM) Azure

Identitas terkelola untuk sumber daya Azure adalah fitur ID Microsoft Entra. Setiap layanan Azure yang mendukung identitas terkelola untuk sumber daya Azure tunduk pada garis waktu mereka masing-masing. Pastikan Anda meninjau status ketersediaan identitas terkelola untuk sumber daya dan masalah yang diketahui sebelum Anda memulai.

Identitas terkelola untuk sumber daya Azure memberikan layanan Azure identitas terkelola otomatis di Microsoft Entra ID. Anda dapat menggunakan identitas ini untuk mengautentikasi tiap layanan yang mendukung autentikasi Microsoft Entra, tanpa memiliki kredensial dalam kode Anda.

Untuk informasi tentang definisi dan detail Azure Policy, lihat Menggunakan Azure Policy untuk menetapkan identitas terkelola (pratinjau).

Dalam artikel ini, Anda mempelajari cara mengaktifkan dan menonaktifkan sistem dan identitas terkelola yang ditetapkan pengguna untuk Azure Virtual Machine (VM), menggunakan portal Microsoft Azure.

Prasyarat

Identitas terkelola yang ditetapkan sistem

Di bagian ini, Anda mempelajari cara mengaktifkan dan menonaktifkan identitas terkelola yang ditetapkan sistem untuk Komputer Virtual menggunakan portal Microsoft Azure.

Aktifkan identitas terkelola yang ditetapkan sistem selama pembuatan VM

Untuk mengaktifkan identitas terkelola yang ditetapkan sistem pada Komputer Virtual selama pembuatannya, akun Anda memerlukan penetapan peran Kontributor Komputer Virtual. Tidak diperlukan penetapan peran direktori Microsoft Entra lainnya.

  • Di bawah tab Manajemen di bagian Identitas, alihkan Identitas layanan terkelola ke Aktif.

Cuplikan layar memperlihatkan cara mengaktifkan identitas yang ditetapkan sistem selama pembuatan VM.

Lihat Mulai Cepat berikut ini untuk membuat Komputer Virtual:

Aktifkan identitas terkelola yang ditetapkan sistem pada Komputer Virtual yang ada

Tip

Langkah-langkah dalam artikel ini mungkin sedikit berbeda berdasarkan portal tempat Anda memulai.

Untuk mengaktifkan identitas terkelola yang ditetapkan sistem pada komputer virtual yang awalnya disediakan tanpa identitas tersebut, akun Anda memerlukan penetapan peran Kontributor Komputer Virtual. Tidak diperlukan penetapan peran direktori Microsoft Entra lainnya.

  1. Masuk ke portal Microsoft Azure menggunakan akun yang terkait dengan langganan Azure yang berisi Komputer Virtual.

  2. Arahkan ke Komputer Virtual yang diinginkan dan pilih Identitas.

  3. Di bawah Sistem ditetapkan, Status, pilih Aktif lalu klik Simpan:

    Cuplikan layar yang memperlihatkan halaman

Menghapus identitas terkelola yang ditetapkan sistem dari Komputer Virtual

Untuk menghapus identitas terkelola yang ditetapkan sistem dari Komputer Virtual, akun Anda memerlukan penetapan peran Kontributor Komputer virtual. Tidak diperlukan penetapan peran direktori Microsoft Entra lainnya.

Jika Anda memiliki Komputer Virtual yang tidak lagi memerlukan identitas terkelola yang ditetapkan sistem:

  1. Masuk ke portal Microsoft Azure menggunakan akun yang terkait dengan langganan Azure yang berisi Komputer Virtual.

  2. Arahkan ke Komputer Virtual yang diinginkan dan pilih Identitas.

  3. Di bawah Sistem ditetapkan, Status, pilih Nonaktif, lalu klik Simpan:

    Cuplikan layar halaman konfigurasi.

Identitas terkelola yang ditetapkan pengguna

Di bagian ini, Anda mempelajari cara menambahkan dan menghapus identitas terkelola yang ditetapkan pengguna dari Komputer Virtual menggunakan portal Microsoft Azure.

Menetapkan identitas yang ditetapkan pengguna selama pembuatan Komputer Virtual

Untuk menetapkan identitas yang ditetapkan pengguna ke Komputer Virtual, akun Anda memerlukan penetapan peran Kontributor Komputer Virtual dan Operator Identitas Terkelola. Tidak diperlukan penetapan peran direktori Microsoft Entra lainnya.

Saat ini, portal Microsoft Azure tidak mendukung penetapan identitas terkelola yang ditetapkan pengguna selama pembuatan Komputer Virtual. Sebagai gantinya, lihat salah satu artikel Mulai Cepat pembuatan Komputer Virtual berikut ini untuk terlebih dahulu membuat Komputer Virtual, lalu lanjutkan ke bagian berikutnya untuk detail tentang menetapkan identitas terkelola yang ditetapkan pengguna ke Komputer Virtual:

Menetapkan identitas terkelola yang ditetapkan pengguna ke Komputer Virtual yang sudah ada

Untuk menetapkan identitas yang ditetapkan pengguna ke Komputer Virtual, akun Anda memerlukan penetapan peran Kontributor Komputer Virtual dan Operator Identitas Terkelola. Tidak diperlukan penetapan peran direktori Microsoft Entra lainnya.

  1. Masuk ke portal Microsoft Azure menggunakan akun yang terkait dengan langganan Azure yang berisi Komputer Virtual.

  2. Arahkan ke mesin virtual yang diinginkan dan klik Identitas, pengguna ditetapkan lalu +Tambahkan.

    Cuplikan layar yang memperlihatkan halaman Identitas dengan Pengguna yang ditetapkan dipilih dan tombol Tambahkan disorot.

  3. Klik identitas yang ditetapkan pengguna yang ingin Anda tambahkan ke Komputer Virtual lalu klik Tambahkan.

    Cuplikan layar memperlihatkan penambahan identitas terkelola yang ditetapkan pengguna ke VM.

Menghapus identitas terkelola yang ditetapkan pengguna dari Komputer Virtual

Untuk menghapus identitas yang ditetapkan pengguna dari Komputer Virtual, akun Anda memerlukan penetapan peran Kontributor Komputer Virtual. Tidak diperlukan penetapan peran direktori Microsoft Entra lainnya.

  1. Masuk ke portal Microsoft Azure menggunakan akun yang terkait dengan langganan Azure yang berisi Komputer Virtual.

  2. Navigasikan ke VM yang diinginkan dan pilih Identitas, Pengguna yang ditetapkan, nama identitas terkelola yang ditetapkan pengguna yang ingin Anda hapus lalu klik Hapus (klik Ya di panel konfirmasi).

    Cuplikan layar memperlihatkan cara menghapus identitas terkelola yang ditetapkan pengguna dari VM

Langkah berikutnya

Dalam artikel ini, dengan menggunakan Azure CLI, Anda mempelajari cara menjalankan identitas terkelola berikut untuk operasi sumber daya Azure pada komputer virtual Azure:

  • Mengaktifkan dan menonaktifkan identitas terkelola yang ditetapkan sistem di komputer virtual Azure
  • Menambahkan dan menghapus identitas terkelola yang ditetapkan pengguna di komputer virtual Azure

Jika Anda belum memiliki akun Azure, daftar untuk mendapatkan akun gratis sebelum melanjutkan.

Prasyarat

Identitas terkelola yang ditetapkan sistem

Di bagian ini, Anda mempelajari cara mengaktifkan dan menonaktifkan identitas terkelola yang ditetapkan sistem di komputer virtual Azure menggunakan Azure CLI.

Mengaktifkan identitas terkelola yang ditetapkan sistem selama pembuatan komputer virtual Azure

Untuk membuat komputer virtual Azure dengan identitas terkelola yang ditetapkan sistem yang diaktifkan, akun Anda memerlukan penetapan peran Kontributor Komputer Virtual. Tidak diperlukan penetapan peran direktori Microsoft Entra lainnya.

  1. Buat grup sumber daya untuk penahanan dan penyebaran 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 komputer virtual menggunakan az vm create. Contoh berikut membuat VM bernama myVM dengan identitas terkelola yang ditetapkan sistem, seperti yang diminta oleh parameter --assign-identity, dengan --role dan --scope yang ditentukan. Parameter --admin-username dan --admin-password menentukan nama pengguna administratif dan akun kata sandi untuk masuk komputer virtual. Perbarui nilai ini sebagaimana mestinya untuk lingkungan Anda:

    az vm create --resource-group myResourceGroup --name myVM --image win2016datacenter --generate-ssh-keys --assign-identity --role contributor --scope mySubscription --admin-username azureuser --admin-password myPassword12
    

Mengaktifkan identitas terkelola yang ditetapkan sistem pada komputer virtual yang ada

Untuk mengaktifkan identitas terkelola yang ditetapkan sistem pada komputer virtual, akun Anda memerlukan penetapan peran Kontributor Komputer Virtual. Tidak diperlukan penetapan peran direktori Microsoft Entra lainnya.

  1. Jika Anda menggunakan Azure CLI di konsol lokal, pertama-tama masuk ke Azure menggunakan az login. Gunakan akun yang terkait dengan langganan Azure yang berisi komputer virtual.

    az login
    
  2. Gunakan az vm identity assign dengan perintah identity assign aktifkan identitas yang ditetapkan sistem ke komputer virtual yang ada:

    az vm identity assign -g myResourceGroup -n myVm
    

Menonaktifkan identitas yang ditetapkan sistem dari komputer virtual Azure

Untuk menonaktifkan identitas terkelola yang ditetapkan sistem pada komputer virtual, akun Anda memerlukan penetapan peran Kontributor Komputer Virtual. Tidak diperlukan penetapan peran direktori Microsoft Entra lainnya.

Jika Anda memiliki Komputer Virtual yang tidak lagi memerlukan identitas yang ditetapkan sistem, tetapi masih memerlukan identitas yang ditetapkan pengguna, gunakan perintah berikut:

az vm update -n myVM -g myResourceGroup --set identity.type='UserAssigned' 

Jika Anda memiliki komputer virtual yang tidak lagi memerlukan identitas yang ditetapkan sistem dan tidak memiliki identitas yang ditetapkan pengguna, gunakan perintah berikut:

Catatan

Nilai none peka huruf besar/kecil. Harus huruf kecil.

az vm update -n myVM -g myResourceGroup --set identity.type="none"

Identitas terkelola yang ditetapkan pengguna

Di bagian ini, Anda akan mempelajari cara menambahkan dan menghapus identitas terkelola yang ditetapkan pengguna dari komputer virtual Azure menggunakan Azure CLI. Jika Anda membuat identitas terkelola yang ditetapkan pengguna di RG yang berbeda dari komputer virtual Anda. Anda harus menggunakan URL identitas terkelola untuk menetapkannya ke komputer virtual Anda. Contohnya:

--identities "/subscriptions/<SUBID>/resourcegroups/<RESROURCEGROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER_ASSIGNED_ID_NAME>"

Menetapkan identitas terkelola yang ditetapkan pengguna selama pembuatan komputer virtual Azure

Untuk menetapkan identitas yang ditetapkan pengguna ke komputer virtual selama pembuatannya, akun Anda memerlukan penetapan peran Kontributor Komputer Virtual dan Operator Identitas Terkelola. Tidak diperlukan penetapan peran direktori Microsoft Entra lainnya.

  1. Anda dapat melewati langkah ini jika sudah memiliki grup sumber daya yang ingin Anda gunakan. Buat grup sumber daya untuk penahanan dan penyebaran identitas terkelola yang ditetapkan pengguna Anda, menggunakan az group create. Pastikan untuk mengganti nilai parameter <RESOURCE GROUP> dan <LOCATION> dengan nilai Anda sendiri. :

    az group create --name <RESOURCE GROUP> --location <LOCATION>
    
  2. Buat identitas terkelola yang ditetapkan pengguna menggunakan buat identitas az. Parameter -g menentukan grup sumber daya tempat identitas terkelola yang ditetapkan pengguna dibuat, dan parameter -n menentukan namanya.

    Penting

    Saat Anda membuat identitas terkelola yang ditetapkan pengguna, nama harus dimulai dengan huruf atau angka, dan dapat menyertakan kombinasi karakter alfanumerik, tanda hubung (-) dan garis bawah (_). Untuk penugasan ke komputer virtual atau skala komputer virtual yang diatur agar berfungsi dengan baik, namanya dibatasi hingga 24 karakter. Untuk informasi selengkapnya, lihat Tanya Jawab Umum dan masalah yang sering ditanyakan.

    az identity create -g myResourceGroup -n myUserAssignedIdentity
    

    Respons berisi detail untuk identitas terkelola yang ditetapkan pengguna yang telah dibuat, serupa dengan yang berikut. Nilai ID sumber daya yang ditetapkan ke identitas terkelola yang ditetapkan pengguna digunakan dalam langkah berikut.

    {
        "clientId": "00001111-aaaa-2222-bbbb-3333cccc4444",
        "clientSecretUrl": "https://control-westcentralus.identity.azure.net/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<myUserAssignedIdentity>/credentials?tid=5678&oid=9012&aid=00001111-aaaa-2222-bbbb-3333cccc4444",
        "id": "/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>",
        "location": "westcentralus",
        "name": "<USER ASSIGNED IDENTITY NAME>",
        "principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222",
        "resourceGroup": "<RESOURCE GROUP>",
        "tags": {},
        "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
        "type": "Microsoft.ManagedIdentity/userAssignedIdentities"    
    }
    
  3. Buat komputer virtual menggunakan az vm create. Contoh berikut membuat VM yang terkait dengan identitas baru yang ditetapkan pengguna, seperti yang ditentukan oleh parameter --assign-identity, dengan --role dan --scope yang ditentukan. Pastikan untuk mengganti nilai parameter <RESOURCE GROUP>, <VM NAME>, <USER NAME>, <PASSWORD>, <USER ASSIGNED IDENTITY NAME>, <ROLE>, dan <SUBSCRIPTION> dengan nilai Anda sendiri.

    az vm create --resource-group <RESOURCE GROUP> --name <VM NAME> --image <SKU linux image>  --admin-username <USER NAME> --admin-password <PASSWORD> --assign-identity <USER ASSIGNED IDENTITY NAME> --role <ROLE> --scope <SUBSCRIPTION> 
    

Menetapkan identitas terkelola yang ditetapkan pengguna ke komputer virtual Azure yang sudah ada

Untuk menetapkan identitas yang ditetapkan pengguna ke Komputer Virtual, akun Anda memerlukan penetapan peran Kontributor Komputer Virtual dan Operator Identitas Terkelola. Tidak diperlukan penetapan peran direktori Microsoft Entra lainnya.

  1. Buat identitas yang ditetapkan pengguna menggunakan az identity create. Parameter -g menentukan grup sumber daya tempat identitas yang ditetapkan pengguna dibuat, dan parameter -n menentukan namanya. Pastikan untuk mengganti nilai parameter <RESOURCE GROUP> dan <USER ASSIGNED IDENTITY NAME> dengan nilai Anda sendiri:

    Penting

    Membuat identitas terkelola yang ditetapkan pengguna dengan karakter khusus (yaitu garis bawah) dalam nama saat ini tidak didukung. Gunakan karakter alfanumerik. Periksa kembali untuk melihat pembaruan. Untuk informasi selengkapnya, lihat Tanya Jawab Umum dan masalah yang diketahui

    az identity create -g <RESOURCE GROUP> -n <USER ASSIGNED IDENTITY NAME>
    

    Respons berisi detail untuk identitas terkelola yang ditetapkan pengguna yang telah dibuat, serupa dengan yang berikut.

    {
      "clientId": "00001111-aaaa-2222-bbbb-3333cccc4444",
      "clientSecretUrl": "https://control-westcentralus.identity.azure.net/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>/credentials?tid=5678&oid=9012&aid=00001111-aaaa-2222-bbbb-3333cccc4444",
      "id": "/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>",
      "location": "westcentralus",
      "name": "<USER ASSIGNED IDENTITY NAME>",
      "principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222",
      "resourceGroup": "<RESOURCE GROUP>",
      "tags": {},
      "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
      "type": "Microsoft.ManagedIdentity/userAssignedIdentities"    
    }
    
  2. Tetapkan identitas yang ditetapkan pengguna ke komputer virtual Anda menggunakan az vm identity assign. Pastikan untuk mengganti nilai parameter <RESOURCE GROUP> dan <VM NAME> dengan nilai Anda sendiri. <USER ASSIGNED IDENTITY NAME> adalah properti name sumber daya identitas terkelola yang ditetapkan pengguna, seperti yang dibuat di langkah sebelumnya. Jika Anda membuat identitas terkelola yang ditetapkan pengguna di RG yang berbeda dari komputer virtual Anda. Anda harus menggunakan URL identitas terkelola Anda.

    az vm identity assign -g <RESOURCE GROUP> -n <VM NAME> --identities <USER ASSIGNED IDENTITY>
    

Menghapus identitas terkelola yang ditetapkan pengguna dari komputer virtual Azure

Untuk menghapus identitas yang ditetapkan pengguna ke komputer virtual, akun Anda memerlukan penetapan peran Kontributor Komputer Virtual.

Jika ini adalah satu-satunya identitas terkelola yang ditetapkan pengguna yang ditetapkan ke komputer virtual, UserAssigned akan dihapus dari nilai jenis identitas. Pastikan untuk mengganti nilai parameter <RESOURCE GROUP> dan <VM NAME> dengan nilai Anda sendiri. <USER ASSIGNED IDENTITY> akan menjadi properti name identitas yang ditetapkan pengguna, yang dapat ditemukan di bagian identitas dari komputer virtual menggunakan az vm identity show:

az vm identity remove -g <RESOURCE GROUP> -n <VM NAME> --identities <USER ASSIGNED IDENTITY>

Jika komputer virtual Anda tidak memiliki identitas terkelola yang ditetapkan sistem dan Anda ingin menghapus semua identitas yang ditetapkan pengguna dari komputer virtual, gunakan perintah berikut:

Catatan

Nilai none peka huruf besar/kecil. Harus huruf kecil.

az vm update -n myVM -g myResourceGroup --set identity.type="none" identity.userAssignedIdentities=null

Jika komputer virtual Anda memiliki identitas yang ditetapkan sistem dan ditetapkan pengguna, Anda dapat menghapus semua identitas yang ditetapkan pengguna dengan beralih untuk hanya menggunakan yang ditetapkan sistem. Gunakan perintah berikut:

az vm update -n myVM -g myResourceGroup --set identity.type='SystemAssigned' identity.userAssignedIdentities=null 

Langkah berikutnya

Dalam artikel ini, dengan menggunakan PowerShell, Anda mempelajari cara menjalankan identitas terkelola berikut untuk operasi sumber daya Azure pada komputer virtual Azure.

Catatan

Sebaiknya Anda menggunakan modul Azure Az PowerShell untuk berinteraksi dengan Azure. Lihat Menginstal Azure PowerShell untuk memulai. Untuk mempelajari cara bermigrasi ke modul Az PowerShell, lihat Memigrasikan Azure PowerShell dari AzureRM ke Az.

Prasyarat

Identitas terkelola yang ditetapkan sistem

Di bagian ini, kita membahas cara mengaktifkan dan menonaktifkan identitas terkelola yang ditetapkan sistem menggunakan Azure PowerShell.

Mengaktifkan identitas terkelola yang ditetapkan sistem selama pembuatan komputer virtual Azure

Untuk membuat komputer virtual Azure dengan identitas terkelola yang ditetapkan sistem yang diaktifkan, akun Anda memerlukan penetapan peran Kontributor Komputer Virtual. Tidak diperlukan penetapan peran direktori Microsoft Entra lainnya.

  1. Lihat salah satu Mulai Cepat komputer virtual Azure berikut, yang hanya menyelesaikan bagian yang diperlukan ("Masuk ke Azure", "Buat grup sumber daya", "Buat grup jaringan", "Buat komputer virtual").

    Ketika Anda sampai di bagian "Buat komputer virtual", buat sedikit modifikasi pada sintaks cmdlet New-AzVMConfig. Pastikan untuk menambahkan parameter -IdentityType SystemAssigned untuk menyediakan komputer virtual dengan identitas yang ditetapkan sistem yang diaktifkan, misalnya:

    $vmConfig = New-AzVMConfig -VMName myVM -IdentityType SystemAssigned ...
    

Mengaktifkan identitas terkelola yang ditetapkan sistem pada komputer virtual yang ada

Untuk mengaktifkan identitas terkelola yang ditetapkan sistem pada komputer virtual yang awalnya disediakan tanpa identitas tersebut, akun Anda memerlukan penetapan peran Kontributor Komputer Virtual. Tidak diperlukan penetapan peran direktori Microsoft Entra lainnya.

  1. Ambil properti VM menggunakan cmdlet Get-AzVM. Selanjutnya untuk mengaktifkan identitas terkelola yang ditetapkan sistem, gunakan tombol -IdentityType pada cmdlet Update-AzVM:

    $vm = Get-AzVM -ResourceGroupName myResourceGroup -Name myVM
    Update-AzVM -ResourceGroupName myResourceGroup -VM $vm -IdentityType SystemAssigned
    

Menambahkan identitas yang ditetapkan sistem komputer virtual ke grup

Setelah mengaktifkan identitas yang diaktifkan sistem pada komputer virtual, Anda dapat menambahkannya ke grup. Prosedur berikut menambahkan identitas yang ditetapkan sistem di komputer virtual ke grup.

  1. Ambil dan catat ObjectID (sebagaimana ditentukan dalam bidang Id dari nilai yang dikembalikan) perwakilan layanan komputer virtual:

    Get-AzADServicePrincipal -displayname "myVM"
    
  2. Ambil dan catat ObjectID (sebagaimana ditentukan dalam bidang Id dari nilai yang dikembalikan) grup:

    Get-AzADGroup -searchstring "myGroup"
    
  3. Tambahkan perwakilan layanan komputer virtual ke grup:

    New-MgGroupMember -GroupId "<Id of group>" -DirectoryObjectId "<Id of VM service principal>" 
    

Menonaktifkan identitas terkelola yang ditetapkan sistem dari komputer virtual Azure

Untuk menonaktifkan identitas terkelola yang ditetapkan sistem pada komputer virtual, akun Anda memerlukan penetapan peran Kontributor Komputer Virtual. Tidak diperlukan penetapan peran direktori Microsoft Entra lainnya.

Jika Anda memiliki Komputer Virtual yang tidak lagi memerlukan identitas terkelola yang ditetapkan sistem, tetapi masih memerlukan identitas terkelola yang ditetapkan pengguna, gunakan cmdlet berikut:

  1. Ambil properti komputer virtual menggunakan cmdlet Get-AzVM dan atur parameter -IdentityType ke UserAssigned:

    $vm = Get-AzVM -ResourceGroupName myResourceGroup -Name myVM
    Update-AzVm -ResourceGroupName myResourceGroup -VM $vm -IdentityType "UserAssigned" -IdentityID "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/<RESROURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>..."
    

Jika Anda memiliki komputer virtual yang tidak lagi memerlukan identitas terkelola yang ditetapkan sistem dan tidak memiliki identitas terkelola yang ditetapkan pengguna, gunakan perintah berikut:

$vm = Get-AzVM -ResourceGroupName myResourceGroup -Name myVM
Update-AzVm -ResourceGroupName myResourceGroup -VM $vm -IdentityType None

Identitas terkelola yang ditetapkan pengguna

Di bagian ini, Anda mempelajari cara menambahkan dan menghapus identitas terkelola yang ditetapkan pengguna dari komputer virtual menggunakan Azure PowerShell.

Menetapkan identitas terkelola yang ditetapkan pengguna ke komputer virtual selama pembuatan

Untuk menetapkan identitas yang ditetapkan pengguna ke Komputer Virtual, akun Anda memerlukan penetapan peran Kontributor Komputer Virtual dan Operator Identitas Terkelola. Tidak diperlukan penetapan peran direktori Microsoft Entra lainnya.

  1. Lihat salah satu Mulai Cepat komputer virtual Azure berikut, yang hanya menyelesaikan bagian yang diperlukan ("Masuk ke Azure", "Buat grup sumber daya", "Buat grup jaringan", "Buat komputer virtual").

    Ketika Anda sampai di bagian "Buat komputer virtual", buat sedikit modifikasi pada sintaks cmdlet New-AzVMConfig. Tambahkan parameter -IdentityType UserAssigned dan -IdentityID untuk menyediakan komputer virtual dengan identitas yang ditetapkan pengguna. Ganti <VM NAME>,<SUBSCRIPTION ID>, <RESROURCE GROUP>, dan <USER ASSIGNED IDENTITY NAME> dengan nilai Anda. Contohnya:

    $vmConfig = New-AzVMConfig -VMName <VM NAME> -IdentityType UserAssigned -IdentityID "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/<RESROURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>..."
    

Menetapkan identitas terkelola yang ditetapkan pengguna ke komputer virtual Azure yang sudah ada

Untuk menetapkan identitas yang ditetapkan pengguna ke Komputer Virtual, akun Anda memerlukan penetapan peran Kontributor Komputer Virtual dan Operator Identitas Terkelola. Tidak diperlukan penetapan peran direktori Microsoft Entra lainnya.

  1. Buat identitas terkelola yang ditetapkan pengguna menggunakan cmdlet New-AzUserAssignedIdentity. Catat Id di keluaran karena Anda akan memerlukan informasi ini di langkah berikutnya.

    Penting

    Membuat identitas terkelola yang ditetapkan pengguna hanya mendukung karakter alfanumerik, garis bawah, dan tanda hubung (0-9 or a-z atau A-Z, _ atau -). Selain itu, panjang nama harus dibatasi mulai dari 3 hingga 128 karakter agar penugasan ke komputer virtual/Microsoft Azure Virtual Machine Scale Sets berfungsi dengan baik. Untuk informasi selengkapnya, lihat Tanya Jawab Umum dan masalah yang diketahui

    New-AzUserAssignedIdentity -ResourceGroupName <RESOURCEGROUP> -Name <USER ASSIGNED IDENTITY NAME>
    
  2. Ambil properti VM menggunakan cmdlet Get-AzVM. Selanjutnya untuk menetapkan identitas terkelola yang ditetapkan pengguna ke komputer virtual Azure, gunakan tombol -IdentityType dan -IdentityID do cmdlet Update-AzVM. Nilai untuk parameter -IdentityId adalah Id yang Anda catat di langkah sebelumnya. Ganti <VM NAME>, <SUBSCRIPTION ID>, <RESROURCE GROUP>, dan <USER ASSIGNED IDENTITY NAME> dengan nilai Anda.

    Peringatan

    Untuk mempertahankan identitas terkelola yang ditetapkan pengguna sebelumnya yang ditetapkan ke komputer virtual, kuerikan properti Identity dari objek VM (misalnya, $vm.Identity). Jika ada identitas terkelola yang ditetapkan pengguna dikembalikan, sertakan dalam perintah berikut bersama dengan identitas terkelola yang ditetapkan pengguna baru yang ingin Anda tetapkan ke komputer virtual.

    $vm = Get-AzVM -ResourceGroupName <RESOURCE GROUP> -Name <VM NAME>
    
    # Get the list of existing identity IDs and then append to it
    $identityIds = $vm.Identity.UserAssignedIdentities.Keys
    $uid = "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/<RESROURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>"
    $identityIds = $identityIds + $uid 
    
    # Update the VM with added identity IDs
    Update-AzVM -ResourceGroupName <RESOURCE GROUP> -VM $vm -IdentityType UserAssigned -IdentityID $uid 
    

Menghapus identitas terkelola yang ditetapkan pengguna dari komputer virtual Azure

Untuk menghapus identitas yang ditetapkan pengguna ke komputer virtual, akun Anda memerlukan penetapan peran Kontributor Komputer Virtual.

Jika komputer virtual Anda memiliki beberapa identitas terkelola yang ditetapkan pengguna, Anda dapat menghapus semuanya, kecuali yang terakhir menggunakan perintah berikut. Pastikan untuk mengganti nilai parameter <RESOURCE GROUP> dan <VM NAME> dengan nilai Anda sendiri. <USER ASSIGNED IDENTITY NAME> adalah properti nama identitas terkelola yang ditetapkan pengguna, yang harus tetap berada di komputer virtual. Informasi ini dapat ditemukan menggunakan kueri untuk Identity mencari properti objek VM. Misalnya, $vm.Identity:

$vm = Get-AzVm -ResourceGroupName myResourceGroup -Name myVm
Update-AzVm -ResourceGroupName myResourceGroup -VirtualMachine $vm -IdentityType UserAssigned -IdentityID <USER ASSIGNED IDENTITY NAME>

Jika komputer virtual Anda tidak memiliki identitas terkelola yang ditetapkan sistem dan Anda ingin menghapus semua identitas terkelola yang ditetapkan pengguna dari komputer virtual, gunakan perintah berikut:

$vm = Get-AzVm -ResourceGroupName myResourceGroup -Name myVm
Update-AzVm -ResourceGroupName myResourceGroup -VM $vm -IdentityType None

Jika 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 identitas terkelola yang ditetapkan sistem.

$vm = Get-AzVm -ResourceGroupName myResourceGroup -Name myVm
Update-AzVm -ResourceGroupName myResourceGroup -VirtualMachine $vm -IdentityType "SystemAssigned"

Langkah berikutnya

Dalam artikel ini, dengan menggunakan templat penyebaran Azure Resource Manager, Anda mempelajari cara menjalankan identitas terkelola berikut untuk operasi sumber daya Azure di komputer virtual Azure:

Prasyarat

Templat Azure Resource Manager

Seperti portal Azure dan pembuatan skrip, templat Azure Resource Manager memungkinkan Anda untuk menerapkan sumber daya baru atau yang dimodifikasi yang ditentukan oleh grup sumber daya Azure. Beberapa opsi tersedia untuk pengeditan dan penyebaran templat, baik berbasis lokal maupun portal, termasuk:

Terlepas dari opsi yang Anda pilih, sintaks templat sama selama penyebaran awal dan pemindahan ulang. Mengaktifkan identitas terkelola yang ditetapkan sistem atau pengguna di komputer virtual baru atau yang sudah ada dilakukan dengan cara yang sama. Selain itu, secara default, Azure Resource Manager melakukan pembaruan bertahap untuk penyebaran.

Identitas terkelola yang ditetapkan sistem

Di bagian ini, Anda akan mengaktifkan dan menonaktifkan identitas terkelola yang ditetapkan sistem menggunakan templat Azure Resource Manager.

Mengaktifkan identitas terkelola yang ditetapkan sistem selama pembuatan komputer virtual Azure atau komputer virtual yang ada

Untuk mengaktifkan identitas terkelola yang ditetapkan sistem pada komputer virtual, akun Anda memerlukan penetapan peran Kontributor Komputer Virtual. Tidak diperlukan penetapan peran direktori Microsoft Entra lainnya.

  1. Baik Anda masuk ke Azure secara lokal maupun melalui portal Microsoft Azure, gunakan akun yang terkait dengan langganan Azure yang berisi komputer virtual.

  2. Untuk mengaktifkan identitas terkelola yang ditetapkan sistem, muat templat ke editor, temukan sumber daya Microsoft.Compute/virtualMachines yang menarik dalam bagian resources dan tambahkan properti "identity" pada tingkat yang sama dengan properti "type": "Microsoft.Compute/virtualMachines". Gunakan sintaks berikut:

    "identity": {
        "type": "SystemAssigned"
    },
    
  3. Bila sudah selesai, bagian berikut harus ditambahkan ke bagian resource dari templat Anda dan harus menyerupai yang berikut:

     "resources": [
         {
             //other resource provider properties...
             "apiVersion": "2018-06-01",
             "type": "Microsoft.Compute/virtualMachines",
             "name": "[variables('vmName')]",
             "location": "[resourceGroup().location]",
             "identity": {
                 "type": "SystemAssigned",
                 }                        
         }
     ]
    

Menetapkan peran identitas terkelola yang ditetapkan sistem komputer virtual

Setelah mengaktifkan identitas terkelola yang ditetapkan sistem pada VM Anda, Anda mungkin ingin memberinya peran seperti akses Pembaca ke grup sumber daya tempat identitas tersebut dibuat. Temukan informasi terperinci untuk membantu Anda dengan langkah ini di artikel Menetapkan peran Azure menggunakan templat Azure Resource Manager.

Menonaktifkan identitas terkelola yang ditetapkan sistem dari komputer virtual Azure

Untuk menghapus identitas terkelola yang ditetapkan sistem dari Komputer Virtual, akun Anda memerlukan penetapan peran Kontributor Komputer virtual. Tidak diperlukan penetapan peran direktori Microsoft Entra lainnya.

  1. Baik Anda masuk ke Azure secara lokal maupun melalui portal Microsoft Azure, gunakan akun yang terkait dengan langganan Azure yang berisi komputer virtual.

  2. Muat kerangka ke dalam editor dan temukan Microsoft.Compute/virtualMachines sumber daya yang diinginkan dalam bagian resources. Jika Anda memiliki Komputer Virtual yang hanya memiliki identitas terkelola yang ditetapkan sistem, Anda dapat menonaktifkannya dengan mengubah jenis identitas menjadi None .

    Microsoft.Compute/virtualMachines versi API 2018-06-01

    Jika komputer virtual Anda memiliki identitas terkelola yang ditetapkan sistem dan pengguna, hapus SystemAssigned dari jenis identitas dan ikuti UserAssigned dengan nilai kamus userAssignedIdentities.

    Microsoft.Compute/virtualMachines versi API 2018-06-01

    Jika apiVersion Anda adalah 2017-12-01 dan komputer virtual Anda memiliki identitas terkelola yang ditetapkan sistem dan pengguna, hapus SystemAssigned dari jenis identitas dan ikuti UserAssigned dengan array identityIds dari identitas terkelola yang ditetapkan pengguna.

Contoh berikut memperlihatkan cara menghapus identitas terkelola yang ditetapkan sistem dari komputer virtual tanpa identitas terkelola yang ditetapkan pengguna:

{
    "apiVersion": "2018-06-01",
    "type": "Microsoft.Compute/virtualMachines",
    "name": "[parameters('vmName')]",
    "location": "[resourceGroup().location]",
    "identity": {
        "type": "None"
    }
}

Identitas terkelola yang ditetapkan pengguna

Di bagian ini, Anda menetapkan identitas terkelola yang ditetapkan pengguna ke komputer virtual Azure menggunakan templat Azure Resource Manager.

Catatan

Untuk membuat identitas terkelola yang ditetapkan pengguna menggunakan Templat Azure Resource Manager, lihat Membuat identitas terkelola yang ditetapkan pengguna.

Menetapkan identitas terkelola yang ditetapkan pengguna ke komputer virtual Azure

Untuk menetapkan identitas yang ditetapkan pengguna ke mesin virtual, akun Anda memerlukan penetapan peran Operator Identitas Terkelola. Tidak diperlukan penetapan peran direktori Microsoft Entra lainnya.

  1. Di elemen resources, tambahkan entri berikut untuk menetapkan identitas terkelola yang ditetapkan pengguna ke komputer virtual Anda. Pastikan untuk mengganti <USERASSIGNEDIDENTITY> dengan nama identitas terkelola yang ditetapkan pengguna yang Anda buat.

    Microsoft.Compute/virtualMachines versi API 2018-06-01

    Jika apiVersion Anda adalah 2018-06-01, identitas terkelola yang ditetapkan pengguna Anda disimpan dalam format kamus userAssignedIdentities dan nilai <USERASSIGNEDIDENTITYNAME> harus disimpan dalam variabel yang ditentukan di bagian variables dari templat Anda.

     {
         "apiVersion": "2018-06-01",
         "type": "Microsoft.Compute/virtualMachines",
         "name": "[variables('vmName')]",
         "location": "[resourceGroup().location]",
         "identity": {
             "type": "userAssigned",
             "userAssignedIdentities": {
                 "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]": {}
             }
         }
     }
    

    Microsoft.Compute/virtualMachines versi API 2017-12-01

    Jika apiVersion Anda adalah 2017-12-01, identitas terkelola yang ditetapkan pengguna Anda disimpan dalam array identityIds dan nilai <USERASSIGNEDIDENTITYNAME> harus disimpan dalam variabel yang ditentukan di bagian variables dari templat Anda.

    {
        "apiVersion": "2017-12-01",
        "type": "Microsoft.Compute/virtualMachines",
        "name": "[variables('vmName')]",
        "location": "[resourceGroup().location]",
        "identity": {
            "type": "userAssigned",
            "identityIds": [
                "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]"
            ]
        }
    }
    
  2. Bila sudah selesai, bagian berikut harus ditambahkan ke bagian resource dari templat Anda dan harus menyerupai yang berikut:

    Microsoft.Compute/virtualMachines versi API 2018-06-01

      "resources": [
         {
             //other resource provider properties...
             "apiVersion": "2018-06-01",
             "type": "Microsoft.Compute/virtualMachines",
             "name": "[variables('vmName')]",
             "location": "[resourceGroup().location]",
             "identity": {
                 "type": "userAssigned",
                 "userAssignedIdentities": {
                    "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]": {}
                 }
             }
         }
     ] 
    

    Microsoft.Compute/virtualMachines versi API 2017-12-01

    "resources": [
         {
             //other resource provider properties...
             "apiVersion": "2017-12-01",
             "type": "Microsoft.Compute/virtualMachines",
             "name": "[variables('vmName')]",
             "location": "[resourceGroup().location]",
             "identity": {
                 "type": "userAssigned",
                 "identityIds": [
                    "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]"
                 ]
             }
         }
    ]
    

Menghapus identitas terkelola yang ditetapkan pengguna dari komputer virtual Azure

Untuk menghapus identitas yang ditetapkan pengguna dari Komputer Virtual, akun Anda memerlukan penetapan peran Kontributor Komputer Virtual. Tidak diperlukan penetapan peran direktori Microsoft Entra lainnya.

  1. Baik Anda masuk ke Azure secara lokal maupun melalui portal Microsoft Azure, gunakan akun yang terkait dengan langganan Azure yang berisi komputer virtual.

  2. Muat kerangka ke dalam editor dan temukan Microsoft.Compute/virtualMachines sumber daya yang diinginkan dalam bagian resources. Jika Anda memiliki komputer virtual yang hanya memiliki identitas terkelola yang ditetapkan pengguna, Anda dapat menonaktifkannya dengan mengubah jenis identitas menjadi None.

    Contoh berikut menunjukkan kepada Anda cara menghapus semua identitas terkelola yang ditetapkan pengguna dari Komputer Virtual tanpa identitas terkelola yang ditetapkan sistem:

     {
       "apiVersion": "2018-06-01",
       "type": "Microsoft.Compute/virtualMachines",
       "name": "[parameters('vmName')]",
       "location": "[resourceGroup().location]",
       "identity": {
           "type": "None"
           },
     }
    

    Microsoft.Compute/virtualMachines versi API 2018-06-01

    Untuk menghapus satu identitas terkelola yang ditetapkan pengguna dari komputer virtual, hapus dari kamus useraAssignedIdentities.

    Jika Anda memiliki identitas terkelola yang ditetapkan sistem, simpan dalam nilai type di bawah nilai identity.

    Microsoft.Compute/virtualMachines versi API 2017-12-01

    Untuk menghapus satu identitas terkelola yang ditetapkan pengguna dari komputer virtual, hapus dari array identityIds.

    Jika Anda memiliki identitas terkelola yang ditetapkan sistem, simpan dalam nilai type di bawah nilai identity.

Langkah berikutnya

Dalam artikel ini, 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 komputer virtual Azure:

  • Mengaktifkan dan menonaktifkan identitas terkelola yang ditetapkan sistem di komputer virtual Azure
  • Menambahkan dan menghapus identitas terkelola yang ditetapkan pengguna di komputer virtual Azure

Jika Anda belum memiliki akun Azure, daftar untuk mendapatkan akun gratis sebelum melanjutkan.

Prasyarat

Identitas terkelola yang ditetapkan sistem

Di bagian ini, Anda mempelajari cara mengaktifkan dan menonaktifkan identitas terkelola yang ditetapkan sistem di komputer virtual Azure menggunakan CURL untuk melakukan panggilan ke titik akhir REST Azure Resource Manager.

Mengaktifkan identitas terkelola yang ditetapkan sistem selama pembuatan komputer virtual Azure

Untuk membuat komputer virtual Azure dengan identitas terkelola yang ditetapkan sistem yang diaktifkan, akun Anda memerlukan penetapan peran Kontributor Komputer Virtual. Tidak diperlukan penetapan peran direktori Microsoft Entra lainnya.

  1. Buat grup sumber daya untuk penahanan dan penyebaran 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 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 komputer virtual Anda dengan identitas terkelola yang ditetapkan sistem.

    az account get-access-token
    
  4. Dengan menggunakan Azure Cloud Shell, buat komputer virtual menggunakan CURL untuk memanggil titik akhir REST Azure Resource Manager. Contoh berikut membuat komputer virtual bernama myVM 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/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
    

    Header permintaan

    Header permintaan Deskripsi
    Tipe-Konten Harus diisi. Atur ke application/json.
    Otorisasi Harus diisi. Atur ke token akses Bearer yang valid.

    Badan permintaan

      {
        "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
                    }
                 }
              ]
           }
        }
     }  
    

Mengaktifkan identitas terkelola yang ditetapkan sistem di komputer virtual yang ada

Untuk mengaktifkan identitas terkelola yang ditetapkan sistem pada komputer virtual yang awalnya disediakan tanpa identitas tersebut, akun Anda memerlukan penetapan peran Kontributor Komputer Virtual. Tidak diperlukan penetapan peran direktori Microsoft Entra lainnya.

  1. Ambil token akses Pembawa, yang akan Anda gunakan pada langkah berikutnya di header Otorisasi untuk membuat 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 komputer virtual Anda seperti yang diidentifikasi dalam isi permintaan berdasarkan nilai {"identity":{"type":"SystemAssigned"} untuk 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 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/virtualMachines/<VM NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>". Jika Anda memiliki identitas terkelola yang ditetapkan pengguna yang ditetapkan ke 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 komputer virtual Anda.

    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
    

    Header permintaan

    Header permintaan Deskripsi
    Tipe-Konten Harus diisi. Atur ke application/json.
    Otorisasi Harus diisi. Atur ke token akses Bearer yang valid.

    Badan permintaan

     {  
        "identity":{  
           "type":"SystemAssigned"
        }
     }
    
  3. Untuk mengaktifkan identitas terkelola yang ditetapkan sistem pada komputer virtual dengan identitas terkelola yang ditetapkan pengguna yang ada, Anda perlu menambahkan SystemAssigned ke nilai type.

    Misalnya, jika komputer virtual Anda memiliki identitas terkelola yang ditetapkan pengguna ID1 ID2 dan ditetapkan untuknya, dan Anda ingin menambahkan identitas terkelola yang ditetapkan sistem ke 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/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
    

    Header permintaan

    Header permintaan Deskripsi
    Tipe-Konten Harus diisi. Atur ke application/json.
    Otorisasi 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/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
    

    Header permintaan

    Header permintaan Deskripsi
    Tipe-Konten Harus diisi. Atur ke application/json.
    Otorisasi 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 komputer virtual Azure

Untuk menonaktifkan identitas terkelola yang ditetapkan sistem pada komputer virtual, akun Anda memerlukan penetapan peran Kontributor Komputer Virtual. Tidak diperlukan penetapan peran direktori Microsoft Entra lainnya.

  1. Ambil token akses Pembawa, yang akan Anda gunakan pada langkah berikutnya di header Otorisasi untuk membuat komputer virtual Anda dengan identitas terkelola yang ditetapkan sistem.

    az account get-access-token
    
  2. Perbarui 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 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 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/virtualMachines/<VM NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>". Jika Anda memiliki identitas terkelola yang ditetapkan pengguna yang ditetapkan ke komputer virtual seperti yang diidentifikasi dalam nilai identity dalam respons, lewati ke langkah 3 yang memperlihatkan cara mempertahankan identitas terkelola yang ditetapkan pengguna sambil menonaktifkan identitas terkelola yang ditetapkan sistem pada komputer virtual Anda.

    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
    

    Header permintaan

    Header permintaan Deskripsi
    Tipe-Konten Harus diisi. Atur ke application/json.
    Otorisasi Harus diisi. Atur ke token akses Bearer yang valid.

    Badan permintaan

     {  
        "identity":{  
           "type":"None"
        }
     }
    

    Untuk menghapus identitas terkelola yang ditetapkan sistem dari 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 menambahkan dan menghapus identitas terkelola yang ditetapkan pengguna di komputer virtual Azure menggunakan CURL untuk melakukan panggilan ke titik akhir REST Azure Resource Manager.

Menetapkan identitas terkelola yang ditetapkan pengguna selama pembuatan komputer virtual Azure

Untuk menetapkan identitas yang ditetapkan pengguna ke Komputer Virtual, akun Anda memerlukan penetapan peran Kontributor Komputer Virtual dan Operator Identitas Terkelola. Tidak diperlukan penetapan peran direktori Microsoft Entra lainnya.

  1. Ambil token akses Pembawa, yang akan Anda gunakan pada langkah berikutnya di header Otorisasi untuk membuat komputer virtual Anda dengan identitas terkelola yang ditetapkan sistem.

    az account get-access-token
    
  2. Buat antarmuka jaringan untuk 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 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 komputer virtual menggunakan CURL untuk memanggil titik akhir REST Azure Resource Manager. Contoh berikut membuat komputer virtual bernama myVM di grup sumber daya myResourceGroup dengan identitas terkelola yang ditetapkan pengguna 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/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
    

    Header permintaan

    Header permintaan Deskripsi
    Tipe-Konten Harus diisi. Atur ke application/json.
    Otorisasi Harus diisi. Atur ke token akses Bearer yang valid.

    Badan permintaan

     {  
        "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
                    }
                 }
              ]
           }
        }
     }
    
    

    API VERSION 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
    

    Header permintaan

    Header permintaan Deskripsi
    Tipe-Konten Harus diisi. Atur ke application/json.
    Otorisasi Harus diisi. Atur ke token akses Bearer yang valid.

    Badan permintaan

     {
        "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
                    }
                 }
              ]
           }
        }
     }
    

Menetapkan identitas terkelola yang ditetapkan pengguna ke komputer virtual Azure yang sudah ada

Untuk menetapkan identitas yang ditetapkan pengguna ke Komputer Virtual, akun Anda memerlukan penetapan peran Kontributor Komputer Virtual dan Operator Identitas Terkelola. Tidak diperlukan penetapan peran direktori Microsoft Entra lainnya.

  1. Ambil token akses Pembawa, yang akan Anda gunakan pada langkah berikutnya di header Otorisasi untuk membuat 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 komputer virtual, Anda perlu mencantumkan jenis identitas yang ditetapkan ke komputer virtual menggunakan perintah CURL berikut. Jika Anda sudah mengelola identitas yang ditetapkan ke kumpulan skala komputer virtual, identitas tersebut tercantum di bawah nilai 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
    

    Header permintaan

    Header permintaan Deskripsi
    Otorisasi Harus diisi. Atur ke token akses Bearer yang valid.

    Jika Anda memiliki identitas terkelola yang ditetapkan pengguna atau sistem yang ditetapkan ke komputer virtual seperti yang diidentifikasi dalam nilai identity dalam respons, lewati ke langkah 5 yang memperlihatkan cara mempertahankan identitas terkelola yang ditetapkan sistem sambil menambahkan identitas terkelola yang ditetapkan pengguna ke komputer virtual Anda.

  4. Jika Anda tidak memiliki identitas terkelola yang ditetapkan pengguna apa pun yang ditetapkan ke komputer virtual Anda, gunakan perintah CURL berikut untuk memanggil titik akhir REST Azure Resource Manager untuk menetapkan identitas terkelola yang ditetapkan pengguna pertama ke komputer virtual.

    Contoh berikut menetapkan identitas terkelola yang ditetapkan pengguna, ID1 ke komputer virtual bernama myVM 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/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
    

    Header permintaan

    Header permintaan Deskripsi
    Tipe-Konten Harus diisi. Atur ke application/json.
    Otorisasi 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/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
    

    Header permintaan

    Header permintaan Deskripsi
    Tipe-Konten Harus diisi. Atur ke application/json.
    Otorisasi 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 untuk 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 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/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
    

    Header permintaan

    Header permintaan Deskripsi
    Tipe-Konten Harus diisi. Atur ke application/json.
    Otorisasi 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 terkelola yang ditetapkan sistem dan identitas terkelola yang ditetapkan pengguna ID1 yang saat ini ditetapkan ke 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/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
    

    Header permintaan

    Header permintaan Deskripsi
    Tipe-Konten Harus diisi. Atur ke application/json.
    Otorisasi 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 komputer virtual Azure

Untuk menghapus identitas yang ditetapkan pengguna ke komputer virtual, akun Anda memerlukan penetapan peran Kontributor Komputer Virtual.

  1. Ambil token akses Pembawa, yang akan Anda gunakan pada langkah berikutnya di header Otorisasi untuk membuat 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 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/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
    

    Header permintaan

    Header permintaan Deskripsi
    Tipe-Konten Harus diisi. Atur ke application/json.
    Otorisasi 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 komputer virtual Anda, dan Anda hanya ingin tetap menetapkan ID1 dan mempertahankan identitas 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/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
    

    Header permintaan

    Header permintaan Deskripsi
    Tipe-Konten Harus diisi. Atur ke application/json.
    Otorisasi 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/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
    

    Header permintaan

    Header permintaan Deskripsi
    Tipe-Konten Harus diisi. Atur ke application/json.
    Otorisasi 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 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 identitas terkelola yang ditetapkan sistem menggunakan perintah berikut:

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

Header permintaan

Header permintaan Deskripsi
Tipe-Konten Harus diisi. Atur ke application/json.
Otorisasi Harus diisi. Atur ke token akses Bearer yang valid.

Badan permintaan

{
   "identity":{
      "type":"SystemAssigned"
   }
}

Jika 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/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

Header permintaan

Header permintaan Deskripsi
Tipe-Konten Harus diisi. Atur ke application/json.
Otorisasi 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:

Dalam artikel ini, Anda mempelajari cara mengaktifkan dan menghapus identitas terkelola untuk sumber daya Komputer Virtual Azure, menggunakan Azure SDK.

Prasyarat

Azure SDK dengan identitas terkelola untuk dukungan sumber daya Azure

Azure mendukung beberapa platform pemrograman melalui serangkaian Azure SDK. Beberapa di antaranya telah diperbarui untuk mendukung identitas terkelola untuk sumber daya Azure, dan menyediakan sampel yang sesuai untuk menunjukkan penggunaan. Daftar ini diperbarui saat dukungan lain ditambahkan:

SDK Sampel
.NET Mengelola sumber daya dari Komputer Virtual yang diaktifkan dengan identitas terkelola untuk sumber daya Azure diaktifkan
Java Mengelola penyimpanan dari Komputer Virtual yang diaktifkan dengan identitas terkelola untuk sumber daya Azure
Node.js Membuat Komputer Virtual dengan identitas terkelola yang ditetapkan sistem diaktifkan
Python Membuat Komputer Virtual dengan identitas terkelola yang ditetapkan sistem diaktifkan
Ruby Membuat Komputer Virtual Azure dengan identitas yang ditetapkan sistem diaktifkan

Langkah berikutnya

  • Lihat artikel terkait di bagian Konfigurasi Identitas untuk Komputer Virtual Azure, untuk mempelajari bagaimana Anda juga bisa menggunakan portal Microsoft Azure, PowerShell, CLI, dan templat sumber daya.