Efek tolak definisi Azure Policy
Efeknya denyAction
digunakan untuk memblokir permintaan berdasarkan tindakan yang dimaksudkan ke sumber daya dalam skala besar. Satu-satunya tindakan yang didukung hari ini adalah DELETE
. Efek dan nama tindakan ini membantu mencegah penghapusan sumber daya penting yang tidak disengaja.
Evaluasi DenyAction
Saat panggilan permintaan dengan nama tindakan yang berlaku dan cakupan yang ditargetkan dikirimkan, denyAction
mencegah permintaan berhasil. Permintaan dikembalikan sebagai 403 (Forbidden)
. Di portal, Forbidden
dapat dilihat sebagai status penyebaran yang dicegah oleh penetapan kebijakan.
Microsoft.Authorization/policyAssignments
, , Microsoft.Authorization/denyAssignments
Microsoft.Blueprint/blueprintAssignments
, Microsoft.Resources/deploymentStacks
, Microsoft.Resources/subscriptions
, dan Microsoft.Authorization/locks
semuanya dikecualikan dari denyAction
penegakan untuk mencegah skenario penguncian.
Penghapusan langganan
Kebijakan tidak memblokir penghapusan sumber daya yang terjadi selama penghapusan langganan.
Penghapusan grup sumber daya
Kebijakan mengevaluasi sumber daya yang mendukung lokasi dan tag terhadap denyAction
kebijakan selama penghapusan grup sumber daya. Hanya kebijakan yang diatur cascadeBehaviors
ke deny
dalam aturan kebijakan yang memblokir penghapusan grup sumber daya. Kebijakan tidak memblokir penghapusan sumber daya yang tidak mendukung lokasi dan tag atau kebijakan apa pun dengan mode:all
.
Penghapusan kaskade
Penghapusan kaskade terjadi saat menghapus sumber daya induk secara implisit menghapus semua sumber daya anak dan ekstensinya. Kebijakan tidak memblokir penghapusan sumber daya anak dan ekstensi saat tindakan penghapusan menargetkan sumber daya induk. Misalnya, Microsoft.Insights/diagnosticSettings
adalah sumber daya ekstensi dari Microsoft.Storage/storageaccounts
. denyAction
Jika kebijakan menargetkan Microsoft.Insights/diagnosticSettings
, panggilan penghapusan ke pengaturan diagnostik (turunan) gagal, tetapi penghapusan ke akun penyimpanan (induk) secara implisit menghapus pengaturan diagnostik (ekstensi).
Tabel ini menjelaskan apakah sumber daya dilindungi dari penghapusan mengingat sumber daya yang berlaku untuk kebijakan yang denyAction
ditetapkan dan cakupan panggilan yang DELETE
ditargetkan. Dalam konteks tabel ini, sumber daya terindeks adalah sumber daya yang mendukung tag dan lokasi dan sumber daya yang tidak diindeks adalah sumber daya yang tidak mendukung tag atau lokasi. Untuk informasi selengkapnya tentang sumber daya terindeks dan tidak terindeks, buka mode definisi. Sumber daya anak adalah sumber daya yang hanya ada dalam konteks sumber daya lain. Misalnya, sumber daya ekstensi komputer virtual adalah anak dari komputer virtual, yang merupakan sumber daya induk.
Entitas sedang dihapus | Entitas yang berlaku untuk kondisi kebijakan | Tindakan yang diambil |
---|---|---|
Sumber daya | Sumber daya | Protected |
Langganan | Sumber daya | Dihapus |
Grup sumber daya | Sumber daya terindeks | Tergantung pada cascadeBehaviors |
Grup sumber daya | Sumber daya yang tidak diindeks | Dihapus |
Sumber daya anak | Sumber daya induk | Induk dilindungi; anak dihapus |
Sumber daya induk | Sumber daya anak | Dihapus |
Properti DenyAction
Properti details
efek denyAction
memiliki semua subproperti yang menentukan tindakan dan perilaku.
actionNames
(diperlukan)- Array yang menentukan tindakan apa yang harus dicegah untuk dijalankan.
- Nama tindakan yang didukung adalah:
delete
.
cascadeBehaviors
(opsional)- Objek yang menentukan perilaku mana yang diikuti saat sumber daya dihapus secara implisit saat grup sumber daya dihapus.
- Hanya didukung dalam definisi kebijakan dengan mode yang diatur ke
indexed
. - Nilai yang diizinkan adalah:
allow
ataudeny
. - Nilai default
deny
.
Contoh DenyAction
Contoh: Tolak setiap panggilan penghapusan yang menargetkan akun database yang memiliki lingkungan tag yang sama dengan prod. Karena perilaku kaskade diatur ke tolak, blokir panggilan apa pun DELETE
yang menargetkan grup sumber daya dengan akun database yang berlaku.
{
"if": {
"allOf": [
{
"field": "type",
"equals": "Microsoft.DocumentDb/accounts"
},
{
"field": "tags.environment",
"equals": "prod"
}
]
},
"then": {
"effect": "denyAction",
"details": {
"actionNames": [
"delete"
],
"cascadeBehaviors": {
"resourceGroup": "deny"
}
}
}
}
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.