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
- 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.
-
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
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
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 theserviceusage.services.enable
permission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init
-
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
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
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 theserviceusage.services.enable
permission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init
Klik Buat layanan untuk menampilkan formulir Buat layanan:
Dalam formulir yang ditampilkan, lakukan hal berikut:
- Pilih Cloud Run sebagai platform pengembangan Anda.
- Pilih wilayah tempat Anda ingin layanan berada.
- Tentukan nama yang ingin Anda berikan ke layanan Anda—misalnya,
test-service
. Klik Next untuk melanjutkan ke halaman Configure the service's first revision.
Dalam formulir, lakukan hal berikut:
- Pilih Men-deploy satu revisi dari image container yang sudah ada.
Gunakan
us-docker.pkg.dev/cloudrun/container/hello
sebagai image container.Luaskan bagian Setelan lanjutan.
Klik tab Keamanan.
Centang kotak Verifikasi deployment container dengan Otorisasi Biner:
Secara default, kebijakan Otorisasi Biner mengizinkan semua image untuk di-deploy.
Klik Berikutnya untuk melanjutkan ke halaman Konfigurasi cara layanan ini dipicu:
Pilih Izinkan akses publik agar dapat membuka hasil di browser web Anda
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.
-
Klik Edit Kebijakan.
Di Project Default Rule, perhatikan bahwa opsi Allow All Images dipilih.
Buka halaman Binary Authorization di konsol Google Cloud .
Klik Edit Kebijakan.
Di Aturan default, pilih Jangan Izinkan Semua Gambar.
Klik Simpan Kebijakan.
Klik nama layanan yang Anda deploy sebelumnya dalam panduan ini.
Klik Edit dan deploy revisi baru.
Klik Deploy.
Buka halaman Binary Authorization di konsol Google Cloud .
Klik Edit Kebijakan.
Pilih Izinkan Semua Gambar.
Untuk menyimpan kebijakan, klik Simpan Kebijakan.
Temukan layanan yang ingin Anda hapus dalam daftar layanan, lalu klik kotak centang layanan tersebut untuk memilihnya.
Klik Hapus. Tindakan ini akan menghapus semua revisi layanan.
Gunakan breakglass untuk melewati penerapan Otorisasi Biner.
Gunakan pengesah
built-by-cloud-build
untuk men-deploy hanya image yang dibuat oleh Cloud Build.Konfigurasi kebijakan Otorisasi Biner menggunakan konsolGoogle Cloud atau alat command line.
Lihat peristiwa Otorisasi Biner untuk Cloud Run di Cloud Audit Logs.
Membuat layanan dengan Otorisasi Biner diaktifkan
Untuk membuat layanan Cloud Run dengan Otorisasi Biner diaktifkan, lakukan hal berikut:
Perbarui 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:
Sekarang, ubah kebijakan untuk memblokir semua gambar agar tidak di-deploy, dengan melakukan hal berikut:
Men-deploy ulang layanan
Uji kebijakan yang diperbarui dengan men-deploy revisi baru.
Untuk men-deploy image, lakukan hal berikut:
Anda akan melihat pesan error yang mirip dengan berikut ini:
Service update rejected by Binary Authorization policy: RevisionREVISION
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:
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 hal berikut:
Untuk menonaktifkan Otorisasi Biner, lihat Menonaktifkan Otorisasi Biner.