Secara default, hanya pemilik project dan editor yang dapat membuat, memperbarui, menghapus, atau memanggil resource Cloud Run, dan hanya pemilik project serta Admin Cloud Run yang dapat mengubah kebijakan Identity and Access Management (IAM). Misalnya, membuat layanan menjadi publik. Lihat Peran IAM Cloud Run untuk mengetahui detailnya.
Untuk mengizinkan akun utama atau grup lain melakukan tindakan ini, gunakan IAM untuk memberikan peran ke berbagai akun utama.
Jika Anda telah membuat atau men-deploy fungsi menggunakan perintah
gcloud functions atau
Cloud Functions v2 API dan perlu
menggunakan opsi ini untuk kompatibilitas mundur, lihat
Kontrol akses dengan IAM.
Peran bawaan Cloud Run
Dibandingkan dengan peran dasar (Pemilik, Editor, dan Viewer), peran bawaan berikut memiliki kontrol akses yang lebih terperinci untuk mengakses resource Cloud Run:
| Peran | Deskripsi |
|---|---|
Admin Cloud Run (roles/run.admin) |
Dapat membuat, memperbarui, dan menghapus layanan, tugas, dan kumpulan pekerja, dapat mengambil, mencantumkan, menghapus eksekusi tugas. Dapat memanggil layanan dan tugas, dapat membatalkan eksekusi tugas. Dapat mengambil dan menetapkan kebijakan IAM. Dapat melihat, menerapkan, dan menutup rekomendasi. Memerlukan konfigurasi tambahan untuk men-deploy layanan. |
Cloud Run Developer (roles/run.developer) |
Dapat membuat, mengupdate, dan menghapus layanan, tugas, dan kumpulan pekerja, dapat mengambil, mencantumkan, menghapus eksekusi tugas. Dapat mengambil, tetapi tidak dapat menetapkan kebijakan IAM. Dapat melihat, menerapkan, dan menutup rekomendasi. |
Cloud Run Viewer (roles/run.viewer) |
Dapat melihat layanan, tugas, eksekusi tugas, dan kumpulan pekerja. Dapat mendapatkan kebijakan IAM. Dapat melihat rekomendasi. |
Cloud Run Invoker (roles/run.invoker) |
Dapat memanggil layanan dan tugas, dapat membatalkan eksekusi tugas. |
Cloud Run Source Developer (roles/run.sourceDeveloper) |
Dapat men-deploy dan mengelola resource yang di-deploy dari sumber Cloud Run. |
Cloud Run Builder (roles/run.builder) |
Dapat membangun fungsi Cloud Run dan layanan yang di-deploy dari sumber. |
Cloud Run Service Invoker (roles/run.servicesInvoker) |
Dapat memanggil layanan Cloud Run. |
Cloud Run Jobs Executor (roles/run.jobsExecutor) |
Dapat menjalankan dan membatalkan tugas Cloud Run. |
Cloud Run Jobs Executor With Overrides (roles/run.jobsExecutorWithOverrides) |
Dapat menjalankan dan membatalkan tugas Cloud Run dengan penggantian. |
Mengontrol akses pada setiap resource Cloud Run
Anda dapat mengontrol akses berdasarkan layanan, tugas, atau kumpulan pekerja tertentu menggunakan IAM.
Menambahkan akun utama
Untuk menambahkan akun utama ke layanan:
Konsol
- Buka konsol Google Cloud :
- Klik kotak centang di samping layanan yang ingin Anda tambahkan akun utama. Jangan mengklik layanan itu sendiri.
- Di panel informasi pojok kanan atas, klik tab Izin. Jika panel informasi tidak terlihat, Anda mungkin perlu mengklik Tampilkan Panel Info, lalu klik Izin.
- Klik Add principal.
- Di kolom New principals, masukkan satu atau beberapa identitas yang memerlukan akses ke layanan Anda.
- Dari menu drop-down Assign roles, pilih satu atau beberapa peran. Peran yang Anda pilih akan muncul di panel dengan deskripsi singkat tentang izin yang diberikan.
- Klik Simpan.
gcloud
Gunakan perintah berikut:
gcloud run services add-iam-policy-binding SERVICE_NAME \ --member=PRINCIPAL \ --role=ROLE
Ganti kode berikut:
SERVICE_NAME: nama layanan.PRINCIPAL: jenis principal (misalnya,user:email@domain.com). Untuk mengetahui daftar nilai yang dapat diterima untukPRINCIPAL, lihat ID principal.ROLE: peran. Untuk mengetahui daftar nilai yang dapat diterima untukROLE, lihat Peran IAM Cloud Run.
Untuk menambahkan akun utama ke tugas:
Konsol
- Buka konsol Google Cloud :
- Klik kotak centang di sebelah kiri tugas yang ingin Anda tambahkan akun utama. Jangan mengklik tugas.
- Di panel informasi pojok kanan atas, klik tab Izin. Jika panel informasi tidak terlihat, Anda mungkin perlu mengklik Tampilkan Panel Info, lalu klik Izin.
- Klik Add principal.
- Di kolom Akun utama baru, masukkan satu atau beberapa identitas yang memerlukan akses ke tugas Anda.
- Dari menu Assign roles, pilih satu atau beberapa peran. Peran yang Anda pilih akan muncul di panel dengan deskripsi singkat tentang izin yang diberikan.
- Klik Simpan.
gcloud
Gunakan perintah berikut:
gcloud run jobs add-iam-policy-binding JOB_NAME \ --member=PRINCIPAL \ --role=ROLE
Ganti kode berikut:
JOB_NAME: nama tugas.PRINCIPAL: jenis akun utama (misalnya,user:email@domain.com). Untuk mengetahui daftar nilai yang dapat diterima untukPRINCIPAL, lihat ID utama.ROLE: peran. Untuk mengetahui daftar nilai yang dapat diterima untukROLE, lihat Peran IAM Cloud Run.
Untuk menambahkan akun utama ke gabungan worker:
Konsol
- Buka konsol Google Cloud :
- Centang kotak di samping kumpulan pekerja yang ingin Anda tambahi akun utama. Jangan mengklik kumpulan pekerja.
- Di panel informasi pojok kanan atas, klik tab Izin. Jika panel informasi tidak terlihat, Anda mungkin perlu mengklik Tampilkan Panel Info, lalu klik Izin.
- Klik Add principal.
- Di kolom New principals, masukkan satu atau beberapa identitas yang memerlukan akses ke kumpulan pekerja Anda.
- Dari menu Assign roles, pilih satu atau beberapa peran. Peran yang Anda pilih akan muncul di panel dengan deskripsi singkat tentang izin yang diberikan.
- Klik Simpan.
gcloud
Gunakan perintah berikut:
gcloud run worker-pools add-iam-policy-binding WORKER_POOL \ --member=PRINCIPAL \ --role=ROLE
Ganti kode berikut:
WORKER_POOL: nama worker pool.PRINCIPAL: jenis akun utama (misalnya,user:email@domain.com). Untuk mengetahui daftar nilai yang dapat diterima untukPRINCIPAL, lihat ID utama.ROLE: peran. Untuk mengetahui daftar nilai yang dapat diterima untukROLE, lihat Peran IAM Cloud Run.
Hapus akun utama dari peran
Untuk menghapus akun utama dari peran untuk layanan:
Konsol
- Buka konsol Google Cloud :
- Klik kotak centang di samping layanan yang ingin Anda hapus akun utamanya. Jangan mengklik layanan itu sendiri.
- Di panel informasi pojok kanan atas, klik tab Izin. Jika panel informasi tidak terlihat, Anda mungkin perlu mengklik Tampilkan Panel Info, lalu klik Izin.
- Masukkan akun utama yang ingin Anda hapus ke dalam filter daftar peran, yang menampilkan semua peran yang telah diberikan kepada akun utama tersebut.
- Klik ikon sampah hapus di samping akun utama dalam peran yang diinginkan untuk menghapus peran tersebut dari akun utama.
- Pada dialog konfirmasi, Anda memiliki opsi untuk menghapus akun utama tersebut dari semua peran dalam layanan. Klik Hapus untuk menghapus akun utama dari peran.
gcloud
Gunakan perintah berikut:
gcloud run services remove-iam-policy-binding SERVICE_NAME \ --member=PRINCIPAL \ --role=ROLE
Ganti kode berikut:
SERVICE_NAME: nama layanan.PRINCIPAL: jenis akun utama (misalnya,user:email@domain.com). Untuk mengetahui daftar nilai yang dapat diterima untukPRINCIPAL, lihat ID utama.ROLE: peran. Untuk mengetahui daftar nilai yang dapat diterima untukROLE, lihat Peran IAM Cloud Run.
Untuk menghapus akun utama dari peran untuk tugas:
Konsol
- Buka konsol Google Cloud :
- Klik kotak centang di sebelah kiri tugas yang ingin Anda tambahkan akun utama. Jangan mengklik tugas.
- Di panel informasi pojok kanan atas, klik tab Izin. Jika panel informasi tidak terlihat, Anda mungkin perlu mengklik Tampilkan Panel Info, lalu klik Izin.
- Masukkan akun utama yang ingin Anda hapus ke dalam filter daftar peran, yang menampilkan semua peran yang telah diberikan kepada akun utama tersebut.
- Klik ikon sampah hapus di samping akun utama dalam peran yang diinginkan untuk menghapus peran tersebut dari akun utama.
- Pada dialog konfirmasi, Anda memiliki opsi untuk menghapus akun utama tersebut dari semua peran dalam tugas. Klik Hapus untuk menghapus akun utama dari peran.
gcloud
Gunakan perintah berikut:
gcloud run jobs remove-iam-policy-binding JOB_NAME \ --member=PRINCIPAL \ --role=ROLE
Ganti kode berikut:
JOB_NAME: nama tugas.PRINCIPAL: jenis akun utama (misalnya,user:email@domain.com). Untuk mengetahui daftar nilai yang dapat diterima untukPRINCIPAL, lihat ID utama.ROLE: peran. Untuk mengetahui daftar nilai yang dapat diterima untukROLE, lihat Peran IAM Cloud Run.
Untuk menghapus akun utama dari peran untuk kumpulan pekerja:
Konsol
- Buka konsol Google Cloud :
- Klik kotak centang di samping kumpulan pekerja yang ingin Anda hapus akun utamanya. Jangan mengklik kumpulan pekerja.
- Di panel informasi pojok kanan atas, klik tab Izin. Jika panel informasi tidak terlihat, Anda mungkin perlu mengklik Tampilkan Panel Info, lalu klik Izin.
- Masukkan akun utama yang ingin Anda hapus ke dalam filter daftar peran, yang menampilkan semua peran yang telah diberikan kepada akun utama tersebut.
- Klik ikon sampah hapus di samping akun utama dalam peran yang diinginkan untuk menghapus peran tersebut dari akun utama.
- Pada dialog konfirmasi, Anda memiliki opsi untuk menghapus akun utama tersebut dari semua peran di worker pool. Klik Hapus untuk menghapus akun utama dari peran.
gcloud
Gunakan perintah berikut:
gcloud run worker-pools remove-iam-policy-binding WORKER_POOL \ --member=PRINCIPAL \ --role=ROLE
Ganti kode berikut:
WORKER_POOL: nama worker pool.PRINCIPAL: jenis akun utama (misalnya,user:email@domain.com). Untuk mengetahui daftar nilai yang dapat diterima untukPRINCIPAL, lihat ID utama.ROLE: peran. Untuk mengetahui daftar nilai yang dapat diterima untukROLE, lihat Peran IAM Cloud Run.
Penambahan atau penghapusan akun utama dalam jumlah besar
Untuk melakukan penambahan atau penghapusan dalam jumlah besar untuk suatu layanan:
Konsol
- Buka konsol Google Cloud :
- Klik kotak centang di sebelah kiri layanan yang ingin Anda tambahkan atau hapus dari akun utama. Jangan mengklik layanan itu sendiri.
- Pilih layanan yang ingin Anda tambahkan atau hapus dari akun utama.
- Di panel informasi pojok kanan atas, klik tab Izin. Jika panel informasi tidak terlihat, Anda mungkin perlu mengklik Tampilkan Panel Info, lalu klik Izin.
Jika Anda ingin menambahkan akun utama:
- Klik Add principal.
- Di kolom New principals, masukkan satu atau beberapa identitas yang memerlukan akses ke layanan Anda.
- Dari menu Tetapkan peran, pilih satu (atau beberapa) peran. Peran yang Anda pilih akan muncul di panel dengan deskripsi singkat tentang izin yang diberikan.
- Klik Simpan.
Jika Anda ingin menghapus akun utama:
- Masukkan akun utama yang ingin Anda hapus ke dalam filter daftar peran, yang menampilkan semua peran yang telah diberikan kepada akun utama tersebut.
- Klik ikon sampah hapus di baris akun utama.
- Pada dialog konfirmasi, Anda memiliki opsi untuk menghapus akun utama tersebut dari semua peran dalam layanan. Klik Hapus untuk menghapus akun utama dari peran.
gcloud
Membuat kebijakan IAM:
cat <<EOF > policy.json { "bindings": [ { "role": ROLE, "members": [ PRINCIPAL ] } ] } EOF
Gunakan perintah gcloud run services set-iam-policy:
gcloud run services set-iam-policy SERVICE_NAME policy.json
Untuk mengetahui daftar nilai yang dapat diterima untuk PRINCIPAL,
lihat ID principal.
Untuk mengetahui daftar nilai yang dapat diterima untuk ROLE, lihat
Peran IAM Cloud Run.
Untuk melakukan penambahan atau penghapusan dalam jumlah besar untuk sebuah tugas:
Konsol
- Buka konsol Google Cloud :
- Klik kotak centang di sebelah kiri tugas yang ingin Anda tambahkan akun utama. Jangan mengklik tugas.
- Pilih tugas yang ingin Anda tambahkan atau hapus akun utama.
- Di panel informasi pojok kanan atas, klik tab Izin. Jika panel informasi tidak terlihat, Anda mungkin perlu mengklik Tampilkan Panel Info, lalu klik Izin.
Jika Anda ingin menambahkan akun utama:
- Klik Add principal.
- Di kolom New principals, masukkan satu atau beberapa identitas yang memerlukan akses ke layanan Anda.
- Dari menu Tetapkan peran, pilih satu (atau beberapa) peran. Peran yang Anda pilih akan muncul di panel dengan deskripsi singkat tentang izin yang diberikan.
- Klik Simpan.
Jika Anda ingin menghapus akun utama:
- Masukkan akun utama yang ingin Anda hapus ke dalam filter daftar peran, yang menampilkan semua peran yang telah diberikan kepada akun utama tersebut.
- Klik ikon sampah hapus di baris akun utama.
- Pada dialog konfirmasi, Anda memiliki opsi untuk menghapus akun utama tersebut dari semua peran dalam tugas. Klik Hapus untuk menghapus akun utama dari peran.
gcloud
Membuat kebijakan IAM:
cat <<EOF > policy.json { "bindings": [ { "role": ROLE, "members": [ PRINCIPAL ] } ] } EOF
Gunakan perintah gcloud run jobs set-iam-policy:
gcloud run jobs set-iam-policy JOB_NAME policy.json
Untuk mengetahui daftar nilai yang dapat diterima untuk PRINCIPAL,
lihat ID principal.
Untuk mengetahui daftar nilai yang dapat diterima untuk ROLE, lihat
Peran IAM Cloud Run.
Untuk melakukan penambahan atau penghapusan dalam jumlah besar untuk kumpulan pekerja:
Konsol
- Buka konsol Google Cloud :
- Klik kotak centang di samping kumpulan pekerja yang ingin Anda tambahkan atau hapus akun utamanya. Jangan mengklik kumpulan pekerja.
- Pilih kumpulan pekerja yang ingin Anda tambahkan atau hapus akun utamanya.
- Di panel informasi pojok kanan atas, klik tab Izin. Jika panel informasi tidak terlihat, Anda mungkin perlu mengklik Tampilkan Panel Info, lalu klik Izin.
Jika Anda ingin menambahkan akun utama:
- Klik Add principal.
- Di kolom Akun utama baru, masukkan satu atau beberapa identitas yang memerlukan akses ke kumpulan pekerja Anda.
- Dari menu Tetapkan peran, pilih satu (atau beberapa) peran. Peran yang Anda pilih akan muncul di panel dengan deskripsi singkat tentang izin yang diberikan.
- Klik Simpan.
Jika Anda ingin menghapus akun utama:
- Masukkan akun utama yang ingin Anda hapus ke dalam filter daftar peran, yang menampilkan semua peran yang telah diberikan kepada akun utama tersebut.
- Klik ikon sampah hapus di baris akun utama.
- Pada dialog konfirmasi, Anda memiliki opsi untuk menghapus akun utama tersebut dari semua peran di worker pool. Klik Hapus untuk menghapus akun utama dari peran.
gcloud
Membuat kebijakan IAM:
cat <<EOF > policy.json { "bindings": [ { "role": ROLE, "members": [ PRINCIPAL ] } ] } EOF
Gunakan perintah gcloud run worker-pools set-iam-policy:
gcloud run worker-pools set-iam-policy WORKER_POOL policy.json
Untuk mengetahui daftar nilai yang dapat diterima untuk PRINCIPAL,
lihat ID principal.
Untuk mengetahui daftar nilai yang dapat diterima untuk ROLE, lihat
Peran IAM Cloud Run.
Melihat akun utama
Untuk melihat akun utama untuk suatu layanan:
Konsol
- Buka konsol Google Cloud :
- Klik kotak centang di sebelah kiri layanan yang ingin Anda lihat untuk akun utama dan peran. Jangan mengklik layanan itu sendiri.
- Pilih layanan yang ingin Anda lihat untuk akun utama dan peran.
- Di panel informasi pojok kanan atas, klik tab Izin. Jika panel informasi tidak terlihat, Anda mungkin perlu mengklik Tampilkan Panel Info, lalu klik Izin.
- Daftar peran dan akun utama akan ditampilkan dan dikelompokkan berdasarkan peran yang diberikan.
gcloud
Gunakan perintah berikut:
gcloud run services get-iam-policy SERVICE_NAME
Untuk menampilkan akun utama tugas:
Konsol
- Buka konsol Google Cloud :
- Klik kotak centang di sebelah kiri tugas yang ingin Anda tambahkan akun utama. Jangan mengklik tugas.
- Pilih tugas yang ingin Anda tampilkan untuk akun utama dan peran.
- Di panel informasi pojok kanan atas, klik tab Izin. Jika panel informasi tidak terlihat, Anda mungkin perlu mengklik Tampilkan Panel Info, lalu klik Izin.
- Daftar peran dan akun utama akan ditampilkan dan dikelompokkan berdasarkan peran yang diberikan.
gcloud
Gunakan perintah berikut:
gcloud run jobs get-iam-policy JOB_NAME
Untuk melihat akun utama untuk kumpulan pekerja:
Konsol
- Buka konsol Google Cloud :
- Klik kotak centang di samping kumpulan pekerja yang ingin Anda lihat untuk akun utama dan peran. Jangan mengklik kumpulan pekerja.
- Pilih kumpulan pekerja yang ingin Anda lihat untuk akun utama dan peran.
- Di panel informasi pojok kanan atas, klik tab Izin. Jika panel informasi tidak terlihat, Anda mungkin perlu mengklik Tampilkan Panel Info, lalu klik Izin.
- Daftar peran dan akun utama akan ditampilkan dan dikelompokkan berdasarkan peran yang diberikan.
gcloud
Gunakan perintah berikut:
gcloud run worker-pools get-iam-policy WORKER_POOL
Mengontrol akses pada semua resource Cloud Run dalam sebuah project
Jika ingin memberikan peran kepada akun utama di semua layanan dan tugas dalam sebuah project, Anda dapat menggunakan IAM tingkat project.
Konsol
Buka konsol Google Cloud :
Temukan akun utama yang ingin Anda berikan peran di seluruh project.
Klik ikon edit Pensil di sisi kanan baris akun utama.
Klik Tambahkan peran lain, lalu pilih peran yang diperlukan.
Klik Simpan.
gcloud
Gunakan perintah gcloud projects add-iam-policy-binding:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=PRINCIPAL \ --role=ROLE
Ganti kode berikut:
PROJECT_ID: ID project Google Cloud Anda.PRINCIPAL: prinsipal (misalnya,user:email@domain.com).ROLE: peran (misalnya,roles/run.admin).
Ganti kode berikut:
SERVICE_NAME: nama layanan (misalnya,my-service).PRINCIPAL: prinsipal (misalnya,user:email@domain.com).ROLE: peran (misalnya,roles/run.invoker).REGION: region (misalnya,europe-west1).KEY=VALUE: kondisi yang akan disertakan dalam binding. Flag--conditionharus menyertakan key-value pairexpressiondantitle.
Jenis akun utama allUsers dan allAuthenticatedUsers tidak dapat diterapkan
pada level project. Sebagai gantinya, keduanya harus ditambahkan ke setiap layanan satu per satu.
Membuat layanan menjadi publik
Ada dua cara untuk membuat layanan Cloud Run publik:
- Nonaktifkan pemeriksaan IAM Cloud Run Invoker (direkomendasikan).
- Tetapkan peran IAM Cloud Run Invoker ke jenis anggota
allUsers.
Peran yang diperlukan
Untuk menonaktifkan atau mengaktifkan kembali pemeriksaan IAM Pemanggil pada layanan, Anda harus memiliki izin berikut:
run.services.createrun.services.updaterun.services.setIamPolicy
Izin ini disertakan dalam peran
Admin Cloud Run
(roles/run.admin). Lihat
Peran IAM Cloud Run
untuk mengetahui daftar lengkap peran dan izin terkaitnya.
Menonaktifkan pemeriksaan IAM Cloud Run Invoker
Cara yang direkomendasikan untuk membuat layanan publik adalah dengan menonaktifkan pemeriksaan IAM Cloud Run Invoker. Cloud Run menerapkan pemeriksaan ini secara default. Gunakan solusi ini jika project tunduk pada batasan berbagi yang dibatasi domain dalam kebijakan organisasi.
Untuk menonaktifkan pemeriksaan:
Konsol
Di konsol Google Cloud , buka halaman Cloud Run:
Klik Buat Layanan jika Anda mengonfigurasi layanan baru, lalu isi halaman setelan layanan awal sesuai kebutuhan.
Jika Anda mengonfigurasi layanan yang ada, klik layanan tersebut, lalu klik tab Security.
Pilih Allow public access.
Klik Buat atau Simpan.
gcloud
Untuk layanan baru, gunakan perintah
gcloud run deploydengan flag--no-invoker-iam-check:gcloud run deploy SERVICE_NAME --no-invoker-iam-check
Ganti
SERVICE_NAMEdengan nama layanan.Untuk layanan yang sudah ada, gunakan perintah
gcloud run services updatedengan flag--no-invoker-iam-check:gcloud run services update SERVICE_NAME --no-invoker-iam-check
Ganti SERVICE_NAME dengan nama layanan.
YAML
Untuk melihat dan mendownload konfigurasi:
gcloud run services describe SERVICE --format export > service.yaml
Update anotasi
run.googleapis.com/invoker-iam-disabled::apiVersion: serving.knative.dev/v1 kind: Service metadata: annotations: run.googleapis.com/invoker-iam-disabled: 'true' name: SERVICE_NAME
Ganti SERVICE_NAME dengan nama layanan Cloud Run Anda.
Ganti layanan dengan konfigurasi barunya menggunakan perintah berikut:
gcloud run services replace service.yaml
Terraform
Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.
Tambahkan kode berikut ke resourcegoogle_cloud_run_v2_service
di konfigurasi Terraform Anda:resource "google_cloud_run_v2_service" "default" {
name = "SERVICE"
location = "REGION"
invoker_iam_disabled = true
template {
containers {
image = "IMAGE_URL"
}
}
}
Ganti kode berikut:
- SERVICE: nama layanan Cloud Run Anda.
- REGION: Google Cloud region—misalnya,
europe-west1. - IMAGE_URL: referensi ke image container, misalnya,
us-docker.pkg.dev/cloudrun/container/hello:latest. Jika Anda menggunakan Artifact Registry, repositori REPO_NAME harus sudah dibuat. URL mengikuti formatLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
Pastikan pemeriksaan dinonaktifkan setelah deployment dengan membuka endpoint HTTPS layanan.
Aktifkan kembali pemeriksaan IAM Cloud Run Invoker
Untuk mengaktifkan kembali pemeriksaan:
Konsol
Di konsol Google Cloud , buka halaman Services Cloud Run:
Klik layanan, lalu klik Security.
Pilih Wajibkan autentikasi, lalu pilih Identity and Access Management (IAM).
Klik Simpan.
gcloud
Perbarui layanan dengan meneruskan flag
--invoker-iam-check:gcloud run services update SERVICE_NAME --invoker-iam-check
Ganti
SERVICE_NAMEdengan nama layanan.
YAML
Untuk melihat dan mendownload konfigurasi:
gcloud run services describe SERVICE --format export > service.yaml
Update anotasi
run.googleapis.com/invoker-iam-disabled::apiVersion: serving.knative.dev/v1 kind: Service metadata: annotations: run.googleapis.com/invoker-iam-disabled: 'false' name: SERVICE_NAME
Ganti
SERVICE_NAMEdengan nama layanan Cloud Run Anda
Terraform
Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.
Tambahkan kode berikut ke resourcegoogle_cloud_run_v2_service
di konfigurasi Terraform Anda:resource "google_cloud_run_v2_service" "default" {
name = "SERVICE"
location = "REGION"
invoker_iam_disabled = false
template {
containers {
image = "IMAGE_URL"
}
}
}
Ganti kode berikut:
- SERVICE: nama layanan Cloud Run Anda.
- REGION: Google Cloud region—misalnya,
europe-west1. - IMAGE_URL: referensi ke image container, misalnya,
us-docker.pkg.dev/cloudrun/container/hello:latest. Jika Anda menggunakan Artifact Registry, repositori REPO_NAME harus sudah dibuat. URL mengikuti formatLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
Pastikan pemeriksaan diaktifkan kembali setelah deployment dengan membuka endpoint HTTPS layanan.
Mengonfigurasi kebijakan organisasi untuk pemeriksaan IAM pemanggil Cloud Run
Jika Anda adalah administrator, Anda dapat membatasi kemampuan untuk
menonaktifkan pemeriksaan IAM Pemanggil
dengan menggunakan batasan terkelola constraints/run.managed.requireInvokerIam.
Batasan ini tidak diterapkan secara default.
Tetapkan peran Cloud Run IAM Invoker ke jenis anggota allUsers
Anda dapat mengizinkan akses publik ke layanan dengan menetapkan
peran IAM Cloud Run Invoker ke jenis anggota allUsers.
Anda harus memiliki izin run.services.setIamPolicy untuk mengonfigurasi autentikasi
pada layanan Cloud Run. Izin ini disertakan dalam
peran Cloud Run Admin. Lihat
Peran IAM Cloud Run
untuk mengetahui daftar lengkap peran dan izin terkaitnya.
Konsol
Untuk layanan Cloud Run yang sudah ada:
Di konsol Google Cloud , buka halaman Services Cloud Run:
Di sebelah kiri layanan yang ingin Anda publikasikan, klik kotak centang. Jangan mengklik layanan itu sendiri.
Di panel informasi di pojok kanan atas, klik tab Izin. Jika panel informasi tidak terlihat, Anda mungkin perlu mengklik Tampilkan Panel Info, lalu klik Izin.
Klik Add principal.
Di kolom New principals, masukkan nilai allUsers.
Dari menu Select a role, pilih peran Cloud Run Invoker.
Klik Simpan.
Anda akan diminta untuk memverifikasi bahwa Anda ingin menjadikan referensi ini publik. Klik Izinkan akses publik untuk menerapkan perubahan pada setelan IAM layanan.
Untuk layanan baru yang Anda buat, buat layanan dan pilih Izinkan akses publik di bagian Autentikasi untuk membuat layanan tersedia untuk publik. Untuk membuat layanan menjadi pribadi, pilih Wajibkan autentikasi.
gcloud
Untuk membuat layanan dapat diakses secara publik, gunakan perintah gcloud run services
untuk menambahkan jenis anggota allUsers khusus ke layanan dan memberikan peran
roles/run.invoker:
gcloud run services add-iam-policy-binding [SERVICE_NAME] \ --member="allUsers" \ --role="roles/run.invoker"
Jalankan perintah gcloud run deploy untuk membuat layanan Anda dapat diakses secara publik saat Anda men-deploy layanan:
gcloud run deploy [SERVICE_NAME] ... --allow-unauthenticated
YAML
Buat file bernama policy.yaml dengan konten berikut:
bindings:
- members:
- allUsers
role: roles/run.invoker
Izinkan akses publik untuk SERVICE yang ada menggunakan:
gcloud run services set-iam-policy SERVICE policy.yaml
Terraform
Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.
Tambahkan kode berikut ke resourcegoogle_cloud_run_v2_service
di konfigurasi Terraform Anda:Untuk memperbarui binding IAM layanan untuk roles/run.invoker, tambahkan
resource berikut yang merujuk ke layanan Cloud Run Anda:
Binding ini hanya bersifat otoritatif untuk peran yang diberikan. Binding IAM lainnya dalam kebijakan IAM layanan dipertahankan.
Menggunakan IAM Conditions
Anda dapat menggunakan IAM Conditions untuk
menentukan dan menerapkan kontrol akses berbasis atribut bersyarat untuk resource
Cloud Run tertentu. Cloud Run mendukung atribut kondisi
(request.host)
dan (request.path)
untuk memberikan akses bersyarat saat memanggil
layanan dan kumpulan worker Cloud Run.
Misalnya, untuk memberikan akses bersyarat dengan atribut request.host dan
request.path saat memanggil layanan Cloud Run, tambahkan
kolom condition saat menjalankan perintah berikut:
gcloud run services add-iam-policy-binding SERVICE_NAME \
--member=PRINCIPAL \
--role=ROLE \
--region=REGION \
--condition=[KEY=VALUE,...]
Ganti kode berikut:
SERVICE_NAME: nama layanan (misalnya,my-service).PRINCIPAL: prinsipal (misalnya,user:email@domain.com).ROLE: peran (misalnya,roles/run.invoker).REGION: region (misalnya,europe-west1).KEY=VALUE: kondisi yang akan disertakan dalam binding. Flag--conditionharus menyertakan key-value pairexpressiondantitle.
Langkah berikutnya
Pelajari cara mengautentikasi developer, layanan, dan pengguna dengan aman ke layanan yang baru saja Anda amankan.