Otorisasi Biner untuk Google Distributed Cloud adalah fitur Google Cloud yang memperpanjang penerapan waktu deploy yang dihosting Otorisasi Biner ke infrastruktur lokal Anda klaster. Kasus penggunaan utama Otorisasi Biner pada Google Distributed Cloud berfungsi untuk mengamankan workload, tetapi Otorisasi Biner berfungsi dengan semua jenis cluster. Ikuti langkah-langkah dalam panduan ini untuk menerapkan penegakan aturan kebijakan Otorisasi Biner yang dikonfigurasi di project Google Cloud Anda untuk ke cluster Anda. Untuk informasi selengkapnya tentang kebijakan Otorisasi Biner dan aturan, lihat Otorisasi Biner ringkasan.
Prasyarat
Sebelum Anda dapat mengaktifkan penerapan kebijakan Otorisasi Biner untuk cluster, pastikan Anda telah memenuhi kriteria prasyarat berikut:
Daftarkan cluster ke fleet: Cluster yang dibuat dengan
bmctl
, terdaftar ke project Google Cloud yang Anda tentukan di kolomgkeConnect.projectID
dalam file konfigurasi cluster. Ini disebut sebagai host perlengkapan project Anda. Untuk mempelajari perangkat lebih lanjut, termasuk kasus penggunaan, praktik terbaik, dan lihat contohnya, lihat Manajemen perangkat dokumentasi layanan.Aktifkan Binary Authorization API di project Google Cloud: aktifkan layanan Otorisasi Biner project host fleet Anda.
Menambahkan peran Binary Authorization Policy Evaluator ke host fleet project: Untuk memberikan Evaluator Kebijakan Otorisasi Biner Peran (
roles/binaryauthorization.policyEvaluator
) ke layanan Kubernetes akun Anda di project host fleet, 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 memungkinkan koneksi ke Binary Authorization API (
binaryauthorization.googleapis.com
). API ini menyediakan solusi berbasis kebijakan validasi dan kontrol deployment untuk gambar yang di-deploy ke cluster. Sebagai Untuk informasi selengkapnya tentang cara menggunakan konfigurasi proxy, lihat Menginstal di balik proxy.
Setelah memenuhi prasyarat, Anda dapat mengaktifkan (atau menonaktifkan) Kebijakan Otorisasi Biner saat Anda membuat cluster baru atau mengupdate cluster yang ada .
Mengaktifkan kebijakan Otorisasi Biner selama pembuatan cluster
Anda dapat mengaktifkan penerapan kebijakan Otorisasi Biner dengan bmctl
atau gcloud CLI.
bmctl
Untuk mengaktifkan Otorisasi Biner saat Anda membuat cluster dengan bmctl
:
Sebelum membuat cluster, tambahkan
spec.binaryAuthorization.evaluationMode
ke file konfigurasi cluster seperti yang ditunjukkan dalam contoh berikut:... --- apiVersion: baremetal.cluster.gke.io/v1 kind: Cluster metadata: name: user-basic namespace: cluster-user-basic spec: type: user ... binaryAuthorization: evaluationMode: "PROJECT_SINGLETON_POLICY_ENFORCE"
Nilai yang diizinkan untuk
evaluationMode
adalah:PROJECT_SINGLETON_POLICY_ENFORCE
: menerapkan aturan yang ditentukan dalam Kebijakan Otorisasi Biner, juga dikenal sebagai project-singleton , di project Google Cloud Anda untuk mengatur deployment image container di cluster Anda.DISABLE
: menonaktifkan penggunaan Otorisasi Biner untuk cluster Anda. Ini adalah nilai defaultnya. Jika Anda menghilangkanbinaryAuthorization
, dinonaktifkan.
Buat perubahan lain yang diperlukan di file konfigurasi cluster, lalu buat perubahan jalankan perintah
bmctl create cluster
.
Untuk informasi selengkapnya tentang cara membuat cluster, lihat Ringkasan pembuatan cluster.
gcloud CLI
Untuk membuat cluster pengguna dan mengaktifkan Otorisasi Biner, tambahkan
--binauthz-evaluation-mode=PROJECT_SINGLETON_POLICY_ENFORCE
flag saat Anda dapat menjalankan perintahgcloud container bare-metal clusters create
.Perintah ini membuat cluster pengguna yang menerapkan aturan yang ditentukan dalam Kebijakan Otorisasi Biner, yang juga dikenal sebagai project-singleton kebijakan kami. Kebijakan ini terkait dengan project Google Cloud Anda dan menentukan aturan untuk mengatur deployment image container. Untuk selengkapnya informasi tentang penggunaan gcloud CLI untuk membuat cluster pengguna, lihat Membuat cluster pengguna menggunakan klien GKE On-Prem API. Untuk informasi selengkapnya tentang kebijakan dan aturan Otorisasi Biner, lihat Ringkasan Otorisasi Biner.
Mengaktifkan atau menonaktifkan kebijakan Otorisasi Biner untuk cluster yang ada
Jika sudah memiliki cluster versi 1.16 atau yang lebih baru, Anda dapat mengaktifkan atau
nonaktifkan Otorisasi Biner kapan saja, menggunakan bmctl
atau
dengan gcloud CLI
bmctl
Untuk mengaktifkan:
Edit file konfigurasi cluster untuk menambahkan
binaryAuthorization
bidang:... --- apiVersion: baremetal.cluster.gke.io/v1 kind: Cluster metadata: name: user-basic namespace: cluster-user-basic spec: type: user ... binaryAuthorization: evaluationMode: "PROJECT_SINGLETON_POLICY_ENFORCE"
Update cluster:
bmctl update cluster -c CLUSTER_NAME --admin-kubeconfig=CLUSTER_KUBECONFIG
Ganti kode berikut:
CLUSTER_NAME
: nama cluster yang akan diperbarui.CLUSTER_KUBECONFIG
: jalur ke cluster {i>kubeconfig<i}.
Tunggu Deployment bernama
binauthz-module-deployment
di Namespacebinauthz-system
yang akan siap.Saat deployment siap, Otorisasi Biner akan menerapkan aturan yang disebutkan dalam kebijakan Otorisasi Biner, yang juga dikenal sebagai kebijakan project-singleton Anda. Kebijakan ini terkait dengan project Google Cloud dan menentukan aturan untuk mengatur deployment image container. Untuk informasi selengkapnya tentang penggunaan
bmctl
guna mengupdate cluster, lihat Mengupdate cluster. Untuk informasi selengkapnya tentang kebijakan dan aturan Otorisasi Biner, lihat Ringkasan Otorisasi Biner.
Untuk menonaktifkan:
Fitur ini dapat dinonaktifkan dengan menyetel
evaluationMode
keDISABLED
atau menghapus bagianbinaryAuthorization
dari spesifikasi cluster. Satu kali perubahan ini dibuat, tunggu beberapa menit hingga Deployment bernamabinauthz-module-deployment
dalam namespacebinauthz-system
dihapus.
gcloud CLI
Untuk mengaktifkan Otorisasi Biner untuk cluster yang ada, tambahkan
--binauthz-evaluation-mode=PROJECT_SINGLETON_POLICY_ENFORCE
flag saat Anda dapat menjalankan perintahgcloud container bare-metal clusters update
.Perintah ini memperbarui cluster pengguna sehingga Otorisasi Biner menerapkan aturan yang ditentukan dalam kebijakan Otorisasi Biner, yang juga dikenal sebagai kebijakan project-singleton Anda. Kebijakan ini terkait dengan Project Google Cloud dan menentukan aturan untuk mengatur deployment container gambar. Untuk mengetahui informasi selengkapnya tentang penggunaan gcloud CLI untuk mengupdate cluster pengguna, lihat update cluster bare-metal gcloud container dalam Referensi gcloud CLI. Untuk informasi selengkapnya tentang kebijakan dan aturan Otorisasi Biner, lihat Ringkasan Otorisasi Biner.
Untuk menonaktifkan Otorisasi Biner untuk cluster yang ada, jalankan perintah
gcloud container bare-metal clusters update
dengan tanda--binauthz-evaluation-mode=DISABLED
.
Pemecahan masalah
Jika belum menyelesaikan semua prasyarat, Anda mungkin tidak
melihat indikasi awal masalah. Jika Otorisasi Biner mulai gagal
untuk merespons permintaan pembuatan Pod, periksa status.conditions
untuk
ReplicaSet. Pesan seperti berikut menunjukkan adanya 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