Dokumen ini menjelaskan cara menulis aturan kustom menggunakan bahasa kebijakan Rego. Anda dapat menggunakan aturan ini di Workload Manager untuk mengevaluasi beban kerja berdasarkan praktik terbaik yang ditentukan untuk organisasi Anda.
Untuk mengetahui informasi selengkapnya, lihat Tentang aturan kustom di Workload Manager.
Sebelum memulai
- Pahami bahasa kebijakan Rego.
Menulis aturan kustom menggunakan Rego
Google menyediakan repositori GitHub contoh dengan serangkaian aturan yang telah ditentukan sebelumnya yang dapat Anda gunakan untuk mengevaluasi beban kerja. Contoh ini mencakup beberapa kasus penggunaan.
Pilih aturan dari repositori atau buat file aturan (.rego
) yang menjelaskan
persyaratan evaluasi Anda.
Aturan kustom memiliki bagian berikut:
Metadata. Kolom berikut menentukan metadata aturan:
DETAILS
: deskripsi singkat untuk aturan.SEVERITY
: nilai yang ditentukan pengguna yang menentukan tingkat keparahan pelanggaran aturan. Misalnya,HIGH
,CRITICAL
,MEDIUM
, orLOW
.ASSET_TYPE
: salah satu aset yang didukung. Lihat Sumber data yang didukung.TAGS
: satu atau beberapa tag untuk aturan. Tag ini membantu memfilter aturan.
Pernyataan paket. Contoh,
templates.google.compute.instance.label
.Pernyataan impor. Contoh,
data.validator.google.lib as lib
.Definisi aturan. Sekumpulan petunjuk yang menentukan aturan.
Contoh aturan
Aturan contoh berikut tersedia di repositori GitHub GoogleCloudPlatform/workload-manager. Anda dapat mengupload aturan ini apa adanya ke bucket Cloud Storage dan menggunakannya untuk menjalankan evaluasi. Atau, ubah aturan sesuai dengan kebijakan organisasi Anda, lalu upload file ke bucket Cloud Storage.
- Contoh 1: memastikan bahwa ada setidaknya satu label untuk VM Anda.
- Contoh 2: memastikan bahwa beban kerja Anda tidak menggunakan akun layanan default Compute Engine.
- Contoh 3: memastikan bahwa VM dalam beban kerja Anda tidak menggunakan alamat IP eksternal.
Untuk mengetahui daftar lengkap contoh aturan yang dapat Anda gunakan di Workload Manager, lihat repositori GitHub GoogleCloudPlatform/workload-manager.
Contoh 1
Memastikan bahwa ada setidaknya satu tag untuk resource Compute Engine.
Contoh 2
Memastikan bahwa beban kerja Anda tidak menggunakan akun layanan default Compute Engine
Contoh 3
Memastikan bahwa VM dalam beban kerja Anda tidak menggunakan alamat IP eksternal.
Mengupload aturan ke bucket Cloud Storage
Setelah membuat file .rego
, upload file tersebut ke bucket Cloud Storage. Tingkat teratas bucket Cloud Storage Anda harus menyertakan folder /lib
dan /rules
:
lib
parameters.rego
utils.rego
/rules
rule_name1.rego
rule_name2.rego
Langkah berikutnya
- Pelajari lebih lanjut evaluasi workload.
- Pelajari cara membuat dan menjalankan evaluasi.