Remediasi sumber daya yang tidak mematuhi Azure Policy

Sumber daya yang tidak mematuhi kebijakan dengan efek deployIfNotExists atau modify dapat dimasukkan ke status patuh melalui Remediasi. Remediasi dilakukan melalui tugas remediasi yang menyebarkan template deployIfNotExists atau operasi modify dari kebijakan yang ditetapkan pada sumber daya dan langganan Anda yang ada, baik penetapan tersebut pada grup manajemen, langganan, grup sumber daya, atau sumber daya individu. Artikel ini memperlihatkan langkah-langkah yang diperlukan untuk memahami dan menyelesaikan remediasi dengan Azure Policy.

Cara kerja kontrol akses remediasi

Saat Azure Policy memulai penyebaran template saat mengevaluasi kebijakan deployIfNotExists atau mengubah sumber daya saat mengevaluasi kebijakan ubah, Azure Policy akan melakukannya menggunakan identitas terkelola yang terkait dengan penetapan kebijakan. Penetapan kebijakan menggunakan identitas terkelola untuk otorisasi sumber daya Azure. Anda dapat menggunakan identitas terkelola yang ditetapkan sistem yang dibuat oleh layanan kebijakan atau identitas yang ditetapkan pengguna, yang disediakan oleh pengguna. Identitas terkelola perlu diberi peran kontrol akses berbasis peran (RBAC) minimum yang diperlukan untuk memulihkan sumber daya. Jika identitas terkelola tidak memiliki peran, kesalahan ditampilkan di portal selama penetapan kebijakan atau inisiatif. Saat menggunakan portal, Azure Policy secara otomatis memberikan identitas terkelola peran yang tercantum setelah tugas dimulai. Saat menggunakan kit pengembangan perangkat lunak (SDK) Azure, peran harus diberikan secara manual ke identitas terkelola. Lokasi identitas terkelola tidak memengaruhi operasinya dengan Azure Policy.

Catatan

Mengubah definisi kebijakan tidak secara otomatis memperbarui penetapan atau identitas terkelola terkait.

Keamanan remediasi dapat dikonfigurasi melalui langkah-langkah berikut:

Mengonfigurasi definisi kebijakan

Sebagai prasyarat, definisi kebijakan harus menentukan peran yang diperlukan deployIfNotExists dan modify agar berhasil menerapkan konten template yang disertakan. Tidak ada tindakan yang diperlukan untuk definisi kebijakan bawaan karena peran ini sudah yang diisi sebelumnya. Untuk definisi kebijakan kustom, di bagian properti detail, tambahkan properti roleDefinitionIds. Properti ini adalah serangkaian string yang cocok dengan peran di lingkungan Anda. Untuk contoh lengkap, lihat contoh deployIfNotExists atau contoh modifikasi.

"details": {
    ...
    "roleDefinitionIds": [
        "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleDefinitions/{roleGUID}",
        "/providers/Microsoft.Authorization/roleDefinitions/{builtinroleGUID}"
    ]
}

Properti roleDefinitionIds menggunakan pengidentifikasi sumber daya penuh dan tidak mengambil roleName pendek dari peran tersebut. Untuk mendapatkan ID untuk peran 'Kontributor' di lingkungan Anda, gunakan kode Azure CLI berikut:

az role definition list --name "Contributor"

Penting

Izin harus dibatasi pada set sekecil mungkin saat menentukan roleDefinitionIds dalam definisi kebijakan atau menetapkan izin ke identitas terkelola secara manual. Lihat rekomendasi praktik terbaik identitas terkelola untuk praktik terbaik lainnya.

Mengonfigurasi identitas terkelola

Setiap penugasan Azure Policy hanya dapat dikaitkan dengan satu identitas terkelola. Namun, identitas terkelola dapat diberi beberapa peran. Konfigurasi dapat dilakukan dalam dua langkah: pertama buat identitas terkelola yang ditetapkan sistem atau yang ditetapkan pengguna, lalu berikan peran yang diperlukan.

Catatan

Saat membuat identitas terkelola melalui portal, peran akan diberikan secara otomatis ke identitas terkelola. Jika roleDefinitionIds kemudian diedit dalam definisi kebijakan, izin baru harus diberikan secara manual, bahkan di portal.

Buat identitas terkelola

Saat membuat tugas menggunakan portal, Azure Policy dapat membuat identitas terkelola yang ditetapkan sistem dan memberinya peran yang ditentukan dalam roleDefinitionIds definisi kebijakan. Atau, Anda dapat menentukan identitas terkelola yang ditetapkan pengguna yang menerima penetapan peran yang sama.

