Mengaktifkan Otorisasi Biner untuk Cloud Run

Panduan ini menunjukkan cara menyiapkan Otorisasi Biner untuk menerapkan deployment layanan dan tugas Cloud Run berbasis kebijakan.

Sebelum memulai

Siapkan Cloud Run dan aktifkan API dengan melakukan tindakan berikut:

  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. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Cloud Run, Artifact Registry, Binary Authorization APIs.

    Enable the APIs

  5. Install the Google Cloud CLI.
  6. To initialize the gcloud CLI, run the following command:

    gcloud init
  7. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  8. Make sure that billing is enabled for your Google Cloud project.

  9. Enable the Cloud Run, Artifact Registry, Binary Authorization APIs.

    Enable the APIs

  10. Install the Google Cloud CLI.
  11. To initialize the gcloud CLI, run the following command:

    gcloud init

Mengaktifkan Otorisasi Biner di layanan Cloud Run yang ada

Anda dapat mengaktifkan penerapan Otorisasi Biner pada layanan yang ada. Untuk mengaktifkan penerapan setelah mengaktifkannya, Anda mungkin perlu men-deploy revisi atau memperbarui traffic layanan.

Anda dapat mengaktifkan penerapan Otorisasi Biner pada layanan yang ada menggunakan Konsol Google Cloud atau Google Cloud CLI:

Konsol

  1. Buka halaman Cloud Run di konsol Google Cloud.

    Buka Cloud Run

  2. Klik layanan.

  3. Klik tab Keamanan.

  4. Untuk mengaktifkan penerapan Otorisasi Biner di layanan, klik Aktifkan.

  5. Opsional: Untuk mengonfigurasi kebijakan Otorisasi Biner, klik Konfigurasikan Kebijakan.

gcloud

Aktifkan Otorisasi Biner di layanan dan deploy:

gcloud run services update SERVICE_NAME --binary-authorization=default

Ganti SERVICE_NAME dengan nama untuk layanan Anda.

YAML

  1. Jika Anda membuat layanan baru, lewati langkah ini. Jika Anda mengupdate layanan yang sudah ada, download konfigurasi YAML-nya:

    gcloud run services describe SERVICE --format export > service.yaml
  2. Update anotasi run.googleapis.com/binary-authorization: sebagai berikut:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      annotations:
        run.googleapis.com/binary-authorization: POLICY
      name: SERVICE
    spec:
      template:

    Ganti kode berikut:

    • SERVICE: nama Cloud Run Anda
    • POLICY: tetapkan ke default
  3. Ganti layanan dengan konfigurasi barunya menggunakan perintah berikut:

gcloud run services replace service.yaml

Mengaktifkan Otorisasi Biner pada tugas Cloud Run yang ada

Anda dapat mengaktifkan penerapan Otorisasi Biner pada tugas yang ada menggunakan Konsol Google Cloud atau Google Cloud CLI:

Konsol

  1. Buka halaman tugas Cloud Run di konsol Google Cloud.

    Buka Cloud Run

  2. Klik tugas untuk membuka detail tugas.

  3. Klik tab Configuration.

  4. Di bagian Otorisasi Biner, pilih kebijakan dari daftar kebijakan.

  5. Klik Terapkan untuk mengaktifkan penerapan Otorisasi Biner pada tugas.

  6. Opsional: Untuk mengonfigurasi kebijakan Otorisasi Biner, klik Konfigurasikan Kebijakan.

gcloud

Aktifkan Otorisasi Biner pada tugas:

gcloud run jobs update JOB_NAME --binary-authorization=POLICY

Ganti kode berikut:

  • JOB_NAME: nama tugas Anda.
  • POLICY: kebijakan yang ingin Anda terapkan. Gunakan nilai default untuk menggunakan kebijakan default.

Sebaiknya wajibkan Otorisasi Biner untuk Cloud Run dengan mengonfigurasi kebijakan organisasi untuk melakukannya. Otorisasi Biner dapat dinonaktifkan oleh developer Cloud Run jika kebijakan tidak dikonfigurasi.

Melihat kebijakan

Untuk melihat kebijakan, klik Lihat kebijakan.

Untuk informasi selengkapnya, lihat mengonfigurasi kebijakan Otorisasi Biner.

