Mengonfigurasi kebijakan Otorisasi Biner dengan Cloud Run

Panduan memulai ini menunjukkan cara mengonfigurasi dan menguji aturan dasar dalam kebijakan Otorisasi Biner dengan Cloud Run.

Dalam panduan memulai ini, Anda akan menggunakan Otorisasi Biner untuk mengontrol deployment layanan Cloud Run.

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

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

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

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. Instal Google Cloud CLI.

  6. Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

  7. Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:

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

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  9. Verify that billing is enabled for your Google Cloud project.

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

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  11. Instal Google Cloud CLI.

  12. Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

  13. Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:

    gcloud init

Membuat layanan dengan Otorisasi Biner yang diaktifkan

Untuk membuat layanan Cloud Run dengan Otorisasi Biner diaktifkan, lakukan hal berikut:

  1. Buka Cloud Run

  2. Klik Buat layanan untuk menampilkan formulir Buat layanan:

    gambar

    Dalam formulir yang ditampilkan, lakukan hal berikut:

    1. Pilih Cloud Run sebagai platform pengembangan Anda.
    2. Pilih wilayah tempat Anda ingin layanan berada.
    3. Tentukan nama yang ingin Anda berikan ke layanan—misalnya, test-service.
    4. Klik Next untuk melanjutkan ke halaman Configure the service's first revision.

      Dalam formulir, lakukan hal berikut:

      1. Pilih Men-deploy satu revisi dari image container yang sudah ada.
      2. Gunakan us-docker.pkg.dev/cloudrun/container/hello sebagai image container.

      3. Luaskan bagian Setelan lanjutan.

      4. Klik tab Security.

      5. Centang kotak Verifikasi deployment penampung dengan Otorisasi Biner:

        gambar

        Secara default, kebijakan Otorisasi Biner mengizinkan semua image untuk di-deploy.

      6. Klik Berikutnya untuk melanjutkan ke halaman Konfigurasi cara layanan ini dipicu:

        gambar

      7. Pilih Izinkan akses publik agar dapat membuka hasil di browser web Anda

      8. Klik Create untuk men-deploy image ke Cloud Run dan tunggu hingga deployment selesai.

      Layanan Anda di-deploy. Revisi tunduk pada penegakan kebijakan Otorisasi Biner.

Memperbarui kebijakan Otorisasi Biner untuk melarang semua image

Kebijakan Otorisasi Biner berisi aturan default. Aturan ini mengatur deployment layanan Cloud Run yang baru saja Anda buat.

Secara default, aturan ini mengizinkan semua image container di-deploy.

Untuk melihat kebijakan default, lakukan hal berikut:

  1. Buka Otorisasi Biner

    Screenshot tab kebijakan yang menampilkan aturan default

  2. Klik Edit Kebijakan.

  3. Di Project Default Rule, perhatikan bahwa opsi Allow All Images dipilih.

    Screenshot opsi untuk memilih jenis aturan default

Sekarang, ubah kebijakan untuk memblokir semua image agar tidak di-deploy, dengan melakukan tindakan berikut:

  1. Buka halaman Binary Authorization di konsol Google Cloud .

    Buka Otorisasi Biner

  2. Klik Edit Kebijakan.

  3. Di Default rule, pilih Disallow All Images.

    Screenshot opsi untuk memilih jenis aturan default

  4. Klik Simpan Kebijakan.

Men-deploy ulang layanan

Uji kebijakan yang diperbarui dengan men-deploy revisi baru.

Untuk men-deploy image, lakukan hal berikut:

  1. Buka Cloud Run

  2. Klik nama layanan yang Anda deploy sebelumnya dalam panduan ini.

  3. Klik Edit dan deploy revisi baru.

  4. Klik Deploy.

Anda akan melihat pesan error yang mirip dengan berikut ini:

Service update rejected by Binary Authorization policy: Revision
REVISION uses unauthorized container image. Container image 'us-docker.pkg.dev/cloudrun/container/hello@SHA' is not authorized by policy. Denied by an ALWAYS_DENY admission rule

Mereset kebijakan untuk mengizinkan semua gambar

Untuk mereset kebijakan agar mengizinkan semua gambar, lakukan hal berikut:

  1. Buka halaman Binary Authorization di konsol Google Cloud .

    Buka Otorisasi Biner

  2. Klik Edit Kebijakan.

  3. Pilih Izinkan Semua Gambar.

  4. Untuk menyimpan kebijakan, klik Simpan Kebijakan.

Anda kini dapat men-deploy gambar.

Pembersihan

Agar akun Google Cloud Anda tidak dikenai biaya untuk resource yang digunakan pada halaman ini, ikuti langkah-langkah berikut.

Untuk menghapus layanan yang Anda buat di Cloud Run, lakukan tindakan berikut:

  1. Buka Cloud Run

  2. Temukan layanan yang ingin Anda hapus dalam daftar layanan, lalu klik kotak centang layanan tersebut untuk memilihnya.

  3. Klik Hapus. Tindakan ini akan menghapus semua revisi layanan.

Untuk menonaktifkan Otorisasi Biner, lihat Menonaktifkan Otorisasi Biner.

Langkah berikutnya