[Pratinjau] Gunakan Azure Policy untuk menetapkan identitas terkelola

Azure Policy membantu menegakkan standar organisasi dan menilai kepatuhan dalam skala besar. Melalui dasbor kepatuhannya, kebijakan Azure memberikan tampilan agregat yang membantu administrator mengevaluasi keadaan lingkungan secara keseluruhan. Anda memiliki kemampuan untuk menelusuri per-sumber daya, per-perincian kebijakan. Cara ini juga membantu membawa sumber daya Anda ke kepatuhan melalui perbaikan massal untuk sumber daya yang ada dan perbaikan otomatis untuk sumber daya baru. Kasus penggunaan umum untuk Kebijakan Azure mencakup penerapan tata kelola untuk:

  • Konsistensi sumber daya
  • Kepatuhan peraturan
  • Keamanan
  • Biaya
  • Manajemen

Definisi kebijakan untuk kasus penggunaan umum ini sudah tersedia di lingkungan Azure Anda untuk membantu Anda memulai.

Agen Pemantauan Azure memerlukan identitas terkelola pada Mesin Virtual (VM) Azure yang dipantau. Dokumen ini menjelaskan perilaku Kebijakan Azure bawaan yang disediakan oleh Microsoft yang membantu memastikan identitas terkelola, yang diperlukan untuk skenario ini, ditetapkan ke VM dalam skala besar.

Saat menggunakan identitas terkelola yang ditetapkan sistem dimungkinkan, ketika digunakan dalam skala besar (misalnya, untuk semua VM dalam langganan) identitas tersebut menghasilkan sejumlah besar identitas yang dibuat (dan dihapus) di ID Microsoft Entra. Untuk menghindari churn identitas ini, disarankan untuk menggunakan identitas terkelola yang ditetapkan pengguna, yang dapat dibuat sekali dan dibagikan di beberapa VM.

Catatan

Kami merekomendasikan penggunaan identitas terkelola yang ditetapkan pengguna per langganan Azure per wilayah Azure.

Kebijakan ini dirancang untuk mengimplementasikan rekomendasi ini.

Definisi dan detail kebijakan

Ketika dijalankan, kebijakan mengambil tindakan berikut:

  1. Buat, jika tidak ada, identitas terkelola yang ditetapkan pengguna bawaan baru di langganan dan setiap wilayah Azure berdasarkan VM yang ada dalam cakupan kebijakan.
  2. Setelah dibuat, kunci identitas terkelola yang ditetapkan pengguna agar tidak terhapus secara tidak sengaja.
  3. Tetapkan identitas terkelola yang ditetapkan pengguna bawaan ke Mesin Virtual dari langganan dan wilayah berdasarkan VM yang berada dalam cakupan kebijakan.

Catatan

Jika Mesin Virtual memiliki tepat 1 identitas terkelola yang ditetapkan pengguna yang telah ditetapkan, maka kebijakan akan melewati VM ini untuk menetapkan identitas bawaan. Cara ini untuk memastikan penetapan kebijakan tidak merusak aplikasi yang bergantung pada perilaku default titik akhir token di IMDS.

Ada dua skenario untuk menggunakan kebijakan:

  • Biarkan kebijakan membuat dan menggunakan identitas terkelola yang ditetapkan pengguna "bawaan".
  • Bawa identitas terkelola yang ditetapkan pengguna Anda sendiri.

Kebijakan ini mengambil parameter input berikut:

  • Bring-Your-Own-UAMI? - Haruskah kebijakan membuat, jika tidak ada, identitas terkelola yang ditetapkan pengguna baru?
  • Jika diatur ke true, maka Anda harus menentukan:
    • Nama identitas yang dikelola
    • Grup sumber daya tempat identitas terkelola harus dibuat.
  • Jika diatur menjadi false, maka tidak diperlukan input tambahan.
    • Kebijakan tersebut akan membuat identitas terkelola yang ditetapkan pengguna yang diperlukan yang disebut "identitas bawaan" dalam grup sumber daya yang disebut "identitas bawaan-rg".

