Bagikan melalui


Mengonfigurasi identitas terkelola pada komputer virtual (VM) Azure

Identitas terkelola untuk sumber daya Azure menyediakan layanan Azure dengan identitas yang dikelola secara 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 diberikan oleh 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 sistem pada Komputer Virtual saat pembuatan, akun Anda memerlukan penetapan peran Kontributor Komputer Virtual. Tidak diperlukan penetapan peran direktori Microsoft Entra lainnya.

Saat membuat komputer virtual Windows atau komputer virtual Linux, pilih tab Manajemen.

Di bagian Identitas, pilih kotak centang Aktifkan identitas terkelola yang ditetapkan sistem.

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

Aktifkan 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. Masuk ke portal Microsoft Azure menggunakan akun yang terkait dengan langganan Azure yang berisi Komputer Virtual.

  2. Navigasikan ke Komputer Virtual yang diinginkan dan di bagian Keamanan pilih Identity.

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

    Cuplikan layar yang memperlihatkan halaman Identitas dengan status yang ditetapkan oleh sistem diatur ke Aktif.

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. Navigasikan ke Komputer Virtual yang diinginkan dan di bagian Keamanan pilih Identity.

  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. Pertama-tama buat komputer virtual Windows atau komputer virtual Linux, lalu tetapkan identitas terkelola yang ditetapkan pengguna ke VM.

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. Navigasikan ke VM yang diinginkan dan klik Keamanan>Identitas, Pengguna yang ditetapkan secara manual lalu +Tambahkan. Klik identitas yang ditetapkan pengguna yang ingin Anda tambahkan ke Komputer Virtual lalu klik Tambahkan.

  3. Pilih identitas terkelola yang ditetapkan pengguna yang telah dibuat sebelumnya dari daftar.

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

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.

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

Navigasikan ke VM yang diinginkan dan pilih Security>Identity, 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 diberikan oleh 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 mengaktifkan identitas terkelola yang ditetapkan oleh sistem, akun Anda memerlukan tugas 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 /Subscriptions/mySubscriptionId/resourceGroups/myResourceGroup --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 sensitif terhadap 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 mesin 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 pengelolaan dan penyebaran identitas terkelola yang ditetapkan pengguna Anda, dengan 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 az identity create. 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 ini memuat detail tentang identitas terkelola yang ditetapkan pengguna yang telah dibuat, serupa dengan yang berikut. Nilai ID sumber daya yang diberikan kepada identitas terkelola 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=aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
        "id": "/subscriptions/<SUBSCRIPTION 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

    Pembuatan identitas terkelola yang ditetapkan pengguna dengan karakter khusus berupa garis bawah (underscore) 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 ini memuat detail tentang 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=aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
      "id": "/subscriptions/<SUBSCRIPTION 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 Resource Group (RG) yang berbeda dari mesin 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 pengguna yang ditetapkan pada mesin virtual, akun Anda memerlukan penetapan peran Kontributor Mesin Virtual.

Jika ini adalah satu-satunya identitas terkelola yang ditetapkan pengguna yang ditetapkan ke komputer virtual, UserAssigned akan dihapus dari nilai tipe 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 sensitif terhadap 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 diberikan oleh 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 mengaktifkan identitas terkelola yang ditetapkan oleh sistem, akun Anda memerlukan tugas peran Kontributor Komputer Virtual. Tidak diperlukan penetapan peran direktori Microsoft Entra lainnya.

  1. Lihat salah satu Panduan Memulai Cepat VM Azure berikut, dengan hanya menyelesaikan bagian yang diperlukan ("Masuk ke Azure", "Buat grup sumber daya", "Buat grup jaringan", "Buat VM").

    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/<RESOURCE 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 Panduan Memulai Cepat VM Azure berikut, dengan hanya menyelesaikan bagian yang diperlukan ("Masuk ke Azure", "Buat grup sumber daya", "Buat grup jaringan", "Buat VM").

    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>, <RESOURCE GROUP>, dan <USER ASSIGNED IDENTITY NAME> dengan nilai Anda. Contohnya:

    $vmConfig = New-AzVMConfig -VMName <VM NAME> -IdentityType UserAssigned -IdentityID "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/<RESOURCE 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 antara 3 hingga 128 karakter agar penugasan ke VM/VMSS 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 VM Azure, gunakan switch -IdentityType dan -IdentityID pada cmdlet Update-AzVM. Nilai untuk parameter -IdentityId adalah Id yang Anda catat di langkah sebelumnya. Ganti <VM NAME>, <SUBSCRIPTION ID>, <RESOURCE GROUP>, dan <USER ASSIGNED IDENTITY NAME> dengan nilai Anda.

    Peringatan

    Untuk mempertahankan identitas terkelola yang telah ditetapkan sebelumnya oleh pengguna ke VM, kueri 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/<RESOURCE 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 pengguna yang ditetapkan pada mesin virtual, akun Anda memerlukan penetapan peran Kontributor Mesin 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 dengan menggunakan kueri untuk mencari properti Identity dari 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 diberikan oleh sistem

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

