Gunakan Azure Policy untuk menetapkan identitas terkelola (pratinjau)

Overview

Azure Policy membantu menegakkan standar organisasi dan menilai kepatuhan dalam skala besar. Melalui dasbor kepatuhannya, Azure policy menyediakan tampilan agregat yang membantu administrator mengevaluasi status lingkungan secara keseluruhan. Anda memiliki kemampuan untuk menelusuri per sumber daya, per kebijakan secara mendetail. 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.

Meskipun memungkinkan untuk menggunakan identitas terkelola yang ditetapkan oleh sistem, ketika digunakan dalam skala besar (misalnya, untuk semua VM dalam langganan), hal ini menghasilkan sejumlah besar identitas yang dibuat (dan dihapus) dalam Microsoft Entra ID. Untuk menghindari pergantian identitas yang sering terjadi, gunakan identitas terkelola yang ditugaskan kepada pengguna. Mereka dapat dibuat sekali dan dibagikan di beberapa VM.

Definisi dan detail kebijakan

Ketika dijalankan, kebijakan mengambil tindakan berikut:

  1. Buat identitas terkelola bawaan yang ditetapkan pengguna baru (jika tidak ada) dalam langganan. Identitas dibuat di setiap wilayah Azure berdasarkan VM yang berada dalam cakupan kebijakan.
  2. Kunci identitas terkelola yang ditetapkan pengguna untuk mencegah penghapusan yang tidak disengaja.
  3. Tetapkan identitas terkelola bawaan yang ditetapkan pengguna ke komputer virtual dari langganan dan wilayah berdasarkan VM yang berada dalam cakupan kebijakan.

Catatan

Jika komputer virtual sudah memiliki tepat satu identitas terkelola pengguna yang ditetapkan, kebijakan akan melewati penetapan identitas bawaan ke VM tersebut. Perilaku ini memastikan bahwa penetapan kebijakan tidak merusak aplikasi yang bergantung pada perilaku default titik akhir token pada Azure Instance Metadata Service (IMDS).

Ada dua skenario untuk menggunakan kebijakan:

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

Kebijakan ini mengambil parameter input berikut:

  • Bawa UAMI Anda Sendiri? - Haruskah kebijakan membuat identitas terkelola baru yang ditetapkan pengguna jika tidak ada?
    • Jika diatur ke nilai benar, Anda perlu menentukan:
      • Nama identitas terkelola.
      • Grup sumber daya yang berisi identitas terkelola.
    • Jika diatur ke false, tidak ada lagi input yang diperlukan.
      • Kebijakan ini membuat identitas terkelola yang ditetapkan pengguna yang diperlukan yang disebut built-in-identity dalam grup sumber daya yang disebut built-in-identity-rg.
  • Membatasi Bawa-Perangkat-UAMI-Anda-Ke-Berlangganan? - Ketika parameter Bring-Your-Own-UAMI diatur ke true, haruskah kebijakan menggunakan identitas terkelola yang ditetapkan pengguna terpusat atau menggunakan identitas untuk setiap langganan?
    • Jika diatur ke true, tidak ada lagi input yang diperlukan.
      • Kebijakan ini menggunakan identitas terkelola yang ditetapkan pengguna per langganan.
    • Jika disetel ke false, kebijakan menggunakan satu identitas terkelola yang ditugaskan pengguna secara terpusat dan diterapkan di semua langganan yang dicakup oleh penetapan kebijakan. Anda harus menentukan:
      • ID Sumber Daya Identitas Terkelola yang Ditetapkan Pengguna

Menggunakan kebijakan

Membuat penetapan kebijakan

Definisi kebijakan dapat ditetapkan ke cakupan yang berbeda dalam Azure - di grup manajemen, langganan, atau grup sumber daya tertentu. Karena kebijakan harus diberlakukan terus menerus, operasi penugasan menggunakan identitas terkelola yang terkait dengan objek penetapan kebijakan. Objek penetapan kebijakan mendukung identitas terkelola yang ditetapkan sistem dan ditetapkan pengguna. Misalnya, Anda dapat membuat identitas terkelola yang ditetapkan pengguna yang disebut PolicyAssignmentMI. Kebijakan bawaan membuat identitas terkelola yang ditetapkan oleh 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 ID sumber daya berikut:

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

Contohnya:

/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeee4e4e4e4e/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
KebijakanPenugasan MI Pengelola Identitas Terkelola /subscription/subscription-id/resourceGroups/built-in-identity
ATAU
Bawa-identitas yang dikelola-sendiri-oleh-pengguna
Diperlukan untuk menetapkan identitas bawaan ke VM.
KebijakanPenugasan MI Kontributor /langganan/subscribe-id> Diperlukan untuk membuat grup sumber daya yang menyimpan identitas terkelola bawaan dalam langganan.
PenugasanKebijakanMI Kontributor Identitas Terkelola /subscription/subscription-id/resourceGroups/built-in-identity Diperlukan untuk membuat identitas terkelola pengguna yang baru.
Penugasan Kebijakan MI Administrator Akses Pengguna /subscription/subscription-id/resourceGroups/built-in-identity
ATAU
Bawa-identitas yang dikelola-sendiri-oleh-pengguna
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 dengan penetapan peran yang ditunjukkan dalam tabel sebelumnya.

Peran hak istimewa terkecil yang diperlukan dihasilkan Contributor pada lingkup langganan.

Masalah umum

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

Dalam kondisi lomba tertentu, ketika dua atau lebih penyebaran paralel memperbarui mesin virtual yang sama dan semuanya mengubah konfigurasi identitas mesin virtual, seluruh identitas yang diharapkan mungkin tidak ditetapkan ke mesin tersebut.

Misalnya, kebijakan dalam dokumen ini mungkin memperbarui identitas terkelola VM sementara proses lain mengubah bagian identitas terkelola secara bersamaan. Dalam hal ini, VM tidak dijamin memiliki semua identitas yang diharapkan ditetapkan dengan benar.

Langkah berikutnya