Tentukan penyebab ketidakpatuhan

Saat sumber daya Azure ditentukan tidak mematuhi aturan kebijakan, sangat berguna untuk memahami bagian aturan mana yang tidak mematuhi sumber daya. Ini juga berguna untuk memahami perubahan apa yang mengubah sumber daya yang sebelumnya patuh menjadi 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 cap waktu evaluasi terakhir untuk penetapan kebijakan saat ini
  • Daftar alasan ketidakpatuhan 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 patuh adalah Microsoft.Compute/virtualMachines maka pengguna harus memiliki operasi Microsoft.Compute/virtualMachines/read. Jika pengguna tidak memiliki operasi yang diperlukan, kesalahan akses akan ditampilkan.

Untuk melihat detail kepatuhan, ikuti langkah-langkah berikut:

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

  2. Pada halaman Ikhtisar atau Kepatuhan, pilih kebijakan dalam status kepatuhan yang Tidak Patuh.

  3. Di bawah tab Kepatuhan sumber daya dari halaman Kepatuhan kebijakan, pilih dan tahan (atau klik kanan) atau pilih elipsis sumber daya dalam status kepatuhan yang Tidak mematuhi. Lalu pilih Tampilkan detail kepatuhan.

    Cuplikan layar link 'Tampilkan detail kepatuhan' di tab Kepatuhan sumber daya.

  4. Panel Detail kepatuhan menampilkan informasi dari evaluasi terbaru sumber daya hingga penetapan kebijakan saat ini. Dalam contoh ini, bidang Microsoft.Sql/servers/version ditemukan menjadi 12.0 sementara definisi kebijakan diharapkan 14.0. Jika sumber daya tidak mematuhi beberapa alasan, masing-masing tercantum di panel ini.

    Cuplikan layar panel Detail kepatuhan dan alasan ketidakpatuhan nilai saat ini adalah dua belas dan nilai target adalah empat belas.

    Untuk auditIfNotExists atau deployIfNotExists definisi kebijakan, rincian termasuk 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 deployIfNotExists parsial:

    {
        "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": {
                    ...
                }
            }
        }
    }
    

    Cuplikan layar panel Detail kepatuhan untuk ifNotExists termasuk jumlah sumber daya yang dievaluasi.

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) di bawah ini.

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 alasanmode Resource Manager untuk kondisi yang bertanggung jawab dalam 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 dari jenis yang didefinisikan dalam then.details.type dan terkait dengan sumber daya yang ditentukan di bagian if dari aturan kebijakan tidak ada.

Alasan kepatuhan mode Penyedia Sumber Daya Azure Policy

Tabel berikut memetakan setiap kode alasan Microsoft.PolicyInsightsmode 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}'. Silakan 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}'. Silakan 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}'. Silakan hubungi administrator langganan untuk memperbarui kebijakan.
MissingRegistrationForType MissingRegistrationForResourceType: Langganan tidak terdaftar untuk jenis sumber daya '{ResourceType}'. Harap periksa bahwa 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/?). Harap 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). Harap 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. Mereka 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.Dataalasanmode 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' yang ada, tetapi Gatekeeper belum melakukan audit dalam satu jam terakhir.
ConstraintNotProcessed Tidak ada status dan Gatekeeper belum melakukan audit dalam satu jam terakhir.
InvalidConstraint/Template API Server telah menolak sumber daya karena YAML yang buruk. Alasan ini juga dapat disebabkan oleh ketidakcocokan jenis parameter (contoh: string yang disediakan untuk integer)

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 tugas dengan mode Penyedia Sumber Daya, pilih sumber daya yang tidak patuh untuk membuka tampilan yang lebih dalam. Di bagian tab Kepatuhan Komponen adalah informasi tambahan khusus untuk mode Penyedia Sumber pada kebijakan yang ditetapkan dan menunjukkan KomponenTidak Patuh dan ID Komponen.

Cuplikan layar tab Kepatuhan Komponen dan detail kepatuhan untuk penetapan mode Penyedia Sumber Daya.

Detail kepatuhan untuk konfigurasi tamu

Untuk definisi kebijakan di kategori Konfigurasi Tamu, mungkin ada beberapa pengaturan yang dievaluasi di dalam mesin virtual dan Anda perlu melihat detail per pengaturan. Misalnya, jika Anda mengaudit daftar pengaturan keamanan dan hanya satu yang berstatus Ketidakpatuhan, Anda perlu mengetahui kebijakan pengaturan khusus mana yang tidak mematuhi aturan dan mengapa.

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 di atas untuk menampilkan detail kepatuhan kebijakan.

Dalam tampilan panel Detail kepatuhan, pilih link Sumber daya terakhir yang dievaluasi.

Cuplikan layar melihat detail kepatuhan definisi auditIfNotExists.

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.

Cuplikan layar detail kepatuhan Tugas Tamu.

Menampilkan detail tugas konfigurasi dalam skala besar

Fitur konfigurasi tamu dapat digunakan di luar penugasan Azure Policy. Misalnya, Azure AutoManage membuat tugas konfigurasi tamu, atau Anda mungkin menetapkan konfigurasi saat anda menggunakan mesin.

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 tugas menggunakan tautan di kolom "Nama".

Cuplikan layar halaman Penugasan Tamu.

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.

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

  2. Pada halaman Gambaran Umum atau Kepatuhan, pilih kebijakan dalam status kepatuhan apa pun.

  3. Di bawah tab Kepatuhan sumber daya di halaman Kepatuhan kebijakan, pilih sumber daya.

  4. Pilih tab Ubah Riwayat (pratinjau) di halaman Kepatuhan Sumber Daya. Daftar perubahan yang terdeteksi, jika ada, ditampilkan.

    Cuplikan layar tab Ubah Riwayat dan waktu perubahan yang terdeteksi di halaman Kepatuhan Sumber Daya.

  5. Pilih salah satu perubahan yang terdeteksi. Diff visual untuk sumber daya disajikan di halaman Ubah riwayat.

    Cuplikan layar Visual Diff Ubah Riwayat dari status properti sebelum dan sesudah di halaman Riwayat perubahan.

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