Screenshot of a policy assignment creating a system-assigned managed identity in East US with Log Analytics Contributor permissions.

Untuk mengatur identitas terkelola yang ditetapkan sistem di portal:

  1. Pada tab Remediasi tampilan buat/edit penugasan, di bagian Jenis Identitas Terkelola, pastikan Identitas terkelola yang ditetapkan sistem dipilih.

  2. Tentukan lokasi tempat identitas terkelola akan diletakkan.

  3. Jangan menetapkan cakupan untuk identitas terkelola yang ditetapkan sistem karena cakupan akan diwariskan dari cakupan penugasan.

Untuk mengatur identitas terkelola yang ditetapkan pengguna di portal:

  1. Pada tab Remediasi tampilan buat/edit penugasan, di bagian Jenis Identitas Terkelola, pastikan Identitas terkelola yang ditetapkan pengguna dipilih.

  2. Tentukan cakupan tempat identitas terkelola di-hosting. Cakupan identitas terkelola tidak harus sama dengan cakupan penugasan, tetapi harus berada di penyewa yang sama.

  3. Di bagian Identitas yang ditetapkan pengguna yang ada, pilih identitas terkelola.

Memberikan izin ke identitas terkelola melalui peran yang ditentukan

Penting

Jika identitas terkelola tidak memiliki izin yang diperlukan untuk menjalankan tugas remediasi yang diperlukan, identitas terkelola tersebut akan diberikan izin secara otomatis hanya melalui portal. Anda dapat melewati langkah ini jika membuat identitas terkelola melalui portal.

Untuk semua metode lain, identitas terkelola tugas harus diberikan akses secara manual melalui penambahan peran, atau penyebaran remediasi akan gagal.

Contoh skenario yang memerlukan izin manual:

  • Jika penugasan dibuat melalui sebuah kit pengembangan perangkat lunak Azure (SDK)
  • Jika sumber daya yang dimodifikasi oleh deployIfNotExists atau modifikasi berada di luar lingkup penetapan penugasan
  • Jika templat mengakses properti pada sumber daya di luar lingkup penugasan kebijakan

Ada dua cara untuk memberikan identitas terkelola tugas dengan peran yang ditentukan menggunakan portal: dengan menggunakan Kontrol akses (IAM) atau dengan mengedit penetapan kebijakan atau inisiatif dan memilih Simpan.

Untuk menambahkan peran ke identitas terkelola tugas, ikuti langkah-langkah berikut:

  1. Luncurkan layanan Azure Policy di portal Microsoft Azure dengan memilih Semua layanan, lalu cari dan pilih Kebijakan.

  2. Pilih Penugasan di sisi kiri halaman Azure Policy.

  3. Temukan tugas yang memiliki identitas terkelola dan pilih nama.

  4. Temukan properti ID Tugas di halaman edit. ID penugasan akan menjadi sesuatu seperti:

    /subscriptions/{subscriptionId}/resourceGroups/PolicyTarget/providers/Microsoft.Authorization/policyAssignments/2802056bfc094dfb95d4d7a5
    

    Nama identitas terkelola adalah bagian terakhir dari ID sumber daya penugasan, yang ada 2802056bfc094dfb95d4d7a5 dalam contoh ini. Salin bagian ID sumber daya penugasan ini.

  5. Navigasi ke sumber daya atau wadah induk sumber daya (grup sumber daya, langganan, grup manajemen) yang memerlukan definisi peran ditambahkan secara manual.

  6. Pilih link Kontrol akses (IAM) di halaman sumber daya lalu pilih + Tambahkan penetapan peran di bagian atas halaman kontrol akses.

  7. Pilih peran yang sesuai yang cocok dengan roleDefinitionId dari definisi kebijakan. Biarkan Tetapkan akses untuk mengatur ke default 'Pengguna Azure Active Directory, grup, atau aplikasi'. Dalam kotak Pilih, tempelkan atau ketik bagian ID sumber daya penugasan yang terletak sebelumnya. Setelah pencarian selesai, pilih objek dengan nama yang sama untuk memilih ID dan pilih Simpan.

Buat tugas remediasi

Luncurkan layanan Azure Policy di portal Microsoft Azure dengan memilih Semua layanan, lalu cari dan pilih Kebijakan.

Screenshot of searching for Policy in All Services.

