Efek auditIfNotExists definisi Azure Policy
Efek ini auditIfNotExists
memungkinkan audit sumber daya yang terkait dengan sumber daya yang cocok dengan if
kondisi, tetapi tidak memiliki properti yang ditentukan dalam details
then
kondisi.
Evaluasi AuditIfNotExists
auditIfNotExists
berjalan setelah Penyedia Sumber Daya memproses permintaan buat atau perbarui sumber daya dan mengembalikan kode status keberhasilan. Audit terjadi jika tidak ada sumber daya terkait atau jika sumber daya yang ditentukan oleh ExistenceCondition
tidak dievaluasi ke true. Untuk sumber daya baru dan yang diperbarui, Azure Policy menambahkan operasi Microsoft.Authorization/policies/audit/action
ke log aktivitas dan menandai sumber daya sebagai tidak patuh. Saat dipicu, sumber daya yang memenuhi if
kondisi adalah sumber daya yang ditandai sebagai tidak patuh.
Properti AuditIfNotExists
Properti details
efek AuditIfNotExists memiliki semua subproperti yang menentukan sumber daya terkait yang cocok.
type
(diperlukan)- Menentukan jenis sumber daya terkait yang cocok.
- Jika
type
adalah jenis sumber daya di bawahif
sumber daya kondisi, kebijakan meminta sumber daya initype
dalam cakupan sumber daya yang dievaluasi. Jika tidak, kueri kebijakan dalam grup sumber daya atau langganan yang sama dengan sumber daya yang dievaluasi tergantung padaexistenceScope
.
name
(opsional)- Menentukan nama persis sumber daya yang cocok dan menyebabkan kebijakan mengambil satu sumber daya tertentu, bukan semua sumber daya dari jenis yang ditentukan.
- Ketika nilai kondisi untuk
if.field.type
danthen.details.type
cocok, makaname
menjadi diperlukan dan harus[field('name')]
, atau[field('fullName')]
untuk sumber daya anak. Namun, efek audit harus dipertimbangkan.
Catatan
type
dan name
segmen dapat digabungkan untuk mengambil sumber daya berlapis secara generis.
Untuk mengambil sumber daya tertentu, Anda dapat menggunakan "type": "Microsoft.ExampleProvider/exampleParentType/exampleNestedType"
dan "name": "parentResourceName/nestedResourceName"
.
Untuk mengambil kumpulan sumber daya berlapis, karakter ?
kartubebas dapat disediakan sebagai pengganti segmen nama belakang. Misalnya, "type": "Microsoft.ExampleProvider/exampleParentType/exampleNestedType"
dan "name": "parentResourceName/?"
. Ini dapat dikombinasikan dengan fungsi bidang untuk mengakses sumber daya yang terkait dengan sumber daya yang dievaluasi, seperti "name": "[concat(field('name'), '/?')]"
."
resourceGroupName
(opsional)- Memungkinkan pencocokan sumber daya terkait berasal dari grup sumber daya yang berbeda.
- Tidak berlaku jika
type
adalah sumber daya yang berada di bawahif
sumber daya kondisi. - Defaultnya adalah
if
grup sumber daya sumber daya kondisi.
existenceScope
(opsional)- Nilai yang diperbolehkan adalah Langganan dan ResourceGroup.
- Mengatur lingkup tempat mengambil sumber daya terkait untuk dicocokkan.
- Tidak berlaku jika
type
adalah sumber daya yang berada di bawahif
sumber daya kondisi. - Untuk ResourceGroup, akan membatasi grup sumber daya jika
resourceGroupName
ditentukan. JikaresourceGroupName
tidak ditentukan, akan membatasiif
grup sumber daya sumber daya kondisi, yang merupakan perilaku default. - Untuk Langganan, kueri seluruh langganan untuk sumber daya terkait. Lingkup penetapan harus ditetapkan pada langganan atau yang lebih tinggi untuk evaluasi yang tepat.
- Defaultnya adalah ResourceGroup.
evaluationDelay
(opsional)- Menentukan kapan keberadaan sumber daya terkait harus dievaluasi. Penundaan hanya digunakan untuk evaluasi yang merupakan hasil dari permintaan pembuatan atau pembaruan sumber daya.
- Nilai yang diizinkan adalah
AfterProvisioning
,AfterProvisioningSuccess
,AfterProvisioningFailure
, atau durasi ISO 8601 antara 0 dan 360 menit. - Nilai AfterProvisioning memeriksa hasil provisi sumber daya yang dievaluasi dalam kondisi aturan
if
kebijakan.AfterProvisioning
berjalan setelah provisi selesai, terlepas apapun hasilnya. Provisi yang memakan waktu lebih dari enam jam, diperlakukan sebagai kegagalan saat menentukan penundaan evaluasi AfterProvisioning . - Defaultnya adalah
PT10M
(10 menit). - Menentukan penundaan evaluasi panjang dapat menyebabkan status kepatuhan sumber daya yang direkam tidak diperbarui hingga pemicu evaluasi berikutnya.
existenceCondition
(opsional)- Jika tidak ditentukan, sumber daya
type
terkait memenuhi efek dan tidak memicu audit. - Menggunakan bahasa yang sama dengan aturan kebijakan untuk kondisi tersebut
if
, tetapi dievaluasi terhadap setiap sumber daya terkait satu per satu. - Jika ada sumber daya terkait yang cocok yang dievaluasi ke true, efeknya puas dan tidak memicu audit.
- Dapat menggunakan [field()] untuk memeriksa kesetaraan dengan nilai dalam
if
kondisi. - Misalnya, dapat digunakan untuk memvalidasi bahwa sumber daya induk (dalam
if
kondisi) berada di lokasi sumber daya yang sama dengan sumber daya terkait yang cocok.
- Jika tidak ditentukan, sumber daya
Contoh AuditIfNotExists
Contoh: Mengevaluasi Microsoft Azure Virtual Machines untuk menentukan apakah ekstensi Antimalware ada kemudian mengaudit saat hilang.
{
"if": {
"field": "type",
"equals": "Microsoft.Compute/virtualMachines"
},
"then": {
"effect": "auditIfNotExists",
"details": {
"type": "Microsoft.Compute/virtualMachines/extensions",
"existenceCondition": {
"allOf": [
{
"field": "Microsoft.Compute/virtualMachines/extensions/publisher",
"equals": "Microsoft.Azure.Security"
},
{
"field": "Microsoft.Compute/virtualMachines/extensions/type",
"equals": "IaaSAntimalware"
}
]
}
}
}
}
Langkah berikutnya
- Tinjau sampel pada sampel Azure Policy.
- Tinjau struktur definisi Azure Policy.
- Memahami cara membuat kebijakan secara terprogram.
- Pelajari cara mendapatkan data kepatuhan.
- Pelajari cara memulihkan sumber daya yang tidak sesuai syarat.
- Tinjau grup manajemen Azure.