Mengonfigurasi akses lintas project di GKE

Halaman ini menunjukkan cara memberi Otorisasi Biner akses ke kebijakan dan image container yang ada di project Google Cloud yang berbeda dengan project Anda saat ini. Misalnya, jika Anda men-deploy image di cluster Google Kubernetes Engine (GKE) dari repositori Artifact Registry atau Container Registry (Deprecated) yang dimiliki oleh project yang berbeda, Anda harus memberikan layanan Otorisasi Biner dalam project Anda akses ke metadata image di repositori sumber.

Terminologi

Dokumen ini menggunakan istilah berikut:

  • Agen layanan: Akun layanan yang dikelola Google Cloud. Otorisasi Biner menggunakan agen layanan untuk berinteraksi dengan resource Google Cloud Anda, seperti cluster GKE.
  • Project kebijakan: Project Google Cloud yang berisi kebijakan Otorisasi Biner Anda.
  • Project cluster: Project Google Cloud yang berisi cluster GKE Anda.
  • Project artefak: Project Google Cloud yang berisi repositori Artifact Registry atau Container Registry (Tidak digunakan lagi).

Skenario yang memerlukan akses lintas-project

Anda harus memberikan izin lintas project dalam situasi seperti berikut:

  • Project kebijakan berbeda dengan project cluster Anda.
  • Project cluster berbeda dari project artefak Anda.

Sebelum memulai

  1. Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
  2. Menginstal Google Cloud CLI.
  3. Untuk initialize gcloud CLI, jalankan perintah berikut:

    gcloud init
  4. Buat atau pilih project Google Cloud.

    • Membuat project Google Cloud:

      gcloud projects create PROJECT_ID

      Ganti PROJECT_ID dengan nama untuk project Google Cloud yang Anda buat.

    • Pilih project Google Cloud yang Anda buat:

      gcloud config set project PROJECT_ID

      Ganti PROJECT_ID dengan nama project Google Cloud Anda.

  5. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.

  6. Aktifkan API Binary Authorization:

    gcloud services enable binaryauthorization.googleapis.com
  7. Menginstal Google Cloud CLI.
  8. Untuk initialize gcloud CLI, jalankan perintah berikut:

    gcloud init
  9. Buat atau pilih project Google Cloud.

    • Membuat project Google Cloud:

      gcloud projects create PROJECT_ID

      Ganti PROJECT_ID dengan nama untuk project Google Cloud yang Anda buat.

    • Pilih project Google Cloud yang Anda buat:

      gcloud config set project PROJECT_ID

      Ganti PROJECT_ID dengan nama project Google Cloud Anda.

  10. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.

  11. Aktifkan API Binary Authorization:

    gcloud services enable binaryauthorization.googleapis.com

Project cluster berbeda dengan project kebijakan

Memberi agen layanan Otorisasi Biner dalam project cluster peran Binary Authorization Policy Evaluator (roles/binaryauthorization.policyEvaluator) pada project kebijakan.

gcloud projects add-iam-policy-binding POLICY_PROJECT_ID \
  --member="serviceAccount:service-$(gcloud projects describe CLUSTER_PROJECT_ID --format='value(projectNumber)')@gcp-sa-binaryauthorization.iam.gserviceaccount.com" \
  --role=roles/binaryauthorization.policyEvaluator

Ganti kode berikut:

  • POLICY_PROJECT_ID: ID project yang berisi kebijakan Anda.
  • CLUSTER_PROJECT_ID: project ID cluster.

Project cluster berbeda dengan project artefak

Berikan peran Artifact Registry Reader (roles/artifactregistry.reader) pada project artefak kepada agen layanan Otorisasi Biner dalam project cluster.

gcloud projects add-iam-policy-binding ARTIFACT_PROJECT_ID \
    --member="serviceAccount:service-$(gcloud projects describe CLUSTER_PROJECT_ID --format='value(projectNumber)')@gcp-sa-binaryauthorization.iam.gserviceaccount.com" \
    --role=roles/artifactregistry.reader

Ganti kode berikut:

  • ARTIFACT_PROJECT_ID: ID project yang berisi repositori Artifact Registry Anda.
  • CLUSTER_PROJECT_ID: project ID yang menjalankan cluster GKE Anda.