Aktifkan identitas terkelola yang ditetapkan sistem saat pembuatan mesin virtual Azure atau pada mesin virtual yang sudah 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 template ke dalam editor dan cari 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 oleh sistem dan pengguna, hapus SystemAssigned dari jenis identitas, dan pertahankan UserAssigned beserta 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 pertahankan UserAssigned beserta 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 API versi 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 API versi 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 template ke dalam editor dan cari 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 VM, hapus dari direktori userAssignedIdentities.

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

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

    Untuk menghapus satu identitas terkelola yang ditetapkan pengguna dari VM, hapus identitas tersebut 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 diberikan oleh 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 mengaktifkan identitas terkelola yang ditetapkan oleh sistem, akun Anda memerlukan tugas 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. Dapatkan token akses Bearer, yang akan Anda gunakan pada langkah berikutnya di header Otorisasi untuk membuat VM Anda dengan identitas terkelola yang ditetapkan oleh 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 Bearer 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

    Tajuk permintaan Deskripsi
    Jenis 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 yang ditetapkan oleh sistem pada Azure VM yang sudah 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. Dapatkan token akses Bearer, yang akan Anda gunakan pada langkah berikutnya di header Otorisasi untuk membuat VM Anda dengan identitas terkelola yang ditetapkan oleh 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 Bearer dan nilai <SUBSCRIPTION ID> yang sesuai untuk lingkungan Anda.

    Penting

    Untuk memastikan Anda tidak menghapus identitas terkelola yang ditetapkan pengguna yang sudah ada dan ditugaskan ke VM, 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

    Tajuk permintaan Deskripsi
    Jenis 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 dan ID2 yang 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 VERSI 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

    Tajuk permintaan Deskripsi
    Jenis 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 VERSI 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

    Tajuk permintaan Deskripsi
    Jenis 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. Dapatkan token akses Bearer, yang akan Anda gunakan pada langkah berikutnya di header Otorisasi untuk membuat VM Anda dengan identitas terkelola yang ditetapkan oleh sistem.

    az account get-access-token
    
  2. Perbarui VM menggunakan CURL untuk mengakses titik akhir REST Azure Resource Manager guna 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 Bearer dan nilai <SUBSCRIPTION ID> yang sesuai untuk lingkungan Anda.

    Penting

    Untuk memastikan Anda tidak menghapus identitas terkelola yang ditetapkan pengguna yang sudah ada dan ditugaskan ke VM, 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

    Tajuk permintaan Deskripsi
    Jenis 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. Dapatkan token akses Bearer, yang akan Anda gunakan pada langkah berikutnya di header Otorisasi untuk membuat VM Anda dengan identitas terkelola yang ditetapkan oleh 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. Dapatkan token akses Bearer, yang akan Anda gunakan pada langkah berikutnya di header Otorisasi untuk membuat VM Anda dengan identitas terkelola yang ditetapkan oleh 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 Bearer dan nilai <SUBSCRIPTION ID> yang sesuai untuk lingkungan Anda.

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

    Tajuk permintaan Deskripsi
    Jenis 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 VERSI 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

    Tajuk permintaan Deskripsi
    Jenis 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. Dapatkan token akses Bearer, yang akan Anda gunakan pada langkah berikutnya di header Otorisasi untuk membuat VM Anda dengan identitas terkelola yang ditetapkan oleh 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 managed identities yang sudah ada dan ditetapkan oleh pengguna atau sistem ke VM, Anda perlu mencantumkan jenis identitas yang ditetapkan ke VM dengan 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

    Tajuk 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 VM seperti yang diidentifikasi dalam nilai identity dalam respons, lanjut ke langkah 5 yang memperlihatkan kepada Anda cara mempertahankan identitas terkelola yang ditetapkan sistem sambil menambahkan identitas terkelola yang ditetapkan pengguna ke VM 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 Bearer dan nilai <SUBSCRIPTION ID> yang sesuai untuk lingkungan Anda.

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

    Tajuk permintaan Deskripsi
    Jenis 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 VERSI 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

    Tajuk permintaan Deskripsi
    Jenis 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 pengguna atau sistem yang ada dalam komputer virtual Anda:

    API VERSI 2018-06-01

    Tambahkan identitas terkelola yang pengguna tetapkan 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

    Tajuk permintaan Deskripsi
    Jenis 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 VERSI 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

    Tajuk permintaan Deskripsi
    Jenis 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 pengguna yang ditetapkan pada mesin virtual, akun Anda memerlukan penetapan peran Kontributor Mesin Virtual.

  1. Dapatkan token akses Bearer, yang akan Anda gunakan pada langkah berikutnya di header Otorisasi untuk membuat VM Anda dengan identitas terkelola yang ditetapkan oleh 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

    Tajuk permintaan Deskripsi
    Jenis 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 VERSI 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

    Tajuk permintaan Deskripsi
    Jenis 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 VERSI 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

    Tajuk permintaan Deskripsi
    Jenis 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

Tajuk permintaan Deskripsi
Jenis 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

Tajuk permintaan Deskripsi
Jenis 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 Contoh
.JARING Mengelola sumber daya dari Mesin Virtual yang diaktifkan dengan identitas terkelola untuk sumber daya Azure
Jawa Mengelola penyimpanan dari Komputer Virtual yang diaktifkan dengan identitas terkelola untuk sumber daya Azure
Node.js Buat mesin virtual dengan identitas terkelola yang ditetapkan oleh sistem diaktifkan
Phyton Buat mesin virtual dengan identitas terkelola yang ditetapkan oleh sistem diaktifkan
Rubi Membuat VM Azure dengan identitas yang ditetapkan oleh sistem yang sudah 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.