Cara menggunakan identitas terkelola untuk sumber daya Azure di komputer virtual Azure untuk masuk
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.
Artikel ini menyediakan contoh skrip PowerShell dan CLI untuk masuk menggunakan identitas terkelola untuk perwakilan layanan sumber daya Azure dan panduan tentang topik penting seperti penanganan kesalahan.
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
- Jika Anda tidak terbiasa dengan fitur identitas terkelola untuk sumber daya Azure, lihat gambaran umum ini. Jika Anda belum memiliki akun Azure, daftar untuk mendapatkan akun gratis sebelum melanjutkan.
Jika Anda berencana untuk menggunakan contoh Azure PowerShell atau Azure CLI dalam artikel ini, pastikan untuk menginstal versi terbaru Azure PowerShell atau Azure CLI.
Penting
- Semua contoh skrip dalam artikel ini mengasumsikan klien baris perintah berjalan di komputer virtual dengan identitas terkelola untuk sumber daya Azure diaktifkan. Gunakan fitur "Hubungkan" komputer virtual di portal Microsoft Azure untuk menghubungkan ke komputer virtual Anda dari jarak jauh. Untuk detail tentang mengaktifkan identitas terkelola untuk sumber daya Azure pada komputer virtual, lihat Mengonfigurasi identitas terkelola untuk sumber daya Azure pada komputer virtual menggunakan portal Microsoft Azure, atau salah satu artikel varian (menggunakan PowerShell, CLI, templat, atau Azure SDK).
- Untuk mencegah kesalahan selama akses sumber daya, identitas terkelola komputer virtual harus diberikan setidaknya akses "Pembaca" pada cakupan yang sesuai (komputer virtual atau lebih tinggi) untuk memungkinkan operasi Azure Resource Manager di komputer virtual. Lihat Menetapkan identitas terkelola untuk akses sumber daya Azure ke sumber daya menggunakan portal Microsoft Azure untuk detailnya.
Gambaran Umum
Identitas terkelola untuk sumber daya Azure menyediakan objek perwakilan layanan yang dibuat setelah mengaktifkan identitas terkelola untuk sumber daya Azure di komputer virtual. Perwakilan layanan dapat diberikan akses ke sumber daya Azure dan digunakan sebagai identitas oleh klien skrip/baris perintah untuk masuk dan akses sumber daya. Secara tradisional, untuk mengakses sumber daya aman dengan identitasnya sendiri, klien skrip harus:
- didaftarkan dan disetujui dengan ID Microsoft Entra sebagai aplikasi klien rahasia/web
- masuk di bawah perwakilan layanannya menggunakan informasi masuk aplikasi (yang kemungkinan disematkan dalam skrip)
Dengan identitas terkelola untuk sumber daya Azure, klien skrip Anda tidak perlu lagi melakukan keduanya, karena dapat masuk dengan identitas terkelola untuk perwakilan layanan sumber daya Azure.
Azure CLI
Skrip berikut menunjukkan cara:
Masuk ke ID Microsoft Entra di bawah identitas terkelola VM untuk perwakilan layanan sumber daya Azure
Memanggil Azure Resource Manager dan mendapatkan ID perwakilan layanan komputer virtual. CLI menangani pengelolaan akuisisi/penggunaan token untuk Anda secara otomatis. Pastikan untuk mengganti nama komputer virtual Anda dengan
<VM-NAME>
.az login --identity $spID=$(az resource list -n <VM-NAME> --query [*].identity.principalId --out tsv) echo The managed identity for Azure resources service principal ID is $spID
Azure PowerShell
Skrip berikut menunjukkan cara:
Masuk ke ID Microsoft Entra di bawah identitas terkelola VM untuk perwakilan layanan sumber daya Azure
Memanggil cmdlet Azure Resource Manager untuk mendapatkan informasi tentang komputer virtual. PowerShell menangani pengelolaan penggunaan token untuk Anda secara otomatis.
Add-AzAccount -identity # Call Azure Resource Manager to get the service principal ID for the VM's managed identity for Azure resources. $vmInfoPs = Get-AzVM -ResourceGroupName <RESOURCE-GROUP> -Name <VM-NAME> $spID = $vmInfoPs.Identity.PrincipalId echo "The managed identity for Azure resources service principal ID is $spID"
ID sumber daya untuk layanan Azure
Lihat Layanan Azure yang mendukung autentikasi Microsoft Entra untuk daftar sumber daya yang mendukung ID Microsoft Entra dan telah diuji dengan identitas terkelola untuk sumber daya Azure, dan ID sumber daya masing-masing.
Panduan penanganan kesalahan
Respons seperti berikut ini mungkin menunjukkan bahwa identitas terkelola komputer virtual untuk sumber daya Azure belum dikonfigurasi dengan benar:
- PowerShell: Invoke-WebRequest : Tidak dapat terhubung ke server jarak jauh
- CLI: MSI: Gagal mengambil token dari
http://localhost:50342/oauth2/token
dengan kesalahan 'HTTPConnectionPool(host='localhost', port=50342)
Jika Anda menerima salah satu kesalahan ini, kembali ke komputer virtual Azure di portal Microsoft Azure, lalu buka halaman Identitas dan pastikan Sistem yang ditetapkan diatur ke "Ya."
Langkah berikutnya
- Untuk mengaktifkan identitas terkelola untuk sumber daya Azure di komputer virtual Azure, lihat Mengonfigurasi identitas terkelola untuk sumber daya Azure di komputer virtual Azure menggunakan PowerShell atau Mengonfigurasi identitas terkelola untuk sumber daya Azure di komputer virtual Azure menggunakan Azure CLI