Halaman ini berisi contoh policies untuk Otorisasi Biner yang ditentukan dalam format YAML. Untuk petunjuk cara mengonfigurasi kebijakan di Otorisasi Biner, lihat Mengonfigurasi kebijakan menggunakan Google Cloud CLI atau Mengonfigurasi kebijakan menggunakan konsol Google Cloud.
Mengizinkan 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
dari ALWAYS_ALLOW
,
yang menyebabkan Otorisasi Biner mengizinkan deployment semua image container. enforcementMode
default ditetapkan 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 penampung agar tidak di-deploy, sekaligus mengizinkan image sistem yang dikelola Google. Image container ini diperlukan agar sebagian besar cluster Google Kubernetes Engine (GKE) berhasil dimulai.
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 penegakan kebijakan.
Aturan default memiliki
evaluationMode
ALWAYS_DENY
, yang
menyebabkan Otorisasi Biner menolak deployment semua image container. enforcementMode
ditetapkan ke ENFORCED_BLOCK_AND_AUDIT_LOG
, yang menyebabkan Otorisasi Biner memblokir deployment dan menulis ke log audit.
Mewajibkan pengautentikasi untuk menandatangani sebelum deployment
Contoh berikut menunjukkan cara mewajibkan penanda tangan untuk memberikan otorisasi rilis sebelum image container dapat di-deploy. Deployment diblokir jika semua pengautentikasi 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 hanya mengizinkan deployment image yang telah
diotorisasi oleh pengautentikasi yang diperlukan di
requireAttestationsBy
.
Mengizinkan deployment dalam mode uji coba
Mode uji coba adalah mode penerapan dalam kebijakan yang memungkinkan deployment gambar yang tidak sesuai, tetapi menulis detail tentang pelanggaran kebijakan dan deployment ke log audit. Mode uji coba memungkinkan Anda menguji kebijakan di lingkungan produksi sebelum kebijakan tersebut 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
dari
DRYRUN_AUDIT_LOG_ONLY
, yang memungkinkan deployment image yang belum
diberi otorisasi oleh pengautentikasi 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 tersebut di-deploy yang telah diotorisasi oleh penanda tangan yang ditentukan:
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 pencocokan untuk gambar tambahan yang dikecualikan adalah
gcr.io/example-project-1/*
dan gcr.io/example-project-2/my-app
.