Langkah 1: Memulai penyusunan tugas remediasi

Ada tiga cara untuk membuat tugas remediasi melalui portal.

Opsi 1: Buat tugas remediasi dari halaman Remediasi

  1. Pilih Remediasi di sisi kiri halaman Azure Policy.

    Screenshot of the Remediation node on the Policy page.

  2. Semua penetapan kebijakan deployIfNotExists dan modify ditampilkan di tab Policies to remediate. Pilih satu dengan sumber daya yang tidak sesuai untuk membuka halaman Tugas remediasi baru.

  3. Ikuti langkah-langkah untuk menentukan detail tugas remediasi.

Opsi 2: Buat tugas remediasi dari penetapan kebijakan yang tidak sesuai

  1. Pilih Kepatuhan di sisi kiri halaman Azure Policy.

  2. Pilih kebijakan yang tidak sesuai atau penetapan inisiatif yang berisi efek deployIfNotExists atau modify.

  3. Pilih tombol Buat Tugas Remediasi di bagian atas halaman untuk membuka halaman Tugas remediasi baru.

  4. Ikuti langkah-langkah untuk menentukan detail tugas remediasi.

Opsi 3: Buat tugas remediasi selama penetapan kebijakan

Jika definisi kebijakan atau inisiatif yang akan ditetapkan memiliki efek deployIfNotExists atau Modify, tab Remediasi pada wizard menawarkan Buat tugas remediasi, yang membuat tugas remediasi pada saat yang sama dengan penetapan kebijakan.

Catatan

Ini adalah pendekatan yang paling efisien untuk membuat tugas remediasi dan didukung untuk kebijakan yang ditetapkan pada langganan. Untuk kebijakan yang ditetapkan pada grup manajemen, tugas remediasi harus dibuat menggunakan Opsi 1 atau Opsi 2 setelah evaluasi menentukan kepatuhan sumber daya.

  1. Dari wizard tugas di portal, navigasikan ke tab Remediasi. Pilih kotak centang untuk Buat tugas remediasi.

  2. Jika tugas remediasi dimulai dari tugas inisiatif, pilih kebijakan untuk memulihkan dari dropdown.

  3. Konfigurasikan identitas terkelola dan isi wizard lainnya. Tugas remediasi akan dibuat saat tugas dibuat.

Langkah 2: Tentukan detail tugas remediasi

Langkah ini hanya berlaku saat menggunakan Opsi 1 atau Opsi 2 untuk memulai penyusunan tugas remediasi.

  1. Jika tugas remediasi dimulai dari tugas inisiatif, pilih kebijakan untuk memulihkan dari dropdown. Satu kebijakan deployIfNotExists atau modify dapat diperbaiki melalui satu tugas Remediasi dalam satu waktu.

  2. Secara opsional ubah pengaturan remediasi pada halaman. Untuk informasi tentang apa yang dikontrol setiap pengaturan, lihat struktur tugas remediasi.

  3. Di halaman yang sama, filter sumber daya yang akan dipulihkan dengan menggunakan Cakupan elipsis untuk memilih sumber daya turunan dari tempat kebijakan ditetapkan (termasuk ke objek sumber daya individu). Selain itu, gunakan daftar turun bawah Lokasi untuk memfilter sumber daya lebih lanjut.

    Screenshot of the Remediate node and the grid of resources to remediate.

  4. Mulai tugas remediasi setelah sumber daya difilter dengan memilih Remediate. Halaman kepatuhan kebijakan terbuka ke tab Tugas remediasi untuk memperlihatkan status kemajuan tugas. Penyebaran yang dibuat oleh tugas remediasi segera dimulai.

    Screenshot of the Remediation tasks tab and progress of existing remediation tasks.

Langkah 3: Lacak progres tugas remediasi

  1. Navigasikan ke tab Tugas remediasi pada halaman Remediasi. Klik tugas remediasi untuk melihat detail tentang pemfilteran yang digunakan, status saat ini, dan daftar sumber daya yang sedang diperbaiki.

  2. Dari halaman detail Tugas remediasi, klik kanan sumber daya untuk melihat penyebaran tugas remediasi atau sumber daya. Di akhir baris, pilih Peristiwa terkait untuk melihat detail seperti pesan kesalahan.

    Screenshot of the context menu for a resource on the Remediate task tab.

Sumber daya yang diterapkan melalui tugas remediasi ditambahkan ke tab Sumber Daya yang Diterapkan pada halaman detail penetapan kebijakan.

Langkah berikutnya