Tentukan penyebab ketidakpatuhan
Saat sumber daya Azure ditentukan tidak mematuhi aturan kebijakan, sangat berguna untuk memahami bagian aturan mana yang tidak mematuhi sumber daya. Juga berguna untuk memahami perubahan mana yang mengubah sumber daya yang sebelumnya sesuai untuk membuatnya tidak patuh. Ada dua cara untuk menemukan informasi ini:
Detail kepatuhan
Saat sumber daya tidak patuh, detail kepatuhan untuk sumber daya tersebut tersedia dari halaman Kepatuhan kebijakan. Panel detail kepatuhan menyertakan informasi berikut ini:
- Detail sumber daya seperti nama, jenis, lokasi, dan ID sumber daya.
- Status kepatuhan dan tanda waktu evaluasi terakhir untuk penetapan kebijakan saat ini.
- Daftar alasan ketidakpatuh sumber daya.
Penting
Sebagai detail kepatuhan untuk sumber daya yang tidak mematuhi menunjukkan nilai properti saat ini pada sumber daya tersebut, pengguna harus memiliki operasi baca ke jenis sumber daya. Misalnya, jika sumber daya yang tidak sesuai adalah Microsoft.Compute/virtualMachines
maka pengguna harus memiliki Microsoft.Compute/virtualMachines/read
operasi. Jika pengguna tidak memiliki operasi yang diperlukan, kesalahan akses akan ditampilkan.
Untuk melihat detail kepatuhan, ikuti langkah-langkah berikut:
Luncurkan layanan Azure Policy di portal Microsoft Azure dengan memilih Semua layanan, lalu cari dan pilih Kebijakan.
Pada halaman Ikhtisar atau Kepatuhan, pilih kebijakan dalam status kepatuhan yang Tidak Patuh.
Dari tab Kepatuhan sumber daya pada halaman Kepatuhan kebijakan , pilih dan tahan (atau klik kanan) atau pilih elipsis sumber daya dalam status kepatuhan yang Tidak patuh. Lalu pilih Tampilkan detail kepatuhan.
Panel Detail kepatuhan menampilkan informasi dari evaluasi terbaru sumber daya hingga penetapan kebijakan saat ini. Dalam contoh ini, bidang
Microsoft.Sql/servers/version
ditemukan 12.0 sementara definisi kebijakan diharapkan 14.0. Jika sumber daya tidak mematuhi beberapa alasan, masing-masing tercantum di panel ini.auditIfNotExists
Untuk definisi kebijakan ataudeployIfNotExists
, detailnya mencakup properti details.type dan properti opsional apa pun. Untuk daftar, lihat properti auditIfNotExists dan properti deployIfNotExists. Sumber daya terakhir yang dievaluasi adalah sumber daya terkait dari bagian detail definisi.Contoh definisi parsial
deployIfNotExists
:{ "if": { "field": "type", "equals": "[parameters('resourceType')]" }, "then": { "effect": "deployIfNotExists", "details": { "type": "Microsoft.Insights/metricAlerts", "existenceCondition": { "field": "name", "equals": "[concat(parameters('alertNamePrefix'), '-', resourcegroup().name, '-', field('name'))]" }, "existenceScope": "subscription", "deployment": { ... } } } }
Catatan
Untuk melindungi data, saat nilai properti adalah rahasia, nilai saat ini menampilkan tanda bintang.
Detail ini menjelaskan mengapa sumber daya saat ini tidak mematuhi, tetapi jangan menunjukkan kapan perubahan dilakukan pada sumber daya yang menyebabkannya menjadi tidak patuh. Untuk informasi tersebut, lihat Mengubah riwayat (Pratinjau).
Alasan kepatuhan
Mode Resource Manager dan mode Penyedia Sumber Daya masing-masing memiliki alasan yang berbeda untuk ketidakpatuhan.
Alasan kepatuhan mode Azure Resource Manager Umum
Tabel berikut memetakan setiap alasan mode Azure Resource Manager yang mungkin untuk kondisi yang bertanggung jawabdalam definisi kebijakan:
Alasan | Kondisi |
---|---|
Nilai saat ini harus berisi nilai target sebagai kunci. | containsKey atau tidak notContainsKey |
Nilai saat ini harus berisi nilai target. | contains atau tidak notContains |
Nilai saat ini harus sama dengan nilai target. | equals atau tidak notEquals |
Nilai saat ini harus lebih kecil dari nilai target. | less atau tidak greaterOrEquals |
Nilai saat ini harus lebih besar dari atau sama dengan nilai target. | greaterOrEquals atau tidak less |
Nilai saat ini harus lebih besar dari nilai target. | greater atau tidak lessOrEquals |
Nilai saat ini harus lebih kecil dari atau sama dengan nilai target. | lessOrEquals atau tidak lebih besar |
Nilai saat ini harus ada. | ada |
Nilai saat ini harus berada dalam nilai target. | in atau tidak notIn |
Nilai saat ini harus seperti nilai target. | like atau tidak notlike |
Nilai saat ini harus peka huruf besar/kecil yang cocok dengan nilai target. | match atau tidak notMatch |
Nilai saat ini harus tidak peka huruf besar/kecil yang cocok dengan nilai target. | matchInsensitively atau tidak notMatchInsensitively |
Nilai saat ini tidak boleh berisi nilai target sebagai kunci. | containsKey atau tidak notContainsKey |
Nilai saat ini tidak boleh berisi nilai target. | contains atau tidak notContains |
Nilai saat ini tidak boleh sama dengan nilai target. | equals atau tidak notEquals |
Nilai saat ini tidak boleh ada. | tidak ada |
Nilai saat ini tidak boleh dalam nilai target. | notIn atau tidak in |
Nilai saat ini tidak boleh seperti nilai target. | notLike atau tidak like |
Nilai saat ini tidak boleh peka huruf besar/kecil yang cocok dengan nilai target. | match atau tidak notMatch |
Nilai saat ini tidak boleh tidak peka huruf besar/kecil yang cocok dengan nilai target. | matchInsensitively atau tidak notMatchInsensitively |
Tidak ada sumber daya terkait yang cocok dengan detail efek dalam definisi kebijakan. | Sumber daya jenis yang ditentukan dan then.details.type terkait dengan sumber daya yang ditentukan dalam bagian jika aturan kebijakan tidak ada. |
Alasan kepatuhan mode Penyedia Sumber Daya Azure Policy
Tabel berikut memetakan setiap kode alasan Microsoft.PolicyInsights
mode Penyedia Sumber Daya ke penjelasan terkait:
Kode alasan kepatuhan | Pesan kesalahan dan penjelasan |
---|---|
NonModifiablePolicyAlias | NonModifiableAliasConflict: Alias '{alias}' tidak dapat dimodifikasi dalam permintaan menggunakan versi API '{apiVersion}'. Kesalahan ini terjadi ketika permintaan menggunakan versi API di mana alias tidak mendukung efek 'modifikasi' atau hanya mendukung efek 'modifikasi' dengan jenis token yang berbeda. |
AppendPoliciesNotApplicable | AppendPoliciesUnableToAppend: Alias: '{ alias }' tidak dapat dimodifikasi dalam permintaan menggunakan versi API: '{ apiVersion }'. Ini dapat terjadi dalam permintaan menggunakan versi API yang aliasnya tidak mendukung efek 'modifikasi', atau mendukung efek 'modifikasi' dengan jenis token yang berbeda. |
ConflictingAppendPolicies | ConflictingAppendPolicies: Menemukan penetapan kebijakan yang bertentangan yang mengubah bidang '{notApplicableFields}'. Pengidentifikasi kebijakan: '{policy}'. Hubungi administrator langganan untuk memperbarui penetapan kebijakan. |
AppendPoliciesFieldsExist | AppendPoliciesFieldsExistWithDifferentValues: Penetapan kebijakan mencoba menambahkan bidang yang sudah ada dalam permintaan dengan nilai yang berbeda. Bidang: '{existingFields}'. Pengidentifikasi kebijakan: '{policy}'. Hubungi administrator langganan untuk memperbarui kebijakan. |
AppendPoliciesUndefinedFields | AppendPoliciesUndefinedFields: Menemukan definisi kebijakan yang merujuk ke properti bidang yang tidak terdefinisi untuk versi API '{apiVersion}'. Bidang: '{nonExistingFields}'. Pengidentifikasi kebijakan: '{policy}'. Hubungi administrator langganan untuk memperbarui kebijakan. |
MissingRegistrationForType | MissingRegistrationForResourceType: Langganan tidak terdaftar untuk jenis sumber daya '{ResourceType}'. Periksa apakah jenis sumber daya ada dan jenis sumber daya terdaftar. |
AmbiguousPolicyEvaluationPaths | Konten permintaan memiliki satu atau lebih jalur ambigu: '{0}' yang diperlukan oleh kebijakan: '{1}'. |
InvalidResourceNameWildcardPosition | Penetapan kebijakan '{0}' yang terkait dengan definisi kebijakan '{1}' tidak dapat dievaluasi. Nama sumber daya '{2}' dalam kondisi ifNotExists berisi karakter '?' wildcard dalam posisi yang tidak valid. Wildcard hanya dapat ditemukan di akhir nama dalam segmen dan berdiri sendiri (misalnya TopLevelResourceName/?). Perbaiki kebijakan atau hapus penetapan kebijakan untuk membuka blokir. |
TooManyResourceNameSegments | Penetapan kebijakan '{0}' yang terkait dengan definisi kebijakan '{1}' tidak dapat dievaluasi. Nama sumber daya '{2}' dalam kondisi ifNotExists berisi terlalu banyak segmen nama. Jumlah segmen nama harus sama dengan atau kurang dari jumlah segmen jenis (terkecuali namespace layanan penyedia sumber daya). Perbaiki definisi kebijakan atau hapus penetapan kebijakan untuk membuka blokir. |
InvalidPolicyFieldPath | Jalur bidang '{0}' dalam definisi kebijakan tidak valid. Jalur bidang tidak boleh berisi segmen kosong. Karakter tersebut mungkin hanya berisi karakter alfanumerik dengan pengecualian karakter '.' untuk memisahkan segmen dan urutan karakter '[*]' untuk mengakses properti array. |
Alasan kepatuhan mode Penyedia Sumber Daya AKS
Tabel berikut memetakan setiap Microsoft.Kubernetes.Data
alasan mode Penyedia Sumber ke status template batasan yang bertanggung jawab dalam definisi kebijakan:
Alasan | Deskripsi alasan template batasan |
---|---|
Batasan/TemplateCreateFailed | Sumber daya gagal membuat definisi kebijakan dengan Batasan/Template yang tidak cocok dengan Batasan/Template yang ada pada kluster menurut nama metadata sumber daya. |
Batasan/TemplateUpdateFailed | Batasan/Template gagal untuk memperbarui definisi kebijakan dengan Batasan/Template yang tidak cocok dengan Batasan/Template yang ada pada kluster menurut nama metadata sumber daya. |
Batasan/TemplateInstallFailed | Batasan/Template gagal dibangun dan tidak dapat dipasang pada klaster untuk membuat atau memperbarui operasi. |
ConstraintTemplateConflicts | Template memiliki konflik dengan satu atau lebih definisi kebijakan menggunakan nama Template yang sama dengan sumber yang berbeda. |
ConstraintStatusStale | Ada status 'Audit', tetapi Gatekeeper belum melakukan audit dalam satu jam terakhir. |
ConstraintNotProcessed | Tidak ada status dan Gatekeeper belum melakukan audit dalam satu jam terakhir. |
InvalidConstraint/Template | Sumber daya ditolak karena salah satu alasan berikut: konten Rego templat batasan yang tidak valid, YAML yang tidak valid, atau jenis parameter tidak cocok antara templat batasan dan batasan (memberikan nilai string saat bilangan bulat diharapkan). |
Catatan
Untuk penugasan kebijakan yang ada dan template batasan yang sudah ada di kluster, jika Batasan/Template itu gagal, kluster dilindungi dengan mempertahankan Batasan /Template yang ada. Kluster melaporkan sebagai ketidakpatuhan sampai kegagalan diselesaikan pada penugasan kebijakan atau add-on self-heals. Untuk informasi selengkapnya tentang penanganan konflik, lihat konflik template Batasan.
Detail komponen untuk mode Penyedia Sumber Daya
Untuk penugasan dengan mode Penyedia Sumber Daya, pilih sumber daya yang tidak patuh untuk melihat rekaman kepatuhan komponennya. Tab Kepatuhan Komponen memperlihatkan informasi selengkapnya khusus untuk mode Penyedia Sumber Daya seperti Nama Komponen, ID Komponen, dan Jenis.
Detail kepatuhan untuk konfigurasi tamu
Untuk definisi kebijakan dalam kategori Konfigurasi Tamu, mungkin ada beberapa pengaturan yang dievaluasi di dalam komputer virtual dan Anda perlu melihat detail per pengaturan. Misalnya, jika Anda mengaudit daftar pengaturan keamanan dan hanya salah satunya yang memiliki status Tidak patuh, Anda perlu mengetahui pengaturan spesifik mana yang tidak sesuai dan alasannya.
Anda juga mungkin tidak memiliki akses untuk masuk ke mesin virtual secara langsung tetapi Anda perlu melaporkan mengapa mesin virtual tidak patuh.
Portal Azure
Mulailah dengan mengikuti langkah-langkah yang sama di bagian Detail kepatuhan untuk melihat detail kepatuhan kebijakan.
Dalam tampilan panel Detail kepatuhan, pilih link Sumber daya terakhir yang dievaluasi.
Halaman Penugasan Tamu menampilkan semua detail kepatuhan yang tersedia. Setiap baris dalam tampilan mewakili evaluasi yang dilakukan di dalam mesin. Di kolom Alasan, frasa diperlihatkan yang menjelaskan mengapa Penugasan Tamu tidak patuh. Misalnya, jika Anda mengaudit kebijakan kata sandi, kolom Alasan akan menampilkan teks termasuk nilai saat ini untuk setiap pengaturan.
Menampilkan detail tugas konfigurasi dalam skala besar
Fitur konfigurasi tamu dapat digunakan di luar penugasan Azure Policy. Misalnya, Azure Automanage membuat penetapan konfigurasi tamu, atau Anda mungkin menetapkan konfigurasi saat Anda menyebarkan komputer.
Untuk melihat semua penugasan konfigurasi tamu di seluruh penyewa Anda, dari portal Microsoft Azure buka halaman Penugasan Tamu. Untuk melihat informasi kepatuhan terperinci, pilih setiap penugasan menggunakan tautan di kolom Nama.
Riwayat perubahan (Pratinjau)
Sebagai bagian dari pratinjau publik baru, riwayat perubahan 14 hari terakhir tersedia untuk semua sumber daya Azure yang mendukung penghapusan mode lengkap. Riwayat perubahan menyediakan detail tentang kapan perubahan terdeteksi dan diff visual untuk setiap perubahan. Deteksi perubahan dipicu saat properti Azure Resource Manager ditambahkan, dihapus, atau diubah.
Luncurkan layanan Azure Policy di portal Microsoft Azure dengan memilih Semua layanan, lalu cari dan pilih Kebijakan.
Pada halaman Gambaran Umum atau Kepatuhan, pilih kebijakan dalam status kepatuhan apa pun.
Dari tab Kepatuhan sumber daya pada halaman Kepatuhan kebijakan , pilih sumber daya.
Pilih tab Ubah Riwayat (pratinjau) di halaman Kepatuhan Sumber Daya. Daftar perubahan yang terdeteksi, jika ada, ditampilkan.
Pilih salah satu perubahan yang terdeteksi. Diff visual untuk sumber daya disajikan di halaman Ubah riwayat.
Visual diff membantu dalam mengidentifikasi perubahan pada sumber daya. Perubahan yang terdeteksi mungkin tidak terkait dengan status kepatuhan sumber daya saat ini.
Data riwayat perubahan disediakan oleh Azure Resource Graph. Untuk mengkueri informasi ini di luar portal Microsoft Azure, lihat Dapatkan perubahan sumber daya.
Langkah berikutnya
- Tinjau sampel pada sampel Azure Policy.
- Tinjau struktur definisi Azure Policy.
- Tinjau Memahami efek kebijakan.
- Memahami cara membuat kebijakan secara terprogram.
- Pelajari cara mendapatkan data kepatuhan.
- Pelajari cara memulihkan sumber daya yang tidak sesuai syarat.
- Tinjau apa itu grup manajemen Atur sumber daya Anda dengan grup manajemen Azure.