Panduan ini menunjukkan cara menyiapkan Otorisasi Biner untuk menerapkan deployment berbasis kebijakan dari layanan dan tugas Cloud Run.
Sebelum memulai
Siapkan Cloud Run dan aktifkan API, dengan melakukan hal berikut:
- 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.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
-
Aktifkan API Cloud Run, Artifact Registry, Binary Authorization.
- Menginstal Google Cloud CLI.
-
Untuk initialize gcloud CLI, jalankan perintah berikut:
gcloud init
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
-
Aktifkan API Cloud Run, Artifact Registry, Binary Authorization.
- Menginstal Google Cloud CLI.
-
Untuk initialize gcloud CLI, jalankan perintah berikut:
gcloud init
Mengaktifkan Otorisasi Biner pada layanan Cloud Run yang ada
Anda dapat mengaktifkan penerapan Otorisasi Biner pada layanan yang sudah 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
Buka halaman Cloud Run di konsol Google Cloud.
Klik layanan.
Klik tab Keamanan.
Untuk mengaktifkan penerapan Otorisasi Biner pada layanan, klik Enable.
Opsional: Untuk mengonfigurasi kebijakan Otorisasi Biner, klik Configure Policy.
gcloud
Aktifkan Otorisasi Biner pada layanan dan deploy:
gcloud run services update SERVICE_NAME --binary-authorization=default
Ganti SERVICE_NAME
dengan nama layanan Anda.
YAML
Anda dapat mendownload dan melihat konfigurasi layanan yang ada menggunakan
perintah gcloud run services describe --format export
, yang memberikan hasil
yang telah diolah dalam format YAML.
Kemudian, Anda dapat mengubah kolom yang dijelaskan di bawah ini dan
mengunggah YAML yang telah dimodifikasi menggunakan perintah gcloud run services replace
.
Pastikan Anda hanya mengubah kolom seperti yang didokumentasikan.
Untuk melihat dan mengunduh konfigurasi:
gcloud run services describe SERVICE --format export > service.yaml
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
Ganti layanan dengan konfigurasi baru 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
Buka halaman tugas Cloud Run di Konsol Google Cloud.
Klik pekerjaan untuk membuka detail pekerjaan.
Klik tab Configuration.
Di bagian Otorisasi Biner, pilih kebijakan dari daftar kebijakan.
Klik Apply untuk mengaktifkan penerapan Otorisasi Biner pada tugas.
Opsional: Untuk mengonfigurasi kebijakan Otorisasi Biner, klik Configure Policy.
gcloud
Aktifkan Otorisasi Biner pada tugas:
gcloud run jobs update JOB_NAME --binary-authorization=POLICY
Ganti kode berikut:
JOB_NAME
: nama pekerjaan Anda.POLICY
: kebijakan yang ingin Anda terapkan. Gunakan nilaidefault
untuk menggunakan kebijakan default.
Sebaiknya Anda mewajibkan Binary Authorization untuk Cloud Run dengan mengonfigurasi kebijakan organisasi untuk melakukannya. Otorisasi Biner dapat dinonaktifkan oleh developer Cloud Run jika kebijakan ini tidak dikonfigurasi.
Lihat kebijakan
Untuk melihat kebijakan, klik Lihat kebijakan.
Untuk informasi selengkapnya, lihat mengonfigurasi kebijakan Otorisasi Biner.
Kegagalan deployment tugas atau layanan
Jika layanan atau tugas Anda gagal di-deploy karena melanggar kebijakan Otorisasi Biner, Anda mungkin akan melihat error seperti berikut:
Revision REVISION_NAME uses an unauthorized container image. Container image IMAGE_NAME is not authorized by policy.
Error tersebut juga berisi informasi tentang alasan gambar melanggar kebijakan. Dalam hal ini, Anda dapat menggunakan akses darurat untuk mengabaikan penegakan kebijakan dan men-deploy image.
Mengaktifkan Otorisasi Biner pada layanan baru
Anda dapat mengaktifkan Otorisasi Biner pada layanan baru menggunakan konsol Google Cloud atau Google Cloud CLI:
Konsol
Buka halaman Cloud Run:
Klik Create service.
Pada formulir Create service :
- Pilih Cloud Run sebagai platform pengembangan Anda.
- Pilih wilayah tempat Anda ingin layanan berada.
- Masukkan nama layanan.
- Klik Next untuk melanjutkan ke halaman Configure the service's first published.
- Pilih Men-deploy satu revisi dari image container yang sudah ada.
- Masukkan atau pilih image yang akan di-deploy.
- Luaskan bagian Setelan lanjutan.
- Klik tab Keamanan.
Centang kotak Verify container deployment with Binary Authorization.
Opsional: Klik Configure policy untuk mengonfigurasi kebijakan Otorisasi Biner. Untuk mempelajari lebih lanjut cara mengonfigurasi kebijakan, lihat Mengonfigurasi kebijakan.
Men-deploy service.
gcloud
Aktifkan Otorisasi Biner pada layanan dan deploy:
gcloud run deploy SERVICE_NAME --image=IMAGE_URL --binary-authorization=default --region=REGION
Ganti kode berikut:
SERVICE_NAME
: nama 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
Buat tugas baru dengan Otorisasi Biner 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 nilaidefault
untuk menggunakan kebijakan default.- IMAGE_URL dengan mereferensikan ke image container, misalnya,
us-docker.pkg.dev/cloudrun/container/job:latest
. REGION
: region tempat tugas ini akan dijalankan.OPTIONS
: salah satu opsi yang tersedia yang dijelaskan di halaman pembuatan tugas Cloud Run.
Tunggu hingga pembuatan tugas selesai dibuat. Setelah berhasil diselesaikan, konsol akan menampilkan pesan berhasil.
Untuk menjalankan tugas, lihat Menjalankan tugas atau menjalankan tugas sesuai jadwal.
Saat Anda membuat tugas baru, agen layanan Cloud Run harus dapat mengakses container, yang merupakan kasus default.
YAML
Buat file
service.yaml
baru dengan konten ini:apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE annotations: run.googleapis.com/binary-authorization: POLICY spec: template: spec: containers: - image: IMAGE
Ganti kode berikut:
- SERVICE: nama Cloud Run Anda
- IMAGE: URL image container Anda.
- POLICY: tetapkan ke
default
Deploy layanan baru menggunakan perintah berikut:
gcloud run services replace service.yaml
Langkah selanjutnya
- Gunakan attestor
built-by-cloud-build
untuk men-deploy image yang di-build hanya oleh Cloud Build (Pratinjau). - Konfigurasikan kebijakan Otorisasi Biner menggunakan Google Cloud Console atau alat command line.
- Gunakan pengesahan untuk men-deploy hanya image container yang ditandatangani.
- Konfigurasi kebijakan Otorisasi Biner menggunakan Google Cloud Console atau alat command line