Efek audit definisi Azure Policy
Efek audit
ini digunakan untuk membuat peristiwa peringatan di log aktivitas saat mengevaluasi sumber daya yang tidak sesuai, tetapi tidak menghentikan permintaan.
Evaluasi audit
Audit adalah efek terakhir yang dicentang oleh Azure Policy selama pembuatan atau pembaruan sumber daya. Untuk mode Azure Resource Manager, Azure Policy kemudian mengirim sumber daya ke Resource Provider. Saat mengevaluasi permintaan buat atau perbarui sumber daya, Azure Policy menambahkan operasi Microsoft.Authorization/policies/audit/action
ke log aktivitas dan menandai sumber daya sebagai tidak patuh. Selama siklus evaluasi kepatuhan standar, hanya status kepatuhan pada sumber daya yang diperbarui.
Properti audit
Untuk mode Resource Manager, efek audit tidak memiliki properti lain untuk digunakan dalam then
kondisi definisi kebijakan.
Untuk mode Microsoft.Kubernetes.Data
Penyedia Sumber Daya , efek audit memiliki subproperti berikut dari details
. Penggunaan templateInfo
diperlukan untuk definisi kebijakan baru atau yang diperbarui karena constraintTemplate
sudah tidak digunakan lagi.
templateInfo
(diperlukan)- Tidak dapat digunakan dengan
constraintTemplate
. sourceType
(diperlukan)Mendefinisikan jenis sumber untuk templat batasan. Nilai yang diizinkan:
PublicURL
atauBase64Encoded
.Jika
PublicURL
, dipasangkan dengan propertiurl
untuk menyediakan lokasi templat batasan. Lokasi harus dapat diakses publik.Peringatan
Jangan gunakan URI SAS, token URL, atau apa pun yang dapat mengekspos rahasia dalam teks biasa.
Jika
Base64Encoded
, dipasangkan dengan properticontent
untuk menyediakan templat batasan dasar 64 yang dikodekan. Lihat Membuat definisi kebijakan dari templat batasan untuk membuat definisi kustom dari templat batasan Open Policy Agent (OPA) Gatekeeper v3 yang ada.
- Tidak dapat digunakan dengan
constraint
(tidak digunakan lagi)- Tidak dapat digunakan dengan
templateInfo
. - Implementasi CRD dari templat Batasan. Menggunakan parameter yang diteruskan melalui
values
sebagai{{ .Values.<valuename> }}
. Dalam contoh 2 di bawah ini, nilai-nilai ini adalah{{ .Values.excludedNamespaces }}
dan{{ .Values.allowedContainerImagesRegex }}
.
- Tidak dapat digunakan dengan
constraintTemplate
(tidak digunakan lagi)- Tidak dapat digunakan dengan
templateInfo
. - Harus diganti dengan
templateInfo
saat membuat atau memperbarui ketentuan kebijakan. - CustomResourceDefinition (CRD) templat Batasan yang menentukan Batasan baru. Templat menentukan logika Rego, skema Batasan, dan parameter Batasan yang diteruskan melalui
values
dari Azure Policy. Untuk informasi selengkapnya, buka Batasan Gatekeeper.
- Tidak dapat digunakan dengan
constraintInfo
(opsional)- Tidak dapat digunakan dengan
constraint
, ,constraintTemplate
,apiGroups
,kinds
scope
,namespaces
,excludedNamespaces
, ataulabelSelector
. - Jika
constraintInfo
tidak disediakan, batasan dapat dihasilkan daritemplateInfo
dan kebijakan. sourceType
(diperlukan)Menentukan jenis sumber untuk batasan. Nilai yang diizinkan:
PublicURL
atauBase64Encoded
.Jika
PublicURL
, dipasangkan dengan propertiurl
untuk menyediakan lokasi batasan. Lokasi harus dapat diakses publik.Peringatan
Jangan gunakan SAS URI atau token di
url
atau apa pun yang dapat mengekspos rahasia.
- Tidak dapat digunakan dengan
namespaces
(opsional)- Sebuah array pada namespace layanan Kubernetes untuk membatasi kebijakan.
- Nilai kosong atau hilang menyebabkan evaluasi kebijakan menyertakan semua namespace yang tidak ditentukan dalam excludedNamespaces.
excludedNamespaces
(opsional)- Sebuah array pada namespace layanan Kubernetes untuk pengecualian dari evaluasi kebijakan.
labelSelector
(opsional)- Objek yang menyertakan properti matchLabels (objek) dan matchExpression (array) untuk memungkinkan penentuan sumber Kubernetes mana yang akan disertakan untuk evaluasi kebijakan yang cocok dengan label dan pemilih yang disediakan.
- Nilai yang kosong atau hilang menyebabkan evaluasi kebijakan menyertakan semua label dan pemilih, kecuali namespace layanan yang ditentukan dalam excludedNamespaces.
scope
(opsional)- String yang menyertakan properti cakupan untuk memungkinkan menentukan apakah sumber daya cakupan kluster atau cakupan namespace dicocokkan.
apiGroups
(diperlukan saat menggunakan templateInfo)- Array yang menyertakan grup API untuk dicocokkan. Array kosong (
[""]
) adalah grup API inti. - Tidak diizinkan untuk mendefinisikan
["*"]
pada apiGroups.
- Array yang menyertakan grup API untuk dicocokkan. Array kosong (
kinds
(diperlukan saat menggunakan templateInfo)- Array yang menyertakan jenis objek Kubernetes untuk membatasi evaluasi.
- Tidak diizinkan untuk mendefinisikan
["*"]
pada jenis.
values
(opsional)- Menentukan parameter dan nilai apa pun untuk diteruskan ke Batasan. Setiap nilai harus ada dan cocok dengan properti di bagian validasi
openAPIV3Schema
CRD templat Batasan.
- Menentukan parameter dan nilai apa pun untuk diteruskan ke Batasan. Setiap nilai harus ada dan cocok dengan properti di bagian validasi
Contoh audit
Contoh 1: Menggunakan efek audit untuk mode Resource Manager.
"then": {
"effect": "audit"
}
Contoh 2: Menggunakan efek audit untuk mode Resource Provider Microsoft.Kubernetes.Data
. Informasi tambahan dalam details.templateInfo
menyatakan penggunaan PublicURL
dan diatur url
ke lokasi templat Batasan untuk digunakan di Kubernetes untuk membatasi gambar kontainer yang diizinkan.
"then": {
"effect": "audit",
"details": {
"templateInfo": {
"sourceType": "PublicURL",
"url": "https://store.policy.core.windows.net/kubernetes/container-allowed-images/v1/template.yaml",
},
"values": {
"imageRegex": "[parameters('allowedContainerImagesRegex')]"
},
"apiGroups": [
""
],
"kinds": [
"Pod"
]
}
}
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.