Otorisasi Biner untuk Google Distributed Cloud adalah fitur Google Cloud yang memperluas penerapan yang dihosting dan waktu deployment dari Otorisasi Biner ke cluster pengguna lokal Anda. Kasus penggunaan utama Otorisasi Biner di Google Distributed Cloud adalah untuk mengamankan workload di cluster pengguna Anda. Ikuti langkah-langkah dalam panduan ini untuk menerapkan aturan penegakan kebijakan Binary Authorization yang dikonfigurasi di project Anda ke cluster pengguna Anda. Google Cloud Untuk mengetahui informasi selengkapnya tentang kebijakan dan aturan Otorisasi Biner, lihat Ringkasan Otorisasi Biner.
Prasyarat
Sebelum Anda dapat mengaktifkan penerapan kebijakan Binary Authorization untuk cluster pengguna, pastikan Anda telah memenuhi kriteria prasyarat berikut:
Mendaftarkan cluster ke fleet: Untuk cluster yang dibuat dengan
gkectl
, cluster didaftarkan ke project Google Cloud yang Anda tentukan di kolomgkeConnect.projectID
dalam file konfigurasi cluster. Project ini disebut sebagai project host fleet. Untuk mempelajari lebih lanjut fleet, termasuk kasus penggunaan, praktik terbaik, dan contoh, lihat dokumentasi Pengelolaan fleet.Aktifkan Binary Authorization API di project Google Cloud Anda: Aktifkan layanan Binary Authorization di project host fleet Anda.
Tambahkan peran Binary Authorization Policy Evaluator ke project host fleet Anda: Untuk memberikan peran Binary Authorization Policy Evaluator (
roles/binaryauthorization.policyEvaluator
) kepada akun layanan Kubernetes di project host fleet Anda, jalankan perintah berikut:gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:PROJECT_ID.svc.id.goog[binauthz-system/binauthz-agent]" \ --role="roles/binaryauthorization.policyEvaluator"
Jika cluster Anda berjalan di belakang server proxy, pastikan server proxy mengizinkan koneksi ke Binary Authorization API (
binaryauthorization.googleapis.com
). API ini menyediakan validasi dan kontrol deployment berbasis kebijakan untuk image yang di-deploy ke cluster Anda. Untuk mengetahui informasi selengkapnya, lihat Proxy dan aturan firewall proxy.
Setelah memenuhi prasyarat, Anda dapat mengaktifkan (atau menonaktifkan) kebijakan Otorisasi Biner saat membuat cluster baru atau mengupdate cluster yang ada.
Mengaktifkan kebijakan Otorisasi Biner selama pembuatan cluster
Anda dapat mengaktifkan penerapan kebijakan Otorisasi Biner dengan gkectl
atau gcloud CLI.
gkectl
Untuk mengaktifkan Otorisasi Biner saat Anda membuat cluster dengan gkectl
:
Sebelum membuat cluster, tambahkan
binaryAuthorization.evaluationMode
ke file konfigurasi cluster pengguna seperti yang ditunjukkan dalam contoh berikut:... binaryAuthorization: evaluationMode: "project_singleton_policy_enforce" ...
Nilai yang diperbolehkan untuk
evaluationMode
adalah:project_singleton_policy_enforce
: menerapkan aturan yang ditentukan dalam kebijakan Otorisasi Biner, yang juga dikenal sebagai kebijakan project-singleton, di project Google Cloud Anda untuk mengatur deployment image penampung di cluster Anda.disabled
: menonaktifkan penggunaan Otorisasi Biner untuk cluster Anda. Ini adalah nilai defaultnya. Jika Anda menghilangkanbinaryAuthorization
, fitur akan dinonaktifkan.
Lakukan perubahan lain yang diperlukan dalam file konfigurasi cluster, lalu jalankan perintah
gkectl create cluster
.
Untuk mengetahui informasi selengkapnya tentang cara membuat cluster, lihat Ringkasan penginstalan Google Distributed Cloud.
Mengaktifkan atau menonaktifkan kebijakan Otorisasi Biner untuk cluster yang ada
Jika memiliki cluster versi 1.28 atau yang lebih tinggi, Anda dapat mengaktifkan atau menonaktifkan Otorisasi Biner kapan saja, menggunakan gkectl
atau gcloud CLI.
gkectl
Untuk mengaktifkan:
Edit file konfigurasi cluster untuk menambahkan kolom
binaryAuthorization
:... binaryAuthorization: evaluationMode: "project_singleton_policy_enforce"
Update cluster:
gkectl update cluster \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config USER_CLUSTER_CONFIG_FILE \ --force
Ganti kode berikut:
ADMIN_CLUSTER_KUBECONFIG
: jalur file kubeconfig cluster adminUSER_CLUSTER_CONFIG_FILE
: jalur file konfigurasi cluster pengguna Anda.
Tunggu hingga Deployment bernama
binauthz-module-deployment
di namespacebinauthz-system
siap.Saat deployment siap, Otorisasi Biner akan menerapkan aturan yang ditentukan dalam kebijakan Otorisasi Biner, yang juga dikenal sebagai kebijakan project-singleton. Kebijakan ini dikaitkan dengan projectGoogle Cloud Anda dan menentukan aturan untuk mengatur deployment image container. Untuk mengetahui informasi selengkapnya tentang penggunaan
gkectl
untuk mengupdate cluster, lihat Mengupdate cluster. Untuk mengetahui informasi selengkapnya tentang kebijakan dan aturan Otorisasi Biner, lihat Ringkasan Otorisasi Biner.
Untuk menonaktifkan:
Edit file konfigurasi cluster dan hapus bagian
binaryAuthorization
atau tetapkanevaluationMode
kedisabled
.... binaryAuthorization: evaluationMode: "disabled"
Update cluster:
gkectl update cluster \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config USER_CLUSTER_CONFIG_FILE \ --force
Setelah Anda melakukan perubahan ini, tunggu beberapa menit hingga Deployment bernama
binauthz-module-deployment
di namespacebinauthz-system
dihapus.
Pemecahan masalah
Jika Anda tidak menyelesaikan semua prasyarat, Anda mungkin melihat pesan seperti berikut yang menunjukkan bahwa ada masalah dengan konfigurasi Otorisasi Biner:
failed to validate Binary Authorization policy (1) Ensure the Binary Authorization API is enabled for your Google Cloud project: gcloud services enable binaryauthorization.googleapis.com --project=PROJECT_ID (2) Ensure an IAM policy binding is in place granting binaryauthorization.policyEvaluator role to the binauthz-system/binauthz-agent Kubernetes service account: gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:PROJECT_ID.svc.id.goog[binauthz-system/binauthz-agent]" \ --role=roles/binaryauthorization.policyEvaluator