Halaman ini menunjukkan cara menggunakan Layanan Kebijakan Organisasi untuk mewajibkan cluster GKE menggunakan satu atau beberapa kebijakan platform berbasis pemeriksaan continuous validation (CV). Anda menentukan kebijakan platform berbasis pemeriksaan yang diperlukan dalam batasan khusus. Kemudian Anda menerapkan batasan khusus dalam kebijakan organisasi.
Biaya
Panduan ini menggunakan layanan Google Cloud berikut:
- Otorisasi Biner, tetapi CV tersedia tanpa biaya selama tahap Pratinjau
- Batasan dan kebijakan organisasi ditawarkan tanpa biaya.
Sebelum memulai
- Aktifkan Otorisasi Biner.
- Siapkan CV dengan kebijakan platform berbasis pemeriksaan dan setidaknya satu kebijakan platform berbasis pemeriksaan CV.
Peran yang diperlukan
Untuk mendapatkan izin yang Anda perlukan untuk membuat batasan dan menerapkan kebijakan organisasi,
minta administrator untuk memberi Anda peran IAM
Organization Policy Administrator (roles/orgpolicy.policyAdmin
) di organisasi Google Cloud Anda.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Membuat batasan kustom CV
Konsol
Di konsol Google Cloud, buka halaman Organization policies.
Di halaman Kebijakan organisasi, klik
Batasan kustom.Jika Anda diminta untuk melakukannya, klik Beralih ke organisasi induk. Untuk mempelajari organisasi lebih lanjut, lihat Pengantar Layanan Kebijakan Organisasi
Di bagian Detail batasan, masukkan informasi berikut di kolom:
Nama tampilan: Nama tampilan untuk batasan Anda, seperti
Require a Binary Authorization continuous validation policy for all GKE clusters
. Gunakan nama tampilan untuk mencari batasan setelah disimpan. Kolom nama tampilan memiliki panjang maksimum 200 karakterID Batasan: ID batasan untuk batasan Anda—misalnya,
RequireBinAuthzCVPolicy
.Description (Opsional): deskripsi batasan yang mudah dipahami untuk ditampilkan sebagai pesan error saat kebijakan dilanggar. Kolom deskripsi memiliki panjang maksimum 2.000 karakter.
Pada bagian Penegakan, lakukan hal berikut:
Di Resource types, masukkan
container.googleaips.com/Cluster
.Di Metode penerapan, pilih Terapkan pada pembuatan dan pembaruan.
Masukkan ekspresi ke kolom Kondisi. Kolom ini memiliki panjang maksimal 1000 karakter. Batasan kustom diterapkan saat kondisi bernilai
true
. Kondisi ini adalah ekspresi dalam sintaksis Common Expression Language (CEL). Anda dapat menggabungkan ekspresi dengan dan (&&
) dan atau (||
) untuk membuat kondisi yang kompleks. CEL adalah bahasa ekspresi seperti C. Untuk mempelajari sintaksis dan semantik CEL lebih lanjut, lihat https://github.com/google/cel-spec. Untuk memasukkan kondisi, lakukan hal berikut:Klik
Edit kondisi.Masukkan ekspresi untuk memeriksa keberadaan kebijakan platform CV. Kondisi berikut mengharuskan adanya binding kebijakan platform CV dan kebijakan platform memiliki nama tertentu:
resource.binaryAuthorization.policyBindings.exists(policy, policy.name == "projects/PROJECT_ID/platforms/gke/policies/POLICY_ID")
Ganti kode berikut:
PROJECT_ID
: project ID kebijakan platform Anda. Project harus berada di organisasi yang sama.POLICY_ID
: ID kebijakan kebijakan platform Anda.
Kondisi berikut mengharuskan adanya dua binding kebijakan platform CV dan masing-masing memiliki nama kebijakan platform tertentu.
resource.binaryAuthorization.policyBindings.exists(policy, policy.name == "projects/PROJECT_ID1/platforms/gke/policies/POLICY_ID1") && resource.binaryAuthorization.policyBindings.exists(policy, policy.name == "projects/PROJECT_ID2/platforms/gke/policies/POLICY_ID2")
PROJECT_ID1
: project ID kebijakan platform pertama Anda. Project harus berada di organisasi yang sama.POLICY_ID1
: ID kebijakan kebijakan platform pertama Anda.PROJECT_ID2
: project ID kebijakan platform kedua Anda.POLICY_ID2
: ID kebijakan kebijakan platform kedua Anda.Klik Simpan.
Di Tindakan, pilih Izinkan.
Untuk membuat batasan kustom, klik Create Constraint.
gcloud
Buat file YAML untuk batasan khusus:
name: organizations/ORGANIZATION_ID/customConstraints/custom.CONSTRAINT_ID resource_types: container.googleapis.com/Cluster method_types: - CREATE - UPDATE condition: >- CONDITION action_type: ACTION display_name: DISPLAY_NAME description: DESCRIPTION
Ganti kode berikut:
ORGANIZATION_ID
: ID organisasi Anda—misalnya,123456789
.CONSTRAINT_ID
: ID batasan—misalnya,RequireBinAuthzCVPolicy
.CONDITION
: masukkan ekspresi untuk memeriksa adanya kebijakan platform CV. Kolom ini memiliki panjang maksimal 1000 karakter. Batasan kustom diterapkan saat kondisi bernilaitrue
. Kondisi ini adalah ekspresi dalam sintaksis Common Expression Language (CEL). Anda dapat menggabungkan ekspresi dengan dan (&&
) dan atau (||
) untuk membuat kondisi yang kompleks. CEL adalah bahasa ekspresi seperti C. Untuk mempelajari sintaksis dan semantik CEL lebih lanjut, lihat https://github.com/google/cel-spec. Kondisi berikut mengharuskan adanya binding kebijakan platform CV dan kebijakan platform memiliki nama tertentu:resource.binaryAuthorization.policyBindings.exists(policy, policy.name == "projects/PROJECT_ID/platforms/gke/policies/POLICY_ID")
Ganti kode berikut:
PROJECT_ID
: project ID kebijakan platform Anda. Project harus berada di organisasi yang sama.POLICY_ID
: ID kebijakan kebijakan platform Anda.
Kondisi berikut mengharuskan adanya dua binding kebijakan platform CV dan masing-masing memiliki nama kebijakan platform tertentu.
resource.binaryAuthorization.policyBindings.exists(policy, policy.name == "projects/PROJECT_ID1/platforms/gke/policies/POLICY_ID1") && resource.binaryAuthorization.policyBindings.exists(policy, policy.name == "projects/PROJECT_ID2/platforms/gke/policies/POLICY_ID2")
PROJECT_ID1
: project ID kebijakan platform pertama Anda. Project harus berada di organisasi yang sama.POLICY_ID1
: ID kebijakan kebijakan platform pertama Anda.PROJECT_ID2
: project ID kebijakan platform kedua Anda.POLICY_ID2
: ID kebijakan kebijakan platform kedua Anda.ACTION
: tindakan yang akan diambil jikacondition
terpenuhi. Ini dapat berupaALLOW
atauDENY
.DISPLAY_NAME
: nama yang mudah dipahami untuk batasan—misalnya,Require a Binary Authorization continuous validation policy for all GKE clusters
. Kolom nama tampilan memiliki panjang maksimum 200 karakterDESCRIPTION
: deskripsi batasan yang mudah dipahami manusia untuk ditampilkan sebagai pesan error saat kebijakan dilanggar. Kolom deskripsi memiliki panjang maksimum 2.000 karakter.
Terapkan batasan khusus:
gcloud org-policies set-custom-constraint CUSTOM_CONSTRAINT_PATH
Ganti
CUSTOM_CONSTRAINT_PATH
dengan jalur definisi batasan kustom Anda.Pastikan batasan khusus ada:
gcloud org-policies list-custom-constraints \ --organization=ORGANIZATION_ID
Outputnya mirip dengan hal berikut ini:
CUSTOM_CONSTRAINT: custom.RequireBinAuthzCVPolicy ACTION_TYPE: ALLOW METHOD_TYPES: CREATE,UPDATE RESOURCE_TYPES: container.googleapis.com/Cluster DISPLAY_NAME: This cluster requires the continuous validation policy: projects/my-project/platforms/gke/policies/my-policy
Untuk mengaktifkan penerapan batasan kustom yang Anda buat, buat kebijakan organisasi.
Menggunakan kebijakan organisasi untuk menerapkan batasan kustom
Untuk menerapkan batasan khusus baru, buat kebijakan organisasi yang merujuk ke batasan tersebut, lalu terapkan kebijakan organisasi.
Konsol
Untuk menerapkan batasan, lakukan hal berikut:
Di konsol Google Cloud, buka halaman Organization policies.
Pilih {i>project picker<i} dan pilih organisasi.
Telusuri dan pilih batasan Anda dari daftar.
Di halaman Detail kebijakan untuk batasan tersebut, klik Kelola kebijakan.
Di halaman Edit policy, pilih Override parent's policy.
Klik Add a rule.
Di bagian Penegakan, pilih Aktif.
Opsional: Klik Test changes untuk menyimulasikan dampak kebijakan organisasi ini. Untuk informasi selengkapnya, lihat Menguji perubahan kebijakan organisasi dengan Policy Simulator.
Untuk menyelesaikan dan menerapkan kebijakan organisasi, klik Tetapkan kebijakan.
gcloud
Buat file definisi kebijakan YAML:
name: organizations/ORGANIZATION_ID/policies/custom.CONSTRAINT_ID spec: rules: - enforce: true
Ganti kode berikut:
ORGANIZATION_ID
: ID organisasiCONSTRAINT_ID
: ID batasan
Terapkan kebijakan:
gcloud org-policies set-policy ORG_POLICY_PATH
Ganti
ORG_POLICY_PATH
dengan jalur ke file definisi kebijakan Anda.Pastikan kebijakan ada:
gcloud org-policies list \ --organization=ORGANIZATION_ID
Ganti
ORGANIZATION_ID
dengan ID organisasi.Untuk daftar argumen, lihat
gcloud org-policies list
.Outputnya mirip dengan hal berikut ini:
CONSTRAINT: custom.RequireBinAuthzCVPolicy LIST_POLICY: - BOOLEAN_POLICY: SET ETAG: CN622LIGEIDXnpMB-
Kebijakan ini dapat memerlukan waktu hingga 15 menit untuk diterapkan.
Untuk menerapkan beberapa batasan pada kebijakan platform berbasis pemeriksaan CV, lakukan hal berikut:
- Buat satu batasan kustom per kebijakan berbasis pemeriksaan CV.
- Perbarui kebijakan organisasi dengan setiap batasan kustom seperti yang dijelaskan di bagian ini.
Menghapus batasan kustom
Anda dapat menghapus batasan kustom menggunakan Google Cloud Console atau Google Cloud CLI.
Konsol
Di konsol Google Cloud, buka halaman Organization policies.
Pilih pemilih project di bagian atas halaman.
Dari pemilih project, pilih organisasi Anda.
Telusuri dan pilih batasan Anda dari daftar.
Di Constraint details, klik
Delete.Untuk mengonfirmasi bahwa Anda ingin menghapus batasan tersebut, klik Delete.
gcloud
Untuk menghapus batasan kustom, gunakan perintah gcloud CLI org-policies delete-custom-constraint
:
gcloud org-policies delete-custom-constraint custom.CONSTRAINT_ID \
--organization=ORGANIZATION_ID
Ganti kode berikut:
ORGANIZATION_ID
: ID organisasi Anda, seperti123456789
CONSTRAINT_NAME
: nama batasan kustom Anda
Outputnya mirip dengan hal berikut ini:
Deleted custom constraint [organizations/123456789/customConstraints/CONSTRAINT_NAME]
Setelah Anda menghapus batasan khusus, kebijakan apa pun yang telah dibuat menggunakan batasan tersebut akan terus ada, tetapi akan diabaikan. Anda tidak dapat membuat batasan kustom lain dengan nama yang sama dengan batasan kustom yang dihapus.
Langkah selanjutnya
- Pelajari batasan Kebijakan Organisasi.
- Menggunakan pemeriksaan keaktualan gambar
- Menggunakan pemeriksaan pengesahan penandatanganan sederhana
- Menggunakan pemeriksaan tanda tangan Sigstore
- Menggunakan pemeriksaan SLSA
- Menggunakan pemeriksaan direktori tepercaya
- Menggunakan pemeriksaan kerentanan
- Melihat log CV