Gunakan identitas terkelola yang ditetapkan sistem Windows VM untuk mengakses Resource Manager

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.

Tutorial ini menunjukkan cara mengakses API Azure Resource Manager menggunakan komputer virtual Windows dengan identitas terkelola yang ditetapkan sistem yang diaktifkan. Identitas terkelola untuk sumber daya Azure dikelola secara otomatis oleh Azure dan memungkinkan Anda mengautentikasi ke layanan yang mendukung autentikasi Microsoft Entra tanpa perlu menyisipkan kredensial ke dalam kode Anda. Anda akan mempelajari cara untuk:

  • Memberikan akses Komputer Virtual Anda ke Grup Sumber Daya di Azure Resource Manager
  • Dapatkan token akses menggunakan identitas Komputer Virtual dan gunakan untuk menghubungi Azure Resource Manager

Prasyarat

Aktifkan

Mengaktifkan identitas terkelola yang ditetapkan sistem adalah pengalaman sekali klik. Anda dapat mengaktifkannya selama pembuatan VM atau di properti VM yang sudah ada.

Screenshot shows the System assigned tab for a virtual machine where you can turn on the System assigned status.

Untuk mengaktifkan identitas terkelola yang ditetapkan sistem pada VM baru:

  1. Masuk ke portal Azure

  2. Membuat mesin virtual dengan identitas yang ditetapkan sistem yang diaktifkan

Memberikan akses komputer virtual ke grup sumber daya di Resource Manager

Tip

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

Dengan menggunakan identitas terkelola untuk sumber daya Azure, aplikasi Anda bisa mendapatkan token akses untuk mengautentikasi ke sumber daya yang mendukung autentikasi Microsoft Entra. AZURE Resource Manager API mendukung autentikasi Microsoft Entra. Kami memberikan akses identitas VM ini ke sumber daya di Azure Resource Manager, dalam hal ini Grup Sumber Daya. Kami menetapkan peran Pembaca ke identitas terkelola di cakupan grup sumber daya.

  1. Masuk ke portal Azure dengan akun administrator Anda.
  2. Navigasi ke tab Grup Sumber Daya.
  3. Pilih Grup Sumber Daya yang ingin Anda berikan akses identitas terkelola VM.
  4. Di panel kiri, pilih Kontrol akses (IAM).
  5. Pilih Tambahkan, lalu pilih Tambahkan penetapan peran.
  6. Di tab Peran , pilih Pembaca. Peran ini memungkinkan melihat semua sumber daya, tetapi tidak memungkinkan Anda untuk membuat perubahan apa pun.
  7. Di tab Anggota , untuk tetapkan akses ke, pilih Identitas terkelola. Kemudian, pilih + Pilih anggota.
  8. Pastikan langganan yang tepat tercantum di menu dropdown Langganan . Dan untuk Grup Sumber Daya, pilih Semua grup sumber daya.
  9. Untuk menu dropdown Kelola identitas , pilih Komputer Virtual.
  10. Terakhir, di Pilih pilih Windows Virtual Machine Anda di menu dropdown dan pilih Simpan.

Mendapatkan token akses menggunakan identitas terkelola yang ditetapkan pengguna di komputer virtual dan menggunakannya untuk memanggil Azure Resource Manager

Anda harus menggunakan PowerShell di bagian ini. Jika Anda tidak menginstal PowerShell, unduh di sini.

  1. Pada portal, navigasikan ke Virtual Machines dan buka mesin virtual Windows Anda dan pada Gambaran Umum, pilih Sambungkan.

  2. Masukkan Nama Pengguna dan Kata Sandi yang Anda tambahkan saat membuat komputer virtual Windows.

  3. Sekarang, setelah Anda membuat Koneksi Desktop Jauh dengan mesin virtual, buka PowerShell di sesi jarak jauh.

  4. Dengan menggunakan cmdlet Invoke-WebRequest, buat permintaan ke identitas terkelola lokal untuk titik akhir sumber daya Azure guna mendapatkan token akses untuk Azure Resource Manager.

       $response = Invoke-WebRequest -Uri 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https://management.azure.com/' -Method GET -Headers @{Metadata="true"}
    

    Catatan

    Nilai parameter "sumber daya" harus sama persis dengan apa yang diharapkan oleh ID Microsoft Entra. Saat menggunakan ID sumber daya Azure Resource Manager, Anda harus menyertakan garis miring pada URI.

    Selanjutnya, ekstrak respons penuh, yang disimpan sebagai string berformat JavaScript Object Notation (JSON) di objek $response.

    $content = $response.Content | ConvertFrom-Json
    

    Selanjutnya, ekstrak token akses dari respons tersebut.

    $ArmToken = $content.access_token
    

    Terakhir, panggil Azure Resource Manager menggunakan token akses. Dalam contoh ini, kita juga menggunakan cmdlet Invoke-WebRequest untuk melakukan panggilan ke Azure Resource Manager, dan menyertakan token akses di header Otorisasi.

    (Invoke-WebRequest -Uri https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>?api-version=2016-06-01 -Method GET -ContentType "application/json" -Headers @{ Authorization ="Bearer $ArmToken"}).content
    

    Catatan

    URL peka huruf besar/kecil, jadi, pastikan Anda menggunakan kasus yang sama persis dengan yang digunakan sebelumnya saat Anda menamai Grup Sumber Daya, termasuk huruf besar "G" di "resourceGroups."

    Perintah berikut mengembalikan detail Grup Sumber Daya:

    {"id":"/subscriptions/98f51385-2edc-4b79-bed9-7718de4cb861/resourceGroups/DevTest","name":"DevTest","location":"westus","properties":{"provisioningState":"Succeeded"}}
    

Langkah berikutnya

Dalam mulai cepat ini, Anda mempelajari cara menggunakan identitas terkelola yang ditetapkan sistem untuk mengakses API Azure Resource Manager. Pelajari selengkapnya tentang Azure Resource Manager: