Mengonfigurasi Identitas terkelola untuk sumber daya Azure di komputer virtual Azure menggunakan PowerShell

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.

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>
    Update-AzVM -ResourceGroupName <RESOURCE GROUP> -VM $vm -IdentityType UserAssigned -IdentityID "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/<RESROURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>"
    

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