Kegagalan deployment layanan atau tugas

Jika layanan atau tugas gagal di-deploy karena melanggar kebijakan Otorisasi Biner, Anda mungkin melihat error seperti berikut:

Revision REVISION_NAME uses an unauthorized container image.
Container image IMAGE_NAME is not authorized by policy.

Error ini juga berisi informasi tentang alasan gambar melanggar kebijakan. Dalam hal ini, Anda dapat menggunakan breakglass untuk mengabaikan penerapan kebijakan dan men-deploy image.

Mengaktifkan Otorisasi Biner di layanan baru

Anda dapat mengaktifkan Otorisasi Biner di layanan baru menggunakan Konsol Google Cloud atau Google Cloud CLI:

Konsol

  1. Buka halaman Cloud Run:

    Buka Cloud Run

  2. Klik Create service.

  3. Di formulir Create service :

    1. Pilih Cloud Run sebagai platform pengembangan Anda.
    2. Pilih region tempat Anda ingin layanan berada.
    3. Masukkan nama layanan.
    4. Klik Berikutnya untuk melanjutkan ke halaman Mengonfigurasi revisi pertama layanan.
    5. Pilih Men-deploy satu revisi dari image container yang sudah ada.
    6. Masukkan atau pilih image yang akan di-deploy.
    7. Luaskan bagian Advanced settings.
    8. Klik tab Keamanan.
    9. Centang kotak Verify container deployment with Binary Authorization.

    10. Opsional: Klik Configure policy untuk mengonfigurasi kebijakan Otorisasi Biner. Untuk mempelajari lebih lanjut cara mengonfigurasi kebijakan, lihat Mengonfigurasi kebijakan

    11. Men-deploy service.

gcloud

Aktifkan Otorisasi Biner di layanan dan deploy:

  gcloud run deploy SERVICE_NAME --image=IMAGE_URL --binary-authorization=default --region=REGION

Ganti kode berikut:

  • SERVICE_NAME: nama untuk layanan Anda.
  • IMAGE_URL: image yang ingin Anda deploy.
  • REGION: region tempat Anda ingin men-deploy layanan.

Mengaktifkan Otorisasi Biner pada tugas baru

Anda dapat mengaktifkan Otorisasi Biner pada tugas baru menggunakan Google Cloud CLI:

gcloud

  1. Buat tugas baru dengan Otorisasi Biner yang diaktifkan:

    gcloud run jobs create JOB_NAME \
      --image IMAGE_URL OPTIONS \
      --binary-authorization=POLICY \
      --region=REGION

    Ganti kode berikut:

    • JOB_NAME: nama tugas yang ingin Anda buat. Anda dapat menghilangkan parameter ini, tetapi Anda akan diminta untuk memasukkan nama tugas jika menghilangkannya.
    • POLICY: kebijakan yang ingin Anda terapkan. Gunakan nilai default untuk menggunakan kebijakan default.
    • IMAGE_URL dengan referensi ke image container, misalnya, us-docker.pkg.dev/cloudrun/container/job:latest.
    • REGION: region tempat tugas ini akan berjalan.
    • OPTIONS: salah satu opsi yang tersedia yang dijelaskan di halaman pembuatan tugas Cloud Run.
  2. Tunggu hingga pembuatan tugas selesai dibuat. Setelah berhasil diselesaikan, konsol akan menampilkan pesan berhasil.

  3. Untuk menjalankan tugas, lihat Jalankan tugas atau jalankan tugas sesuai jadwal.

Saat Anda membuat tugas baru, agen layanan Cloud Run harus dapat mengakses container, yang merupakan kasus default.

YAML

  1. Buat file job.yaml baru dengan konten ini:

    apiVersion: run.googleapis.com/v1
    kind: Job
    metadata:
      name: JOB
      annotations:
        run.googleapis.com/binary-authorization: POLICY
    spec:
      template:
        spec:
          containers:
          - image: IMAGE

    Ganti kode berikut:

    • JOB: nama tugas Cloud Run Anda
    • IMAGE: URL image container Anda
    • POLICY: tetapkan ke default
  2. Deploy tugas baru menggunakan perintah berikut:

    gcloud run jobs replace job.yaml

Langkah selanjutnya