Menggunakan kebijakan

Membuat penetapan kebijakan

Definisi kebijakan dapat ditetapkan ke cakupan yang berbeda di Azure – di langganan grup manajemen atau grup sumber daya tertentu. Karena kebijakan perlu diterapkan sepanjang waktu, operasi penetapan dilakukan menggunakan identitas terkelola yang terkait dengan objek penetapan kebijakan. Objek penetapan kebijakan mendukung identitas terkelola yang ditetapkan sistem dan ditetapkan pengguna. Misalnya, Joe dapat membuat identitas terkelola yang ditetapkan pengguna yang disebut PolicyAssignmentMI. Kebijakan bawaan membuat identitas terkelola yang ditetapkan pengguna di setiap langganan dan di setiap wilayah dengan sumber daya yang berada dalam cakupan penetapan kebijakan. Identitas terkelola yang ditetapkan pengguna yang dibuat oleh kebijakan memiliki format resourceId berikut:

/subscriptions/your-subscription-id/resourceGroups/built-in-identity-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/built-in-identity-{location}

Contohnya:

/subscriptions/aaaabbbb-aaaa-bbbb-1111-111122223333/resourceGroups/built-in-identity-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/built-in-identity-eastus

Otorisasi yang diperlukan

Agar identitas terkelola PolicyAssignmentMI dapat menetapkan kebijakan bawaan di seluruh cakupan yang ditentukan, diperlukan izin berikut, yang dinyatakan sebagai Penetapan Peran Azure RBAC (Azure kontrol akses berbasis peran):

Utama Peran/Tindakan Cakupan Tujuan
PolicyAssigmentMI Operator Identitas Terkelola /subscription/subscription-id/resourceGroups/built-in-identity
ATAU
Bring-your-own-User-assinged-Managed identity
Diperlukan untuk menetapkan identitas bawaan ke VM.
PolicyAssigmentMI Kontributor /subscription/subscription-id> Diperlukan untuk membuat grup sumber daya yang menyimpan identitas terkelola bawaan dalam langganan.
PolicyAssigmentMI Kontributor Identitas Terkelola /subscription/subscription-id/resourceGroups/built-in-identity Diperlukan untuk membuat identitas terkelola yang ditetapkan pengguna baru.
PolicyAssigmentMI Akses Administrator Pengguna /subscription/subscription-id/resourceGroups/built-in-identity
ATAU
Bring-your-own-User-assigned-Managed identity
Diperlukan untuk menyetel kunci pada identitas terkelola yang ditetapkan pengguna yang dibuat oleh kebijakan.

Karena objek penetapan kebijakan harus memiliki izin ini sebelumnya, PolicyAssignmentMI tidak dapat menjadi identitas terkelola yang ditetapkan sistem untuk skenario ini. Pengguna yang melakukan tugas penetapan kebijakan harus melakukan pra-otorisasi PolicyAssignmentMI sebelumnya dengan penetapan peran di atas.

Seperti yang Anda lihat, peran hak istimewa terkecil yang dihasilkan adalah "kontributor" pada cakupan langganan.

Masalah umum

Kemungkinan kondisi balapan dengan penyebaran lain yang mengubah identitas yang ditetapkan ke VM dapat menghasilkan hasil yang tidak diharapkan.

Jika ada dua atau lebih penyebaran paralel yang memperbarui mesin virtual yang sama dan semuanya mengubah konfigurasi identitas mesin virtual, maka dimungkinkan, dalam kondisi balapan tertentu, bahwa semua identitas yang diharapkan TIDAK akan ditetapkan ke mesin. Misalnya, jika kebijakan dalam dokumen ini memperbarui identitas terkelola VM dan pada saat yang sama proses lain juga membuat perubahan pada bagian identitas terkelola, maka tidak dijamin bahwa semua identitas yang diharapkan ditetapkan dengan benar ke VM .

Langkah berikutnya