Deskripsi identitas terkelola untuk sumber daya Azure berfungsi dengan komputer virtual Azure

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, Anda mempelajari cara kerja identitas terkelola dengan komputer virtual Azure (VM).

Cara kerjanya

Secara internal, identitas terkelola adalah perwakilan layanan dari jenis khusus, yang hanya dapat digunakan dengan sumber daya Azure. Ketika identitas terkelola dihapus, perwakilan layanan yang sesuai secara otomatis dihapus. Selain itu, ketika dibuat Identitas yang Ditetapkan Pengguna atau yang Ditetapkan Sistem, Penyedia Sumber Daya Identitas Terkelola (MSRP) mengeluarkan sertifikat secara internal ke identitas tersebut.

Kode Anda dapat menggunakan identitas terkelola untuk meminta token akses untuk layanan yang mendukung autentikasi Microsoft Entra. Azure mengurus bergulirnya kredensial yang digunakan oleh instans layanan.

Diagram berikut menunjukkan cara kerja identitas layanan terkelola dengan komputer virtual Azure (VM):

Diagram yang menunjukkan bagaimana identitas layanan terkelola dikaitkan dengan komputer virtual Azure, mendapatkan token akses, dan memanggil sumber daya Microsoft Entra yang dilindungi.

Tabel berikut ini memperlihatkan perbedaan antara identitas terkelola yang ditetapkan sistem dan ditetapkan pengguna:

Properti Identitas terkelola yang ditetapkan sistem Identitas terkelola yang ditetapkan pengguna
Pembuatan Dibuat sebagai bagian dari sumber daya Azure (misalnya, komputer virtual Azure atau Azure App Service). Dibuat sebagai sumber daya Azure yang berdiri sendiri.
Siklus hidup Siklus hidup bersama dengan sumber daya Azure tempat identitas terkelola dibuat.
Ketika sumber daya induk dihapus, identitas terkelola juga dihapus.
Siklus hidup mandiri.
Harus dihapus secara eksplisit.
Berbagi di seluruh sumber daya Azure Tidak bisa dibagikan.
Ini hanya dapat dikaitkan dengan satu sumber daya Azure.
Dapat dibagikan.
Identitas terkelola yang ditetapkan pengguna yang sama dapat dikaitkan dengan lebih dari satu sumber daya Azure.
Kasus penggunaan umum Beban kerja yang terkandung dalam satu sumber daya Azure.
Beban kerja yang Anda butuhkan identitas independen-nya.
Misalnya, aplikasi yang berjalan pada satu komputer virtual
Beban kerja yang berjalan pada beberapa sumber daya dan yang dapat berbagi satu identitas.
Beban kerja yang memerlukan otorisasi sebelumnya ke sumber daya yang aman sebagai bagian dari alur penyediaan.
Beban kerja di mana sumber daya sering didaur ulang, tetapi izin harus tetap konsisten.
Misalnya, beban kerja di mana beberapa komputer virtual perlu mengakses sumber daya yang sama

Identitas terkelola yang ditetapkan sistem

  1. Azure Resource Manager menerima permintaan untuk mengaktifkan identitas terkelola yang ditetapkan sistem pada VM.

  2. Azure Resource Manager membuat perwakilan layanan di MICROSOFT Entra ID untuk identitas VM. Perwakilan layanan dibuat di penyewa Microsoft Entra yang dipercaya oleh langganan.

  3. Azure Resource Manager memperbarui identitas VM menggunakan titik akhir identitas Azure Instance Metadata Service (untuk Windows dan Linux), menyediakan titik akhir dengan ID dan sertifikat klien perwakilan layanan.

  4. Setelah VM memiliki identitas, gunakan informasi utama layanan untuk memberikan akses VM ke sumber daya Azure. Untuk memanggil Azure Resource Manager, gunakan Azure Role-Based Access Control (Azure RBAC) untuk menetapkan peran yang sesuai ke perwakilan layanan VM. Untuk memanggil Key Vault, berikan kode Anda akses ke rahasia atau kunci tertentu di Key Vault.

  5. Kode Anda yang berjalan di VM dapat meminta token dari titik akhir layanan Metadata Instans Azure, yang hanya dapat diakses dari dalam VM: http://169.254.169.254/metadata/identity/oauth2/token

    • Parameter sumber daya menentukan layanan tempat token dikirim. Untuk mengautentikasi ke Azure Resource Manager, gunakan resource=https://management.azure.com/.
    • Parameter versi API menentukan versi IMDS, gunakan api-version=2018-02-01 atau yang lebih tinggi.

    Contoh berikut menunjukkan cara menggunakan CURL untuk membuat permintaan ke titik akhir Identitas Terkelola lokal untuk mendapatkan token akses untuk layanan Metadata Instans Azure.

    curl 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https%3A%2F%2Fstorage.azure.com%2F' -H Metadata:true
    
  6. Panggilan dilakukan ke ID Microsoft Entra untuk meminta token akses (seperti yang ditentukan di langkah 5) dengan menggunakan ID klien dan sertifikat yang dikonfigurasi di langkah 3. MICROSOFT Entra ID mengembalikan token akses JSON Web Token (JWT).

  7. Kode Anda mengirimkan token akses pada panggilan ke layanan yang mendukung autentikasi Microsoft Entra.

