Dasar-dasar struktur definisi Azure Policy
Definisi Azure Policy menjelaskan kondisi kepatuhan sumber daya dan efek yang harus diambil jika kondisi terpenuhi. Kondisi membandingkan bidang properti sumber daya atau nilai dengan nilai yang diperlukan. Bidang properti sumber daya diakses menggunakan alias. Saat bidang properti sumber daya adalah array, alias array khusus dapat digunakan untuk memilih nilai dari semua anggota array dan menerapkan kondisi ke masing-masing array. Pelajari selengkapnya tentang kondisi.
Dengan menggunakan penetapan kebijakan, Anda dapat mengontrol biaya dan mengelola sumber daya Anda. Misalnya, Anda dapat menentukan bahwa hanya jenis komputer virtual tertentu yang diizinkan. Atau, Anda dapat mengharuskan sumber daya untuk memiliki tag tertentu. Penugasan pada cakupan berlaku untuk semua sumber daya pada cakupan tersebut dan di bawah ini. Jika penetapan kebijakan diterapkan ke grup sumber daya, kebijakan tersebut berlaku untuk semua sumber daya dalam grup sumber daya tersebut.
Anda menggunakan JSON untuk membuat definisi kebijakan yang berisi elemen untuk:
displayName
description
mode
version
metadata
parameters
policyRule
- evaluasi logis
effect
Misalnya, JSON berikut ini menampilkan kebijakan yang membatasi tempat sumber daya disebarkan:
{
"properties": {
"displayName": "Allowed locations",
"description": "This policy enables you to restrict the locations your organization can specify when deploying resources.",
"mode": "Indexed",
"metadata": {
"version": "1.0.0",
"category": "Locations"
},
"parameters": {
"allowedLocations": {
"type": "array",
"metadata": {
"description": "The list of locations that can be specified when deploying resources",
"strongType": "location",
"displayName": "Allowed locations"
},
"defaultValue": [
"westus2"
]
}
},
"policyRule": {
"if": {
"not": {
"field": "location",
"in": "[parameters('allowedLocations')]"
}
},
"then": {
"effect": "deny"
}
}
}
}
Untuk informasi selengkapnya, buka skema definisi kebijakan. Bawaan dan pola Azure Policy ada pada sampel Azure Policy.
Nama tampilan dan deskripsi
Anda menggunakan displayName
dan description
untuk mengidentifikasi definisi kebijakan dan memberikan konteks kapan definisi digunakan. displayName
memiliki panjang maksimum 128 karakter dan description
panjang maksimum 512 karakter.
Catatan
Selama pembuatan atau pembaruan definisi kebijakan, id
, , type
dan name
didefinisikan oleh properti di luar JSON dan tidak diperlukan dalam file JSON. Mengambil definisi kebijakan melalui SDK mengembalikan id
properti , , type
dan name
sebagai bagian dari JSON, tetapi masing-masing merupakan informasi baca-saja yang terkait dengan definisi kebijakan.
Jenis kebijakan
policyType
Meskipun properti tidak dapat diatur, ada tiga nilai yang dikembalikan oleh SDK dan terlihat di portal:
Builtin
: Microsoft menyediakan dan mempertahankan definisi kebijakan ini.Custom
: Semua definisi kebijakan yang dibuat oleh pelanggan memiliki nilai ini.Static
: Menunjukkan definisi kebijakan Kepatuhan Terhadap Peraturan dengan Kepemilikan Microsoft. Hasil kepatuhan untuk definisi kebijakan ini adalah hasil audit non-Microsoft infrastruktur Microsoft. Di portal Azure, nilai ini terkadang ditampilkan sebagai dikelola Microsoft. Untuk informasi selengkapnya, lihat Tanggung jawab bersama di cloud.
Mode
dikonfigurasi mode
tergantung pada apakah kebijakan menargetkan properti Azure Resource Manager atau properti Penyedia Sumber Daya.
Mode Resource Manager
mode
menentukan jenis sumber daya mana yang dievaluasi untuk definisi kebijakan. Mode yang didukung adalah:
all
: mengevaluasi grup sumber daya, langganan, dan semua jenis sumber dayaindexed
: hanya mengevaluasi jenis sumber daya yang mendukung tag dan lokasi
Misalnya, sumber daya Microsoft.Network/routeTables
mendukung tag dan lokasi dan dievaluasi di kedua mode. Namun, sumber daya Microsoft.Network/routeTables/routes
tidak dapat diberi tag dan tidak dievaluasi dalam mode indexed
.
Kami menyarankan agar Anda mengatur mode
ke all
dalam banyak kasus. Semua definisi kebijakan yang dibuat melalui portal menggunakan mode all
. Jika Anda menggunakan PowerShell atau Azure CLI, Anda dapat menentukan mode
parameter secara manual. Jika definisi kebijakan tidak menyertakan mode
nilai, definisi tersebut default ke all
di Azure PowerShell dan ke null
di Azure CLI. Mode null
sama dengan menggunakan indexed
untuk mendukung kompatibilitas mundur.
indexed
harus digunakan saat membuat kebijakan yang memberlakukan tag atau lokasi. Meskipun tidak diperlukan, ini mencegah sumber daya yang tidak mendukung tag dan lokasi agar tidak muncul sebagai tidak mematuhi di hasil kepatuhan. Pengecualiannya adalah grup sumber daya dan langganan. Definisi kebijakan yang menerapkan lokasi atau tag pada grup sumber daya atau langganan harus diatur mode
ke all
dan secara khusus menargetkan Microsoft.Resources/subscriptions/resourceGroups
jenis atau Microsoft.Resources/subscriptions
. Misalnya, lihat Pola: Tag - Sampel #1. Untuk daftar sumber daya yang mendukung tag, lihat Dukungan tag untuk sumber daya Azure.
Mode Penyedia Sumber Daya
Mode Penyedia Sumber Daya berikut ini didukung penuh:
Microsoft.Kubernetes.Data
untuk mengelola kluster dan komponen Kubernetes seperti pod, kontainer, dan ingress. Didukung untuk kluster Azure Kubernetes Service dan kluster Kubernetes dengan dukungan Azure Arc. Definisi yang menggunakan mode Penyedia Sumber Daya ini menggunakan audit efek, tolak, dan dinonaktifkan.Microsoft.KeyVault.Data
untuk mengelola vault dan sertifikat di Azure Key Vault. Untuk informasi selengkapnya tentang definisi kebijakan ini, lihat Mengintegrasikan Azure Key Vault dengan Azure Policy.Microsoft.Network.Data
untuk mengelola kebijakan keanggotaan kustom Azure Virtual Network Manager menggunakan Azure Policy.
Mode Penyedia Sumber Daya berikut saat ini didukung sebagai pratinjau:
Microsoft.ManagedHSM.Data
untuk mengelola kunci Modul Keamanan Perangkat Keras Terkelola (HSM) menggunakan Azure Policy.Microsoft.DataFactory.Data
untuk menggunakan Azure Policy untuk menolak nama domain lalu lintas keluar Azure Data Factory yang tidak ditentukan dalam daftar yang diizinkan. Mode Penyedia Sumber Daya ini hanya berlaku dan tidak melaporkan kepatuhan dalam pratinjau publik.Microsoft.MachineLearningServices.v2.Data
untuk mengelola penyebaran model Azure Pembelajaran Mesin. Mode Penyedia Sumber Daya ini melaporkan kepatuhan untuk komponen yang baru dibuat dan diperbarui. Selama pratinjau publik, catatan kepatuhan tetap ada selama 24 jam. Penyebaran model yang ada sebelum definisi kebijakan ini ditetapkan tidak melaporkan kepatuhan.
Catatan
Kecuali dinyatakan secara eksplisit, mode Penyedia Sumber Daya hanya mendukung definisi kebijakan bawaan, dan pengecualian tidak didukung di tingkat komponen.
Saat penerapan versi Azure Policy dirilis, mode Penyedia Sumber Daya berikut tidak akan mendukung penerapan versi bawaan:
Microsoft.DataFactory.Data
Microsoft.MachineLearningServices.v2.Data
Microsoft.ManagedHSM.Data
Versi (pratinjau)
Definisi kebijakan bawaan dapat menghosting beberapa versi dengan yang sama definitionID
. Jika tidak ada nomor versi yang ditentukan, semua pengalaman akan menampilkan versi terbaru definisi. Untuk melihat versi tertentu dari bawaan, versi tersebut harus ditentukan dalam API, SDK, atau UI. Untuk mereferensikan versi definisi tertentu dalam penugasan, lihat versi definisi dalam penugasan
Layanan Azure Policy menggunakan properti version
, preview
, dan deprecated
untuk menyampaikan tingkat perubahan pada definisi kebijakan bawaan atau inisiatif dan status. Format version
adalah: {Major}.{Minor}.{Patch}
. Status-status tertentu seperti tidak digunakan lagi atau pratinjau, ditambahkan ke properti version
atau di properti lain sebagai boolean.
- Versi Utama (misalnya: 2.0.0): memperkenalkan perubahan yang melanggar seperti perubahan logika aturan utama, menghapus parameter, menambahkan efek penegakan secara default.
- Versi Minor (misalnya: 2.1.0): memperkenalkan perubahan seperti perubahan logika aturan kecil, menambahkan nilai parameter baru yang diizinkan, mengubah ke
roleDefinitionIds
, menambahkan atau memindahkan definisi dalam inisiatif. - Versi Patch (misalnya: 2.1.4): memperkenalkan perubahan string atau metadata dan memecahkan skenario keamanan kaca (langka).
Untuk informasi selengkapnya tentang bawaan versi Azure Policy, lihat Penerapan versi bawaan. Untuk mempelajari lebih lanjut tentang apa artinya kebijakan tidak digunakan lagi atau di pratinjau, lihat Pratinjau dan kebijakan yang tidak digunakan lagi.
Metadata
Properti metadata
opsional menyimpan informasi tentang definisi kebijakan. Pelanggan dapat menentukan properti dan nilai apa pun yang berguna bagi organisasi mereka di metadata
. Namun, ada beberapa properti umum yang digunakan oleh Azure Policy dan bawaan. Setiap metadata
properti memiliki batas 1.024 karakter.
Properti metadata umum
version
(string): Melacak detail tentang versi konten definisi kebijakan.category
(string): Menentukan di bawah kategori mana di portal Azure definisi kebijakan ditampilkan.preview
(boolean): Bendera benar atau salah jika definisi kebijakan adalah pratinjau.deprecated
(boolean): Bendera benar atau salah jika definisi kebijakan ditandai sebagai tidak digunakan lagi.portalReview
(string): Menentukan apakah parameter harus ditinjau di portal, terlepas dari input yang diperlukan.
Lokasi definisi
Saat membuat inisiatif atau kebijakan, perlu untuk menentukan lokasi definisi. Lokasi definisi harus merupakan grup manajemen atau langganan. Lokasi ini menentukan cakupan yang dapat ditetapkan oleh inisiatif atau kebijakan. Sumber daya harus merupakan anggota langsung dari atau anak dalam hierarki lokasi definisi yang akan ditargetkan untuk penugasan.
Jika lokasi definisi adalah:
- Langganan - Hanya sumber daya dalam langganan tersebut yang dapat ditetapkan definisi kebijakan.
- Grup manajemen - Hanya sumber daya dalam grup manajemen anak dan langganan anak yang dapat ditetapkan definisi kebijakan. Jika Anda berencana menerapkan definisi kebijakan ke beberapa langganan, lokasi tersebut harus merupakan grup manajemen yang berisi setiap langganan.
Untuk informasi selengkapnya, lihat Memahami cakupan dalam Azure Policy.
Langkah berikutnya
- Untuk informasi selengkapnya tentang struktur definisi kebijakan, buka parameter, aturan kebijakan, dan alias.
- Untuk inisiatif, buka struktur definisi inisiatif.
- Tinjau sampel pada sampel Azure Policy.
- Tinjau Memahami efek kebijakan.
- Memahami cara membuat kebijakan secara terprogram.
- Pelajari cara mendapatkan data kepatuhan.
- Pelajari cara memulihkan sumber daya yang tidak sesuai syarat.
- Tinjau apa itu grup manajemen Atur sumber daya Anda dengan grup manajemen Azure.