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. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. Install the Google Cloud CLI.
  3. To initialize the gcloud CLI, run the following command:

    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. Make sure that billing is enabled for your Google Cloud project.

  6. Aktifkan API Binary Authorization:

    gcloud services enable binaryauthorization.googleapis.com
  7. Install the Google Cloud CLI.
  8. To initialize the gcloud CLI, run the following command:

    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. Make sure that billing is enabled for your Google Cloud project.

  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.