Halaman ini menjelaskan cara mengaktifkan Identity-Aware Proxy dari Cloud Run dan
mengamankan traffic yang terikat untuk layanan Cloud Run dengan merutekan ke IAP
untuk autentikasi. Dengan mengaktifkan IAP dari Cloud Run, Anda
dapat merutekan traffic dengan sekali klik dari semua jalur traffic masuk, termasuk URL
run.app
dan load balancer default.
Batasan umum
- Project harus berada dalam organisasi.
- Identitas harus berasal dari dalam organisasi yang sama.
- Anda tidak dapat mengonfigurasi IAP di load balancer dan layanan Cloud Run.
- Beberapa integrasi, seperti Pub/Sub, mungkin berhenti berfungsi jika IAP diaktifkan.
Sebelum memulai
Mengaktifkan IAP dari Cloud Run
Anda dapat mengaktifkan IAP dari Cloud Run.
Jika Anda menggunakan IAP dan IAM di layanan Cloud Run yang sama, perhatikan kondisi berikut:
Pemeriksaan IAP dan IAM dilakukan.
Pemeriksaan IAP terjadi terlebih dahulu dan menerima atau memblokir permintaan berdasarkan konfigurasi IAP.
Jika permintaan lulus pemeriksaan IAP, IAP akan menggunakan akun layanannya sendiri untuk mengautentikasi ke pemeriksaan IAM Cloud Run.
Karena pemeriksaan IAP terjadi terlebih dahulu, beberapa layanan, seperti Pub/Sub, mungkin tidak mengautentikasi dengan benar.
Aktifkan IAP dari Cloud Run menggunakan Google Cloud konsol atau Google Cloud CLI.
Konsol
Untuk mengaktifkan IAP dari Cloud Run:
Di konsol Google Cloud , buka halaman Cloud Run:
Jika Anda mengonfigurasi layanan baru yang akan di-deploy, pilih Deploy container > Service. Jika Anda mengonfigurasi dan men-deploy layanan yang sudah ada, klik layanan, lalu klik Edit dan deploy revisi baru.
Jika Anda mengonfigurasi layanan baru, isi halaman setelan layanan awal sesuai kebutuhan, lalu pilih Autentikasi lanjutan dengan Identity Aware Proxy (IAP).
Jika Anda mengonfigurasi dan men-deploy layanan yang sudah ada, klik layanan, lalu pilih Autentikasi lanjutan dengan Identity Aware Proxy (IAP).
Klik Edit policy untuk membuat kebijakan akses kontekstual:
Tambahkan satu atau beberapa akun utama dan, secara opsional, tingkat akses yang harus dipenuhi setiap akun utama untuk akses aplikasi.
Klik Simpan.
Klik Simpan.
gcloud
Untuk mengaktifkan IAP langsung dari Cloud Run, tambahkan flag --iap
saat men-deploy aplikasi:
Deploy layanan Cloud Run Anda menggunakan salah satu perintah berikut:
Untuk layanan baru:
gcloud beta run deploy SERVICE_NAME \ --region=REGION \ --image=IMAGE_URL \ --no-allow-unauthenticated \ --iap
Untuk layanan yang sudah ada:
gcloud beta run services update SERVICE_NAME \ --region=REGION \ --iap
Ganti:
- SERVICE_NAME dengan nama layanan Cloud Run Anda.
- REGION dengan nama region Cloud Run Anda.
- IMAGE_URL dengan 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 memiliki bentukLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
Untuk memverifikasi bahwa layanan Anda dikonfigurasi dengan IAP diaktifkan, jalankan perintah berikut:
gcloud beta run services describe SERVICE_NAME
Output harus berisi string berikut:
Iap Enabled: true
Sekarang Anda merutekan semua traffic yang terikat untuk layanan Cloud Run yang dikonfigurasi ke IAP untuk autentikasi sebelum diteruskan ke penampung.
Menonaktifkan IAP dari Cloud Run
Anda dapat menonaktifkan IAP menggunakan konsol Google Cloud atau Google Cloud CLI.
Konsol
Untuk menonaktifkan IAP dari Cloud Run:
Di konsol Google Cloud , buka halaman Cloud Run:
Klik layanan yang ada yang ingin Anda ubah.
Klik Security, lalu hapus centang pada Advanced authentication with Identity Aware Proxy (IAP).
Klik Simpan.
gcloud
Untuk menonaktifkan IAP langsung dari Cloud Run, tambahkan
flag --no-iap
saat men-deploy aplikasi:
Deploy layanan Cloud Run Anda menggunakan salah satu perintah berikut:
Untuk layanan baru:
gcloud beta run deploy SERVICE_NAME \ --region=REGION \ --image=IMAGE_URL \ --no-iap
Untuk layanan yang sudah ada:
gcloud beta run services update SERVICE_NAME \ --region=REGION \ --no-iap
Ganti:
- SERVICE_NAME dengan nama layanan Cloud Run Anda.
- REGION dengan nama region Cloud Run Anda.
- IMAGE_URL dengan 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 memiliki bentukLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
Untuk memverifikasi bahwa layanan Anda tidak lagi dikonfigurasi dengan IAP yang diaktifkan, jalankan perintah berikut:
gcloud beta run services describe SERVICE_NAME
Output tidak boleh lagi berisi string berikut:
Iap Enabled: true
Anda tidak lagi merutekan semua traffic yang terikat untuk layanan Cloud Run yang dikonfigurasi ke IAP untuk autentikasi sebelum diteruskan ke penampung.
Mengelola akses pengguna atau grup
Secara default, IAP untuk Cloud Run menggunakan identitas dalam organisasi dengan Akun Google. Anda dapat menambahkan atau menghapus akses ke layanan Cloud Run menggunakan konsol Google Cloud atau Google Cloud CLI.
Konsol
Untuk menambahkan atau menghapus akses:
Di konsol Google Cloud , buka halaman Cloud Run:
Klik layanan yang ada yang ingin Anda ubah, lalu klik Keamanan.
Di bagian IAP, klik Edit policy.
Untuk menambahkan akses, masukkan akun utama dan, secara opsional, tingkat akses yang ingin Anda tambahkan.
Untuk menghapus akses dari akun utama yang ada, klik ikon Hapus kebijakan di samping Tingkat akses.
Klik Simpan.
gcloud
Untuk menambahkan atau menghapus akses ke layanan Cloud Run bagi setiap pengguna atau grup dalam organisasi Anda, jalankan salah satu perintah berikut:
Untuk menambahkan akses:
gcloud beta iap web add-iam-policy-binding \ --member=user:USER_EMAIL \ --role=roles/iap.httpsResourceAccessor \ --region=REGION \ --resource-type=cloud-run \ --service=SERVICE_NAME
Untuk menghapus akses:
gcloud beta iap web remove-iam-policy-binding \ --member=user:USER_EMAIL \ --role=roles/iap.httpsResourceAccessor \ --region=REGION \ --resource-type=cloud-run \ --service=SERVICE_NAME
Ganti:
- USER_EMAIL dengan alamat email pengguna.
- REGION dengan nama region Cloud Run Anda.
- SERVICE_NAME dengan nama layanan Cloud Run Anda.
Pemecahan masalah
Kegagalan Agen Layanan menyebabkan error IAM yang ditetapkan
Mengaktifkan IAP di project baru untuk pertama kalinya dapat menyebabkan error berikut:
Setting IAM permissions failed
Hal ini karena Agen Layanan Cloud Run gagal. Untuk mengatasi masalah ini, aktifkan kembali IAP atau tetapkan kebijakan IAM secara manual.
Langkah berikutnya
- Untuk mengetahui petunjuk cara mengaktifkan IAP dengan IAP dari layanan backend atau load balancer, lihat Mengaktifkan IAP untuk Cloud Run.
- Untuk masalah terkait pengaktifan IAP untuk Cloud Run, lihat Memecahkan masalah error.
- Mengaktifkan identitas eksternal.
- Mengaktifkan konfigurasi OAuth.
- Mengelola akses ke resource yang diamankan oleh IAP.
- Menggunakan kebijakan organisasi untuk mengontrol pengaktifan IAP.