Ada dua cara untuk mengaktifkan Identity-Aware Proxy untuk layanan Cloud Run.
- Direkomendasikan: langsung di layanan Cloud Run:
- Melindungi endpoint
run.appsecara langsung sehingga Anda tidak perlu menyediakan resource load balancer. - Menyediakan penyiapan yang lebih sederhana dan menghindari biaya load balancer tambahan.
- Jika Anda memilih untuk menempatkan load balancer di depan Cloud Run, endpoint load balancer juga akan dilindungi.
- Melindungi endpoint
- Di layanan backend yang menghadap layanan Cloud Run: jika Anda menjalankan Cloud Run di beberapa region terlampir ke layanan backend global load balancer yang sama dan Anda memerlukan pengelolaan akses terpusat, ikuti petunjuk di halaman ini. Jika tidak, sebaiknya Anda mengaktifkan IAP langsung di layanan Cloud Run.
Batasan umum
IAP tidak dapat digunakan di layanan Cloud Run dan load balancer. Jika Anda mengaktifkan IAP di load balancer, IAP hanya mengamankan traffic melalui load balancer dan tidak dengan traffic yang mungkin mencapai layanan Cloud Run melalui URL
run.app. Untuk hanya mengizinkan traffic yang diotorisasi IAP, lihat Mengonfigurasi Cloud Run untuk membatasi akses.IAP melakukan autentikasi ke Cloud Run menggunakan header
X-Serverless-Authorization. Cloud Run meneruskan header ini ke layanan Anda setelah menghapus tanda tangannya. Jika layanan Anda dirancang untuk meneruskan permintaan ke layanan Cloud Run lain yang memerlukan autentikasi IAM, perbarui layanan Anda untuk menghapus header ini terlebih dahulu.IAP tidak kompatibel dengan Cloud CDN.
IAP meningkatkan latensi. Aktifkan IAP hanya untuk instance yang tidak sensitif terhadap latensi.
Sebelum memulai
Sebaiknya aktifkan IAP langsung di Cloud Run.
Jika Anda memilih untuk mengaktifkan IAP untuk resource Cloud Run di load balancer, bukan langsung di Cloud Run, Anda harus memiliki hal berikut:
- Project konsol dengan penagihan diaktifkan. Google Cloud
- Grup yang terdiri dari satu atau beberapa layanan Cloud Run, yang ditayangkan oleh load balancer.
- Pelajari cara Menyiapkan load balancer HTTPS eksternal.
- Pelajari cara Menyiapkan load balancer HTTPS internal.
- Nama domain yang terdaftar ke alamat load balancer Anda.
- Kode aplikasi untuk memverifikasi bahwa semua permintaan memiliki identitas.
- Pelajari cara Mendapatkan identitas pengguna.
Mengaktifkan IAP dari layanan backend atau load balancer
Jika Anda harus mengaktifkan IAP dari IAP di belakang layanan backend atau load balancer, gunakan petunjuk berikut.
Konsol
Jika Anda belum mengonfigurasi layar izin OAuth project, Anda akan diminta untuk melakukannya. Untuk mengonfigurasi layar izin OAuth, lihat Menyiapkan layar izin OAuth.
Menyiapkan akses IAP
- Buka halaman Identity-Aware Proxy.
- Pilih project yang ingin Anda amankan dengan IAP.
- Di bagian APLIKASI, centang kotak di samping layanan backend load balancer yang ingin Anda tambahkan anggotanya.
- Di panel sisi kanan, klik Tambahkan Akun Utama.
Di dialog Tambahkan Akun Utama, masukkan akun grup atau individu yang harus memiliki peran Pengguna Aplikasi Web yang Diamankan IAP untuk project tersebut. Jenis akun berikut dapat menjadi anggota:
- Akun Google: user@gmail.com - Akun ini juga dapat berupa akun Google Workspace, seperti user@google.com atau domain Workspace lainnya.
- Google Grup: admin@googlegroups.com
- Akun layanan: server@example.iam.gserviceaccount.com
- Domain Google Workspace: example.com
Pilih Cloud IAP > Pengguna Aplikasi Web yang Diamankan IAP dari daftar drop-down Peran.
Klik Simpan.
Mengaktifkan akses ke pengguna di luar organisasi Anda
Secara default, saat Anda mengaktifkan IAP, IAP akan menggunakan klien OAuth yang dikelola Google untuk mengautentikasi pengguna. Akibatnya, hanya pengguna dalam organisasi yang dapat mengakses aplikasi yang mengaktifkan IAP.
Untuk mengaktifkan akses ke pengguna di luar organisasi Anda, atau tanpa an organisasi, perbarui konfigurasi klien OAuth untuk menggunakan klien OAuth kustom seperti yang dijelaskan dalam Mengaktifkan IAP untuk aplikasi eksternal.
Mengaktifkan IAP
- Di halaman IAP, di bagian APLIKASI, temukan layanan backend load balancer yang aksesnya ingin Anda batasi. Untuk mengaktifkan IAP untuk resource, klik tombol IAP.
Untuk mengaktifkan IAP:
- Setidaknya satu protokol dalam konfigurasi frontend load balancer harus berupa HTTPS. Pelajari cara menyiapkan load balancer.
- Anda memerlukan izin
compute.backendServices.update,clientauthconfig.clients.create, danclientauthconfig.clients.getWithSecret. Izin ini diberikan oleh peran, seperti peran Editor Project. Untuk mempelajari lebih lanjut, lihat Mengelola akses ke resource yang diamankan IAP.
- Di jendela Aktifkan IAP yang muncul, klik Aktifkan untuk mengonfirmasi bahwa Anda ingin IAP mengamankan resource Anda. Setelah Anda mengaktifkan IAP, IAP akan memerlukan kredensial login untuk semua koneksi ke load balancer Anda. Hanya akun dengan peran Pengguna Aplikasi Web yang Diamankan IAP di project yang akan diberi akses.
Ikuti petunjuk di Kontrol akses dengan IAM untuk mengotorisasi IAP mengirim traffic ke layanan Cloud Run backend.
- Akun Utama:
service-[PROJECT-NUMBER]@gcp-sa-iap.iam.gserviceaccount.com - Peran: Cloud Run Invoker
Akun layanan IAP dibuat saat IAP diaktifkan. Jika akun layanan IAP tidak ada dalam daftar akun utama, Anda dapat membuatnya dengan menjalankan perintah gcloud berikut:
gcloud beta services identity create --service=iap.googleapis.com --project=PROJECT_ID- Akun Utama: