Secara default, hanya pemilik project dan editor yang dapat membuat, memperbarui, menghapus, atau memanggil layanan dan tugas. Hanya pemilik project dan Admin Cloud Run yang dapat mengubah kebijakan Identity and Access Management (IAM). Misalnya, membuat layanan menjadi publik. Buka 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.
Peran bawaan Cloud Run
Dibandingkan dengan peran dasar (Pemilik, Editor, dan Viewer), peran standar berikut memiliki kontrol akses yang lebih terperinci untuk mengakses resource Cloud Run:
Peran | Deskripsi |
---|---|
Cloud Run Admin (roles/run.admin ) |
Dapat membuat, memperbarui, dan menghapus layanan dan tugas, dapat mendapatkan, mencantumkan, menghapus eksekusi tugas. Dapat memanggil layanan dan tugas, dapat membatalkan eksekusi tugas. Dapat mendapatkan 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, memperbarui, dan menghapus layanan dan tugas, dapat mendapatkan, mencantumkan, menghapus eksekusi tugas. Dapat mendapatkan, tetapi tidak menetapkan kebijakan IAM. Dapat melihat, menerapkan, dan menutup rekomendasi. |
Cloud Run Viewer (roles/run.viewer ) |
Dapat melihat layanan, tugas, dan eksekusi tugas. Dapat mendapatkan kebijakan IAM. Dapat melihat rekomendasi. |
Cloud Run Invoker (roles/run.invoker ) |
Dapat memanggil layanan dan tugas, dapat membatalkan eksekusi tugas. |
Mengontrol akses pada setiap layanan atau tugas
Anda dapat mengontrol akses berdasarkan layanan atau pekerjaan tertentu menggunakan IAM.
Membuat layanan menjadi publik
Opsi ini ditujukan untuk layanan Cloud Run yang merupakan API publik atau situs web.
Anda dapat mengizinkan pemanggilan yang tidak diautentikasi 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 termasuk dalam peran Owner dan Cloud Run Admin. Lihat peran IAM Cloud Run
untuk mengetahui daftar lengkap peran dan izin terkaitnya.
UI Konsol
Untuk layanan Cloud Run yang sudah ada:
Buka Konsol Google Cloud:
Klik kotak centang di sebelah kiri layanan yang ingin dipublikasikan. (Jangan mengklik layanan.)
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 Tambahkan akun utama.
Di kolom New principals, masukkan nilai allUsers
Dari menu drop-down 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 layanan IAM.
Untuk layanan baru yang Anda buat, buat layanan, tetapi pastikan Anda memilih Izinkan pemanggilan tidak diautentikasi di tab Autentikasi untuk membuat layanan menjadi tersedia untuk publik. Memilih Wajibkan autentikasi akan membuat layanan menjadi pribadi.
gcloud
Untuk membuat layanan dapat diakses secara publik, gunakan perintah gcloud run services
untuk menambahkan jenis anggota allUsers
khusus ke layanan dan berikan
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 pemanggilan yang tidak diautentikasi untuk SERVICE yang ada menggunakan:
gcloud run services set-iam-policy SERVICE policy.yaml
Terraform
Untuk membuat layanan Cloud Run, tambahkan kode berikut ke file main.tf
Anda yang sudah ada:
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.
Berbagi dengan domain terbatas
Jika project tunduk pada batasan berbagi yang dibatasi domain dalam kebijakan organisasi, Anda tidak akan dapat membuat layanan publik secara default. Anda dapat menggunakan tag dan kebijakan kondisional untuk mengecualikan layanan tertentu dari batasan ini. Untuk mengetahui detailnya, lihat postingan blog tentang membuat layanan Cloud Run publik ketika fitur berbagi yang dibatasi domain diterapkan.
Menambahkan akun utama
Anda dapat menambahkan akun utama ke tugas atau layanan.
Menambahkan akun utama ke layanan
Untuk menambahkan akun utama ke layanan:
UI Konsol
Buka Konsol Google Cloud:
Klik kotak centang di samping layanan yang ingin Anda tambahkan akun utama. (Jangan mengklik layanan.)
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 Tambahkan akun utama.
Di kolom Akun utama baru, masukkan satu atau beberapa identitas yang memerlukan akses ke layanan Anda.
Dari menu dropdown Peran, 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 gcloud run services add-iam-policy-binding
:
gcloud run services add-iam-policy-binding SERVICE_NAME \ --member=MEMBER_TYPE \ --role=ROLE
dengan SERVICE_NAME
adalah nama layanan, MEMBER_TYPE
adalah jenis utama (misalnya user:email@domain.com
), dan ROLE
adalah perannya.
Untuk mengetahui daftar nilai yang dapat diterima untuk MEMBER_TYPE
, lihat
halaman konsep IAM.
Untuk mengetahui daftar nilai yang dapat diterima untuk ROLE
, lihat
Peran IAM Cloud Run.
Menambahkan akun utama ke tugas
Untuk menambahkan akun utama ke tugas:
UI 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 Tambahkan akun utama.
Di kotak teks Akun utama baru, masukkan satu atau beberapa identitas yang memerlukan akses ke tugas Anda.
Dari menu dropdown Peran, 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 gcloud run jobs add-iam-policy-binding
:
gcloud run jobs add-iam-policy-binding JOB_NAME \ --member=MEMBER_TYPE \ --role=ROLE
dengan JOB_NAME
adalah nama tugas,
MEMBER_TYPE
adalah jenis utama
(misalnya user:email@domain.com
), dan ROLE
adalah perannya.
Untuk mengetahui daftar nilai yang dapat diterima untuk MEMBER_TYPE
, lihat
halaman konsep IAM.
Untuk mengetahui daftar nilai yang dapat diterima untuk ROLE
, lihat
Peran IAM Cloud Run.
Hapus akun utama dari peran
Anda dapat menghapus akun utama dari layanan atau tugas.
Hapus akun utama dari peran untuk layanan
Untuk menghapus akun utama dari peran untuk layanan:
UI Konsol
Buka Konsol Google Cloud:
Klik kotak centang di sebelah kiri layanan yang akun utamanya ingin Anda hapus. (Jangan mengklik layanan.)
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. Daftar ini akan menampilkan semua peran yang telah diberikan kepada akun utama.
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 gcloud run services remove-iam-policy-binding
:
gcloud run services remove-iam-policy-binding SERVICE_NAME \ --member=MEMBER_TYPE \ --role=ROLE
dengan SERVICE_NAME
adalah nama layanan, MEMBER_TYPE
adalah jenis utama (misalnya user:email@domain.com
), dan ROLE
adalah perannya.
Untuk mengetahui daftar nilai yang dapat diterima untuk MEMBER_TYPE
, lihat
halaman konsep IAM.
Untuk mengetahui daftar nilai yang dapat diterima untuk ROLE
, lihat
Peran IAM Cloud Run.
Hapus akun utama dari peran untuk tugas
Untuk menghapus akun utama dari peran untuk tugas:
UI 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. Daftar ini akan menampilkan semua peran yang telah diberikan kepada akun utama.
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 gcloud run jobs remove-iam-policy-binding
:
gcloud run jobs remove-iam-policy-binding JOB_NAME \ --member=MEMBER_TYPE \ --role=ROLE
dengan JOB_NAME
adalah nama tugas,
MEMBER_TYPE
adalah jenis utama
(misalnya user:email@domain.com
), dan ROLE
adalah perannya.
Untuk mengetahui daftar nilai yang dapat diterima untuk MEMBER_TYPE
, lihat
halaman konsep IAM.
Untuk mengetahui daftar nilai yang dapat diterima untuk ROLE
, lihat
Peran IAM Cloud Run.
Penambahan atau penghapusan akun utama dalam jumlah besar
Anda dapat melakukan penambahan atau penghapusan dalam jumlah besar untuk layanan dan tugas.
Menambah atau menghapus akun utama pada layanan dalam jumlah besar
Untuk melakukan penambahan atau penghapusan dalam jumlah besar untuk suatu layanan:
UI Konsol
Buka Konsol Google Cloud:
Klik kotak centang di sebelah kiri layanan yang ingin Anda tambahkan atau hapus dari akun utama. (Jangan mengklik layanan.)
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 Tambahkan akun utama.
Di kotak teks Akun utama baru, masukkan satu atau beberapa identitas yang memerlukan akses ke layanan Anda.
Dari menu dropdown Peran, pilih peran (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. Daftar ini akan menampilkan semua peran yang telah diberikan kepada akun utama.
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
Membuat kebijakan IAM:
cat <<EOF > policy.json { "bindings": [ { "role": ROLE, "members": [ MEMBER_TYPE ] } ] } 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 MEMBER_TYPE
, lihat
halaman konsep IAM.
Untuk mengetahui daftar nilai yang dapat diterima untuk ROLE
, lihat
Peran IAM Cloud Run.
Penambahan dan penghapusan akun utama dalam jumlah besar untuk tugas
Untuk melakukan penambahan atau penghapusan dalam jumlah besar untuk sebuah tugas:
UI 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 tambah 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 Tambahkan akun utama.
Di kotak teks Akun utama baru, masukkan satu atau beberapa identitas yang memerlukan akses ke layanan Anda.
Dari menu dropdown Peran, pilih peran (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. Daftar ini akan menampilkan semua peran yang telah diberikan kepada akun utama.
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
Membuat kebijakan IAM:
cat <<EOF > policy.json { "bindings": [ { "role": ROLE, "members": [ MEMBER_TYPE ] } ] } 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 MEMBER_TYPE
, lihat
halaman konsep IAM.
Untuk mengetahui daftar nilai yang dapat diterima untuk ROLE
, lihat
Peran IAM Cloud Run.
Melihat akun utama
Anda dapat melihat akun utama untuk layanan dan tugas.
Melihat prinsipal untuk suatu layanan
Untuk melihat akun utama untuk suatu layanan:
UI Konsol
Buka Konsol Google Cloud:
Klik kotak centang di sebelah kiri layanan yang ingin Anda lihat untuk akun utama dan peran. (Jangan mengklik layanan.)
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 gcloud run services get-iam-policy
:
gcloud run services get-iam-policy SERVICE_NAME
Menampilkan akun utama untuk suatu tugas
Untuk menampilkan akun utama tugas:
UI 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 gcloud run jobs get-iam-policy
:
gcloud run jobs get-iam-policy JOB_NAME
Mengontrol akses pada semua layanan dan tugas dalam sebuah project
Jika ingin memberikan peran kepada akun utama di semua layanan dan tugas dalam sebuah project, Anda dapat menggunakan IAM level project.
UI 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 diinginkan.
Klik Simpan.
gcloud
Gunakan perintah gcloud projects add-iam-policy-binding
:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=MEMBER_TYPE \ --role=ROLE
dengan MEMBER_TYPE
adalah jenis utama
(misalnya user:email@domain.com
), dan ROLE
adalah
peran (misalnya roles/run.admin
).
Jenis akun utama allUsers
dan allAuthenticatedUsers
tidak dapat diterapkan
pada level project. Sebagai gantinya, keduanya harus ditambahkan ke setiap layanan satu per satu.
Menonaktifkan Cloud Run Invoker untuk layanan
Anda dapat menonaktifkan atau mengaktifkan kembali pemeriksaan IAM Invoker Cloud Run untuk layanan Cloud Run apa pun. Pemeriksaan diterapkan secara default.
Untuk menonaktifkan atau mengaktifkan kembali pemeriksaan IAM Pemanggil di layanan, Anda harus memiliki izin berikut:
run.services.create
run.services.update
run.services.setIamPolicy
Izin ini termasuk dalam peran Owner dan Cloud Run Admin. Lihat peran IAM Cloud Run untuk mengetahui daftar lengkap peran dan izin terkaitnya.
Menonaktifkan pemeriksaan IAM Cloud Run Invoker
Ganti batasan kebijakan organisasi
constraints/run.requireInvokerIam
di tingkat organisasi atau project sesuai kebutuhan. Anda dapat menggunakan tag untuk menetapkan aturan yang lebih terperinci untuk layanan Cloud Run tertentu.Untuk menghapus batasan kebijakan dari konsol Google Cloud:
Klik tab Kebijakan Organisasi.
Temukan kebijakan Allow Invoker IAM Disabled (Cloud Run), lalu pilih Edit policy dari menu Actions.
Pastikan kebijakan dikonfigurasi ke Tidak diterapkan.
Klik Set policy.
Nonaktifkan pemeriksaan:
Konsol
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 Security.
Hapus centang pada Gunakan Cloud IAM untuk mengautentikasi permintaan masuk.
Klik Buat atau Simpan.
gcloud
Gunakan flag
--no-invoker-iam-check
:gcloud run deploy SERVICE_NAME --no-invoker-iam-check
dengan
SERVICE_NAME
adalah 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
dengan SERVICE_NAME adalah nama layanan Cloud Run Anda.
Ganti layanan dengan konfigurasi barunya menggunakan perintah berikut:
gcloud run services replace service.yaml
Pastikan pemeriksaan dinonaktifkan setelah deployment dengan membuka endpoint HTTPS layanan.
Mengaktifkan kembali pemeriksaan IAM Cloud Run Invoker
Untuk mengaktifkan kembali pemeriksaan:
Konsol
Klik layanan, lalu klik Security.
Pilih Gunakan Cloud IAM untuk mengautentikasi permintaan masuk.
Klik Simpan.
gcloud
Update layanan dengan meneruskan flag
--invoker-iam-check
:gcloud beta run services SERVICE_NAME --invoker-iam-check
dengan
SERVICE_NAME
adalah nama layanan.
YAML
Untuk melihat dan mendownload konfigurasi:
gcloud run services describe SERVICE --format export > service.yaml
Update anotasi
run.googleapis.com/invokerIamCheckDisabled:
:apiVersion: serving.knative.dev/v1 kind: Service metadata: annotations: run.googleapis.com/invokerIamCheckDisabled: false name: SERVICE_NAME
dengan SERVICE_NAME adalah nama layanan Cloud Run Anda.
Pastikan pemeriksaan diaktifkan kembali setelah deployment dengan membuka endpoint HTTPS layanan.
Langkah berikutnya
Pelajari cara mengautentikasi developer, layanan, dan pengguna dengan aman ke layanan yang baru saja Anda amankan.