Dokumen ini menjelaskan cara menulis aturan kustom menggunakan bahasa kebijakan Rego. Anda dapat menggunakan aturan ini di Workload Manager untuk mengevaluasi beban kerja Anda 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 contoh repositori GitHub dengan serangkaian aturan standar 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 buatan 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.
Deklarasi paket. Contoh,
templates.google.compute.instance.label
.Mengimpor laporan. Contoh,
data.validator.google.lib as lib
.Definisi aturan. serangkaian petunjuk yang menentukan aturan.
Contoh aturan
Contoh aturan 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 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 Pengelola Beban Kerja, lihat repositori GitHub GoogleCloudPlatform/workload-manager.
Contoh 1
Memastikan bahwa ada minimal 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
atas bucket Cloud Storage Anda harus menyertakan folder /lib
dan /rules
:
lib
parameters.rego
utils.rego
/rules
rule_name1.rego
rule_name2.rego
Langkah selanjutnya
- Pelajari evaluasi workload lebih lanjut.
- Pelajari cara membuat dan menjalankan evaluasi.