Halaman ini menunjukkan cara menginstal Pengontrol Kebijakan. Pengontrol Kebijakan memeriksa, mengaudit, dan menerapkan kepatuhan cluster Anda terhadap kebijakan yang terkait dengan keamanan, peraturan, atau aturan bisnis.
Halaman ini ditujukan untuk admin IT dan Operator yang ingin memastikan bahwa semua resource yang berjalan dalam platform cloud memenuhi persyaratan kepatuhan organisasi dengan menyediakan dan memelihara otomatisasi untuk mengaudit atau menerapkan. Untuk mempelajari lebih lanjut peran umum dan contoh tugas yang kami referensikan dalam konten Google Cloud , lihat Peran dan tugas pengguna GKE umum.
Pengontrol Kebijakan tersedia jika Anda menggunakan Google Kubernetes Engine. Untuk mempelajari lebih lanjut, lihat Harga Google Kubernetes Engine.
Sebelum memulai
Sebelum memulai, pastikan Anda telah menjalankan tugas berikut:
- Instal dan lakukan inisialisasi Google Cloud CLI, yang menyediakan perintah
gcloud,kubectl, dannomosyang digunakan dalam petunjuk ini. Jika sebelumnya Anda telah menginstal gcloud CLI, dapatkan versi terbaru dengan menjalankangcloud components update. Jika Anda menggunakan Cloud Shell, Google Cloud CLI sudah diinstal sebelumnya. Pastikan Open Policy Agent Gatekeeper open source tidak diinstal di cluster Anda. Jika ya, uninstal Gatekeeper sebelum menginstal Pengontrol Kebijakan.
Aktifkan API yang diperlukan:
console
Aktifkan API Pengontrol Kebijakan.
gcloud
Jalankan perintah berikut:
gcloud services enable anthospolicycontroller.googleapis.comBuat, atau pastikan Anda memiliki akses ke, cluster yang menjalankan Kubernetes versi 1.14.x atau yang lebih baru. Pengontrol Kebijakan mungkin tampak berjalan pada Kubernetes versi sebelum 1.14.x, tetapi produk tidak berperilaku dengan benar.
Berikan peran IAM yang diperlukan kepada pengguna yang mendaftarkan cluster.
Jika Anda berencana menggunakan Google Cloud CLI untuk mengonfigurasi Pengontrol Kebijakan, daftarkan cluster Anda ke fleet sekarang. Jika Anda berencana menggunakan konsol Google Cloud , daftarkan cluster saat Anda menginstal Pengontrol Kebijakan.
Jika Anda menggunakan cluster yang terpasang ke GKE, pastikan cluster AKS Anda tidak memiliki add-on Azure Policy dan hindari memberi label pada namespace dengan kunci
control-plane.Jika Anda menggunakan Google Distributed Cloud di VMware atau bare metal, pastikan Anda menginstal Pengontrol Kebijakan di cluster pengguna. Pengontrol Kebijakan tidak dapat diinstal di cluster admin.
Menginstal Pengontrol Kebijakan
Konsol
Untuk menginstal Pengontrol Kebijakan di konsol Google Cloud , selesaikan langkah-langkah berikut:
- Di konsol Google Cloud , buka halaman Policy di bagian Posture Management.
Klik add Konfigurasi Pengontrol Kebijakan.
Opsional: Untuk mengubah setelan fleet default, klik Customize fleet settings. Pada dialog yang muncul, lakukan hal berikut:
- Di bagian Add/Edit policy bundles, sertakan atau kecualikan paket kebijakan dengan mengklik tombol yang relevan.
Di bagian konfigurasi Pengontrol Kebijakan, lakukan hal berikut:
- Untuk mengaktifkan webhook mutasi, centang kotak Enable mutation webhook. Fitur ini tidak kompatibel dengan cluster Autopilot.
- Di kotak Audit interval, masukkan periode dalam detik antara dua audit berturut-turut.
Di kotak Exemptible namespaces, masukkan daftar namespace. Pengontrol Kebijakan mengabaikan objek dalam namespace ini. Fitur ini tidak kompatibel dengan cluster Autopilot.
Praktik terbaik: Kecualikan namespace sistem untuk menghindari error di lingkungan Anda. Anda dapat menemukan petunjuk untuk mengecualikan namespace dan daftar namespace umum yang dibuat oleh layanan Google Cloud di halaman Exclude namespaces.
Untuk mengaktifkan batasan referensial, centang kotak Enable Constraint Templates that reference to objects other than the object currently being evaluated.
Di daftar Version, pilih versi Pengontrol Kebijakan yang ingin Anda gunakan.
Klik Simpan perubahan.
Klik Configure.
Pada dialog konfirmasi, klik Confirm. Jika Anda belum mengaktifkan Pengontrol Kebijakan, mengklik Confirm akan mengaktifkan
anthospolicycontroller.googleapis.comAPI dan menginstal Pengontrol Kebijakan di cluster Anda.Opsional: Sinkronkan cluster yang ada ke setelan default:
- Di tab Settings, klik Sync to fleet settings.
- Dalam daftar Clusters in the fleet, pilih cluster yang ingin Anda sinkronkan, lalu klik Sync to fleet settings. Operasi ini dapat memerlukan waktu hingga beberapa menit untuk selesai.
Anda akan dialihkan ke tab Settings Pengontrol Kebijakan. Saat Pengontrol Kebijakan diinstal dan dikonfigurasi di cluster Anda, kolom status akan menampilkan Installed check_circle. Proses ini dapat memerlukan waktu beberapa menit.
gcloud
Aktifkan Pengontrol Kebijakan dengan menjalankan perintah berikut:
gcloud container fleet policycontroller enable \
--memberships=MEMBERSHIP_NAME
Anda dapat menetapkan kolom tambahan untuk mengonfigurasi Pengontrol Kebijakan. Misalnya,
Anda mungkin ingin memberi tahu Pengontrol Kebijakan untuk mengecualikan beberapa namespace dari penegakan kebijakan.
Untuk mengetahui daftar lengkap kolom yang dapat Anda konfigurasi, lihat
dokumentasi Google Cloud CLI Pengontrol Kebijakan
atau jalankan gcloud container fleet policycontroller enable --help.
Tetapkan setelan tingkat fleet untuk Pengontrol Kebijakan dengan menyelesaikan langkah-langkah berikut:
Buat file bernama
fleet-default.yamlyang berisi konfigurasi default untuk Pengontrol Kebijakan. KolominstallSpecwajib diisi untuk mengaktifkan default level fleet. Contoh ini menunjukkan opsi yang dapat Anda konfigurasi:# cat fleet-default.yaml policyControllerHubConfig: installSpec: INSTALL_SPEC_ENABLED # Uncomment to set default deployment-level configurations. # deploymentConfigs: # admission: # containerResources: # limits: # cpu: 1000m # memory: 8Gi # requests: # cpu: 500m # memory: 4Gi # Uncomment to set policy bundles that you want to install by default. # policyContent: # bundles: # cis-k8s-v1.5.1: # exemptedNamespaces: # - "namespace-name" # Uncomment to exempt namespaces from admission. # exemptableNamespaces: # - "namespace-name" # Uncomment to enable support for referential constraints # referentialRulesEnabled: true # Uncomment to disable audit, adjust value to set audit interval # auditIntervalSeconds: 0 # Uncomment to log all denies and dryrun failures # logDeniesEnabled: true # Uncomment to enable mutation # mutationEnabled: true # Uncomment to adjust the value to set the constraint violation limit # constraintViolationLimit: 20 # ... other fields ...Praktik terbaik: Kecualikan namespace sistem untuk menghindari error di lingkungan Anda. Anda dapat menemukan petunjuk untuk mengecualikan namespace dan daftar namespace umum yang dibuat oleh layanan Google Cloud di halaman Exclude namespaces.
Terapkan konfigurasi default ke fleet Anda:
gcloud container fleet policycontroller enable \ --fleet-default-member-config=fleet-default.yamlUntuk memverifikasi bahwa konfigurasi telah diterapkan, jalankan perintah berikut:
gcloud container fleet policycontroller describeUntuk menghapus konfigurasi default level fleet, jalankan perintah berikut:
gcloud container fleet policycontroller enable \ --no-fleet-default-member-config
Terraform
Untuk mengaktifkan Pengontrol Kebijakan di seluruh fleet Anda dengan library template default terinstal, lihat contoh berikut:
Anda dapat meneruskan beberapa blok bundle untuk menginstal paket apa pun yang tercantum dalam Ringkasan paket Pengontrol Kebijakan.
Untuk mempelajari lebih lanjut cara menggunakan Terraform, lihat Dukungan Terraform untuk Pengontrol Kebijakan.
Memverifikasi penginstalan Pengontrol Kebijakan
Setelah menginstal Pengontrol Kebijakan, Anda dapat memverifikasi bahwa penginstalan telah selesai dengan berhasil.
Konsol
Selesaikan langkah-langkah berikut:
- Di konsol Google Cloud , buka halaman Policy di bagian Posture Management.
- Di tab Setelan, pada tabel pengelompokan, periksa kolom Status Pengontrol Kebijakan. Penginstalan yang berhasil memiliki status Diinstal check_circle.
gcloud
Jalankan perintah berikut:
gcloud container fleet policycontroller describe --memberships=MEMBERSHIP_NAME
Penginstalan yang berhasil akan menampilkan membershipStates: MEMBERSHIP_NAME: policycontroller: state: ACTIVE.
Memverifikasi penginstalan library template batasan
Saat Anda menginstal Pengontrol Kebijakan, library template batasan akan diinstal secara default. Penginstalan ini dapat memerlukan waktu beberapa menit hingga selesai. Anda dapat memverifikasi bahwa library template berhasil diselesaikan.
Konsol
Selesaikan langkah-langkah berikut:
- Di konsol Google Cloud , buka halaman Policy di bagian Posture Management.
- Di tab Settings, pada tabel cluster, pilih nomor yang tercantum dalam kolom Bundles installed. Di panel Policy content status, penginstalan library template yang berhasil akan memiliki status Installed check_circle.
gcloud
Jalankan perintah berikut:
kubectl get constrainttemplates
Anda akan melihat output yang mirip dengan contoh berikut ini:
NAME AGE k8sallowedrepos 84s k8scontainerlimits 84s k8spspallowprivilegeescalationcontainer 84s ...[OUTPUT TRUNCATED]...
Jika template batasan individual diinstal dengan benar, kolom status.created-nya adalah true.
Interaksi Pengontrol Kebijakan dengan Config Sync
Jika menggunakan Pengontrol Kebijakan dengan Config Sync, Anda harus mengetahui interaksi berikut dengan resource yang disimpan di sumber kebenaran, seperti repositori Git, yang disinkronkan oleh Config Sync:
Anda tidak dapat menyinkronkan template batasan yang juga merupakan bagian dari library template, kecuali jika library template batasan dinonaktifkan.
Jika ingin menyinkronkan resource
Configyang disimpan di namespacegatekeeper-system, Anda hanya boleh menentukan resourceConfigdi sumber kebenaran.gatekeeper-systemNamespacetidak boleh ditentukan bersamanya.
Mengonfigurasi metrik
Secara default, Pengontrol Kebijakan mencoba mengekspor metrik ke Prometheus dan Cloud Monitoring. Anda mungkin perlu menyelesaikan langkah-langkah konfigurasi tambahan, seperti memberikan izin, agar Pengontrol Kebijakan dapat mengekspor metrik. Untuk mengetahui informasi selengkapnya, lihat Menggunakan metrik Pengontrol Kebijakan.
Mengelola library template batasan
Untuk mengetahui informasi tentang cara meng-uninstal atau menginstal template batasan, batasan terkait, atau library template batasan, lihat Membuat batasan.
Mengecualikan namespace dari penegakan kebijakan
Anda dapat mengonfigurasi Pengontrol Kebijakan untuk mengabaikan objek dalam namespace. Untuk mengetahui informasi selengkapnya, lihat Mengecualikan namespace dari Pengontrol Kebijakan.
Mengubah resource
Pengontrol Kebijakan juga bertindak sebagai webhook mutasi. Untuk mengetahui informasi selengkapnya, lihat Mengubah resource.
Melihat versi Pengontrol Kebijakan
Untuk mengetahui versi Pengontrol Kebijakan Gatekeeper yang digunakan, lihat tag image dengan menjalankan perintah berikut:
kubectl get deployments -n gatekeeper-system gatekeeper-controller-manager \
-o="jsonpath={.spec.template.spec.containers[0].image}"
Tag (atau hash) Git yang digunakan untuk membangun Gatekeeper dan nomor versi ConfigManagement Operator disertakan dalam tag image sebagai berikut:
.../gatekeeper:VERSION_NUMBER-GIT_TAG.gBUILD_NUMBER
Misalnya, untuk gambar berikut:
gcr.io/config-management-release/gatekeeper:anthos1.3.2-480baac.g0
anthos1.3.2adalah nomor versi.480baacadalah tag Git.0adalah nomor build.
Upgrade Pengontrol Kebijakan
Sebelum mengupgrade Pengontrol Kebijakan, periksa catatan rilis untuk mengetahui detail tentang perubahan antar-versi.
Untuk mengupgrade Pengontrol Kebijakan, selesaikan langkah-langkah berikut:
Konsol
- Di konsol Google Cloud , buka halaman Policy di bagian Posture Management.
- Di tab Settings, di samping cluster yang versinya ingin Anda upgrade, pilih edit Edit configuration.
- Luaskan menu konfigurasi Pengontrol Kebijakan.
- Dari menu drop-down Version, pilih versi yang ingin Anda upgrade.
- Klik Simpan perubahan.
gcloud
Jalankan perintah berikut:
gcloud container fleet policycontroller update \
--version=VERSION \
--memberships=MEMBERSHIP_NAME
Ganti kode berikut:
VERSION: versi yang ingin Anda upgradeMEMBERSHIP_NAME: nama keanggotaan yang Anda pilih saat mendaftarkan cluster. Anda dapat menemukan nama keanggotaan dengan menjalankangcloud container fleet memberships list.
Meng-uninstal Pengontrol Kebijakan
Ikuti langkah-langkah berikut untuk meng-uninstal Pengontrol Kebijakan dari cluster Anda.
Konsol
Untuk menonaktifkan Pengontrol Kebijakan di cluster Anda, selesaikan tugas berikut:
- Di konsol Google Cloud , buka halaman Policy di bagian Posture Management.
- Di tab Setelan, pada tabel pengelompokan, pilih Edit edit di kolom Edit konfigurasi.
- Di panel cluster, luaskan menu Tentang Pengontrol Kebijakan.
- Pilih Pengontrol Kebijakan Uninstal.
- Konfirmasi uninstal dengan mengikuti petunjuk dalam dialog konfirmasi dan memilih Confirm.
Saat Pengontrol Kebijakan di-uninstal, kolom status akan menampilkan Not installed do_not_disturb_on.
gcloud
Untuk meng-uninstal Pengontrol Kebijakan, jalankan perintah berikut:
gcloud container fleet policycontroller disable \
--memberships=MEMBERSHIP_NAME
Ganti MEMBERSHIP_NAME dengan nama keanggotaan cluster terdaftar yang akan dinonaktifkan Pengontrol Kebijakan-nya. Anda dapat menentukan beberapa
keanggotaan yang dipisahkan dengan koma.
RBAC dan izin Pengontrol Kebijakan
Pengontrol Kebijakan menyertakan workload dengan hak istimewa tinggi. Izin untuk workload ini tercakup dalam dokumentasi operasi Open Policy Agent Gatekeeper.
Langkah berikutnya
- Pelajari Pengontrol Kebijakan lebih lanjut.
- Pelajari lebih lanjut paket Pengontrol Kebijakan.
- Pelajari cara membuat batasan.
- Memecahkan masalah Pengontrol Kebijakan.