Identitas terkelola yang ditetapkan pengguna

  1. Azure Resource Manager menerima permintaan untuk membuat identitas terkelola yang ditetapkan pengguna.

  2. Azure Resource Manager membuat perwakilan layanan di ID Microsoft Entra untuk identitas terkelola yang ditetapkan pengguna. Perwakilan layanan dibuat di penyewa Microsoft Entra yang dipercaya oleh langganan.

  3. Azure Resource Manager menerima permintaan untuk mengonfigurasi identitas terkelola yang ditetapkan pengguna pada VM dan memperbarui titik akhir identitas Instance Metadata Service Azure dengan ID dan sertifikat klien perwakilan layanan identitas terkelola yang ditetapkan pengguna.

  4. Setelah identitas terkelola yang ditetapkan pengguna dibuat, gunakan informasi perwakilan layanan untuk memberikan akses identitas ke sumber daya Azure. Untuk menghubungi Azure Resource Manager, gunakan Azure RBAC untuk menetapkan peran yang sesuai ke perwakilan layanan identitas yang ditetapkan pengguna. Untuk memanggil Key Vault, berikan kode Anda akses ke rahasia atau kunci tertentu di Key Vault.

    Catatan

    Anda juga dapat melakukan langkah ini sebelum langkah 3.

  5. Kode Anda yang berjalan di VM dapat meminta token dari titik akhir identitas Instance Metadata Service Azure, yang hanya dapat diakses dari dalam VM: http://169.254.169.254/metadata/identity/oauth2/token

    • Parameter sumber daya menentukan layanan tempat token dikirim. Untuk mengautentikasi ke Azure Resource Manager, gunakan resource=https://management.azure.com/.

    • Parameter client_id menentukan identitas yang diminta token. Nilai ini diperlukan untuk disambiguasi ketika lebih dari satu identitas yang ditetapkan pengguna berada pada satu VM. Anda dapat menemukan ID Klien di Gambaran Umum Identitas Terkelola:

      Cuplikan layar yang memperlihatkan cara menyalin ID klien identitas terkelola.

    • Parameter versi API menentukan versi Azure Instance Metadata Service. Gunakan api-version=2018-02-01 atau yang lebih tinggi.

      Contoh berikut menunjukkan cara menggunakan CURL untuk membuat permintaan ke titik akhir Identitas Terkelola lokal untuk mendapatkan token akses untuk layanan Metadata Instans Azure.

      curl 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https%3A%2F%2Fstorage.azure.com%2F&client_id=12345678-0000-0000-0000-000000000000' -H Metadata:true
      
  6. Panggilan dilakukan ke ID Microsoft Entra untuk meminta token akses (seperti yang ditentukan di langkah 5) dengan menggunakan ID klien dan sertifikat yang dikonfigurasi di langkah 3. MICROSOFT Entra ID mengembalikan token akses JSON Web Token (JWT).

  7. Kode Anda mengirimkan token akses pada panggilan ke layanan yang mendukung autentikasi Microsoft Entra.

Langkah berikutnya

Mulai menggunakan fitur identitas terkelola untuk sumber daya Azure dengan mulai cepat berikut: