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:

  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. 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.

    Screenshot of the View compliance details link on the Resource compliance tab.

  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 12.0 sementara definisi kebijakan diharapkan 14.0. Jika sumber daya tidak mematuhi beberapa alasan, masing-masing tercantum di panel ini.

    Screenshot of the Compliance details pane and reasons for non-compliance that current value is 12 and target value is 14.

    auditIfNotExists Untuk definisi kebijakan atau deployIfNotExists , 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": {
            ...
          }
        }
      }
    }
    

    Screenshot of Compliance details pane for ifNotExists including evaluated resource count.

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 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 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.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}'. 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.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', 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.

Screenshot of Component Compliance dashboard and compliance details for assignments with a Resource Provider mode.

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.

Screenshot of viewing the auditIfNotExists definition compliance details.

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.

Screenshot of the Guest Assignment compliance details.

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.

Screenshot of the Guest Assignment page.

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. Dari tab Kepatuhan sumber daya pada halaman Kepatuhan kebijakan , pilih sumber daya.

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

    Screenshot of the Change History tab and detected change times on Resource Compliance page.

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

    Screenshot of the Change History Visual Diff of the before and after state of properties on the Change history page.

    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