Otorisasi Biner untuk Google Distributed Cloud adalah fitur Google Cloud yang memperluas penerapan Otorisasi Biner saat deployment yang dihosting ke cluster lokal Anda. Kasus penggunaan utama untuk Otorisasi Biner di Google Distributed Cloud adalah untuk mengamankan beban kerja, tetapi Otorisasi Biner berfungsi dengan semua jenis cluster. Ikuti langkah-langkah dalam panduan ini untuk menerapkan aturan penerapan kebijakan Otorisasi Biner yang dikonfigurasi di project Google Cloud ke cluster Anda. Untuk informasi selengkapnya tentang kebijakan dan aturan Otorisasi Biner, lihat Ringkasan Otorisasi Biner.
Prasyarat
Sebelum Anda dapat mengaktifkan penerapan kebijakan Otorisasi Biner untuk cluster, pastikan Anda telah memenuhi kriteria prasyarat berikut:
Mendaftarkan cluster dengan fleet: Cluster yang dibuat dengan
bmctl
, 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 fleet lebih lanjut, 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 armada Anda: Untuk memberikan peran Binary Authorization Policy Evaluator (
roles/binaryauthorization.policyEvaluator
) ke akun layanan Kubernetes di project host armada, 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 validasi dan kontrol deployment berbasis kebijakan untuk image yang di-deploy ke cluster Anda. Untuk mengetahui informasi selengkapnya tentang penggunaan konfigurasi proxy, lihat Menginstal di belakang 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 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, yang juga dikenal sebagai kebijakan project-singleton, di project Google Cloud Anda untuk mengatur deployment image penampung di cluster Anda.DISABLE
: menonaktifkan penggunaan Otorisasi Biner untuk cluster Anda. Ini adalah nilai defaultnya. Jika Anda menghapusbinaryAuthorization
, fitur tersebut akan dinonaktifkan.
Lakukan perubahan lain yang diperlukan dalam file konfigurasi cluster, lalu 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 tanda
--binauthz-evaluation-mode=PROJECT_SINGLETON_POLICY_ENFORCE
saat Anda menjalankan perintahgcloud container bare-metal clusters create
.Tindakan ini akan membuat cluster pengguna yang menerapkan aturan yang ditentukan dalam kebijakan Otorisasi Biner, yang juga dikenal sebagai kebijakan project-singleton. Kebijakan ini dikaitkan dengan project Google Cloud Anda dan menentukan aturan untuk mengatur deployment image container. Untuk mengetahui informasi selengkapnya 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 memiliki cluster versi 1.16 atau yang lebih tinggi, Anda dapat mengaktifkan atau menonaktifkan Otorisasi Biner kapan saja, menggunakan bmctl
atau gcloud CLI.
bmctl
Untuk mengaktifkan:
Edit file konfigurasi cluster untuk menambahkan kolom
binaryAuthorization
:... --- 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 file kubeconfig cluster.
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 singleton project. Kebijakan ini dikaitkan dengan project Google Cloud Anda dan menentukan aturan untuk mengatur deployment image container. Untuk mengetahui informasi selengkapnya tentang cara menggunakan
bmctl
untuk mengupdate cluster, lihat Memperbarui cluster. Untuk informasi selengkapnya tentang kebijakan dan aturan Otorisasi Biner, lihat Ringkasan Otorisasi Biner.
Untuk menonaktifkan:
Fitur ini dapat dinonaktifkan dengan menetapkan
evaluationMode
keDISABLED
atau menghapus bagianbinaryAuthorization
dari spesifikasi cluster. Setelah perubahan ini dilakukan, tunggu beberapa menit hingga Deployment bernamabinauthz-module-deployment
di namespacebinauthz-system
dihapus.
gcloud CLI
Untuk mengaktifkan Otorisasi Biner bagi cluster yang ada, tambahkan flag
--binauthz-evaluation-mode=PROJECT_SINGLETON_POLICY_ENFORCE
saat Anda menjalankan perintahgcloud container bare-metal clusters update
.Tindakan ini akan memperbarui cluster pengguna sehingga Otorisasi Biner menerapkan aturan yang ditentukan dalam kebijakan Otorisasi Biner, yang juga dikenal sebagai kebijakan singleton project. Kebijakan ini dikaitkan dengan project Google Cloud Anda dan menentukan aturan untuk mengatur deployment image penampung. Untuk mengetahui informasi selengkapnya tentang penggunaan gcloud CLI untuk mengupdate cluster pengguna, lihat update cluster bare metal penampung gcloud di Referensi gcloud CLI. Untuk informasi selengkapnya tentang kebijakan dan aturan Otorisasi Biner, lihat Ringkasan Otorisasi Biner.
Untuk menonaktifkan Otorisasi Biner bagi cluster yang ada, jalankan perintah
gcloud container bare-metal clusters update
dengan flag--binauthz-evaluation-mode=DISABLED
.
Pemecahan masalah
Jika tidak menyelesaikan semua prasyarat, Anda mungkin tidak
melihat indikasi awal masalah. Jika Otorisasi Biner mulai gagal merespons permintaan pembuatan Pod, periksa status.conditions
untuk ReplicaSet. Pesan seperti berikut menunjukkan adanya masalah pada
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