Halaman ini berisi contoh kebijakan untuk Otorisasi Biner yang ditentukan dalam format YAML. Untuk mendapatkan petunjuk tentang cara mengonfigurasi kebijakan di Binary Authorization, lihat Mengonfigurasi kebijakan menggunakan Google Cloud CLI atau Mengonfigurasi kebijakan menggunakan konsol Google Cloud .
Izinkan semua deployment
Contoh berikut menunjukkan cara mengizinkan semua image container di-deploy tanpa batasan.
name: projects/example-project/policy defaultAdmissionRule: evaluationMode: ALWAYS_ALLOW enforcementMode: ENFORCED_BLOCK_AND_AUDIT_LOG
Di sini, aturan default memiliki
evaluationMode
ALWAYS_ALLOW
,
yang menyebabkan Otorisasi Biner mengizinkan deployment semua image container. enforcementMode
default disetel ke ENFORCED_BLOCK_AND_AUDIT_LOG
, tetapi karena semua deployment diizinkan, tindakan ini tidak pernah dilakukan.
Memblokir (hampir) semua deployment
Contoh berikut menunjukkan cara memblokir semua image container agar tidak di-deploy, sekaligus mengizinkan image sistem yang dikelola Google. Image container ini diperlukan agar sebagian besar cluster Google Kubernetes Engine (GKE) dapat dimulai dengan berhasil.
name: projects/example-project/policy globalPolicyEvaluationMode: ENABLE defaultAdmissionRule: evaluationMode: ALWAYS_DENY enforcementMode: ENFORCED_BLOCK_AND_AUDIT_LOG
Di sini, globalPolicyEvaluationMode
diaktifkan sehingga image yang diperlukan oleh GKE tidak diblokir oleh penerapan kebijakan.
Aturan default memiliki
evaluationMode
ALWAYS_DENY
, yang
menyebabkan Otorisasi Biner menolak deployment semua image container. enforcementMode
disetel ke
ENFORCED_BLOCK_AND_AUDIT_LOG
, yang menyebabkan Binary Authorization memblokir
deployment dan menulis ke log audit.
Mewajibkan pengesah untuk menandatangani sebelum deployment
Contoh berikut menunjukkan cara mewajibkan pengesah untuk mengizinkan rilis sebelum image container dapat di-deploy. Deployment diblokir jika semua pengesah belum menandatangani.
name: projects/example-project/policy globalPolicyEvaluationMode: ENABLE defaultAdmissionRule: evaluationMode: REQUIRE_ATTESTATION enforcementMode: ENFORCED_BLOCK_AND_AUDIT_LOG requireAttestationsBy: - projects/example-project/attestors/secure-build
Di sini, aturan default memiliki evaluationMode
REQUIRE_ATTESTATION
, yang menyebabkan Otorisasi Biner mengizinkan deployment hanya pada image yang telah diizinkan oleh pengesah yang diperlukan di requireAttestationsBy
.
Mengizinkan deployment dalam mode uji coba
Mode uji coba adalah mode penerapan dalam kebijakan yang memungkinkan gambar yang tidak sesuai di-deploy, tetapi menulis detail tentang pelanggaran kebijakan dan deployment ke log audit. Mode uji coba memungkinkan Anda menguji kebijakan di lingkungan produksi sebelum diterapkan.
Contoh berikut menunjukkan cara mengizinkan semua gambar yang tidak sesuai untuk di-deploy dalam mode uji coba.
name: projects/example-project/policy globalPolicyEvaluationMode: ENABLE defaultAdmissionRule: evaluationMode: REQUIRE_ATTESTATION enforcementMode: DRYRUN_AUDIT_LOG_ONLY requireAttestationsBy: - projects/example-project/attestors/secure-build
Di sini, aturan default memiliki
enforcementMode
sebesar
DRYRUN_AUDIT_LOG_ONLY
, yang memungkinkan deployment gambar yang belum
diizinkan oleh pengesah yang ditentukan untuk di-deploy, tetapi menulis informasi
tentang deployment yang tidak sesuai ke log audit.
Menggunakan aturan khusus cluster
Contoh berikut menunjukkan aturan khusus cluster yang hanya mengizinkan image container yang telah diizinkan oleh pengesah yang ditentukan untuk di-deploy:
name: projects/example-project/policy globalPolicyEvaluationMode: ENABLE defaultAdmissionRule: evaluationMode: ALWAYS_DENY enforcementMode: ENFORCED_BLOCK_AND_AUDIT_LOG clusterAdmissionRules: us-east1-a.prod-cluster: evaluationMode: REQUIRE_ATTESTATION enforcementMode: ENFORCED_BLOCK_AND_AUDIT_LOG requireAttestationsBy: - projects/example-project/attestors/secure-build - projects/example-project/attestors/prod-qualified
Di sini, aturan khusus cluster hanya berlaku untuk image container yang di-deploy ke us-east1-a.prod-cluster
. Aturan ini memerlukan pengesahan oleh dua pengesah sebelum image dapat di-deploy.
Menambahkan gambar yang dikecualikan
Contoh berikut menunjukkan cara menambahkan jalur tambahan di Container Registry atau registry lain ke daftar image yang dikecualikan dari kebijakan:
name: projects/example-project/policy globalPolicyEvaluationMode: ENABLE admissionWhitelistPatterns: - namePattern: gcr.io/example-project-1/* - namePattern: gcr.io/example-project-2/my-app defaultAdmissionRule: evaluationMode: ALWAYS_DENY enforcementMode: ENFORCED_BLOCK_AND_AUDIT_LOG
Di sini, pola yang cocok untuk gambar tambahan yang dikecualikan adalah
gcr.io/example-project-1/*
dan gcr.io/example-project-2/my-app
.