Dokumen ini berisi pertanyaan umum (FAQ) tentang Identity-Aware Proxy (IAP).
Aplikasi apa yang dapat saya amankan dengan IAP?
IAP dapat digunakan dengan hal berikut:
- Aplikasi lingkungan standar App Engine dan lingkungan fleksibel App Engine
- Instance Compute Engine dengan layanan backend load balancing HTTP(S)
- Penampung Google Kubernetes Engine
- Aplikasi Cloud Run dengan layanan backend load balancing HTTP(S)
IAP tidak dapat digunakan dengan Cloud CDN.
Mengapa ada # di akhir URL saya setelah login ke aplikasi?
Di beberapa browser dan dalam kondisi tertentu, #
dapat ditambahkan ke URL
setelah autentikasi. Hal ini normal dan tidak akan menyebabkan masalah saat login.
Mengapa permintaan saya gagal dan menampilkan 405 Method Not Allowed
?
Hal ini biasanya terjadi jika cookie tidak dilampirkan ke permintaan Anda. Metode JavaScript tidak melampirkan cookie secara default.
Metode permintaan yang berbeda memerlukan pendekatan yang berbeda:
- Untuk
XMLHttpRequest
, tetapkanwithCredentials
ketrue
- Untuk Fetch API, tetapkan
credentials
keinclude
atausame-origin
Untuk menangani error terkait sesi, lihat Mengelola sesi IAP.
Mengapa saya menerima HTTP 401 Unauthorized
, bukan 302 Redirect
?
IAP hanya mengirim 302 Redirect
jika klien Anda dikonfigurasi untuk
menangani pengalihan.
Tambahkan HTTP Accept="text/html,*/*"
ke header permintaan Anda untuk menunjukkan dukungan
untuk pengalihan.
Mengapa permintaan POST tidak memicu pengalihan?
Browser tidak mengalihkan sebagai respons terhadap permintaan POST. Sebagai gantinya,
IAP menampilkan kode status 401 Unauthorized
.
Untuk permintaan POST ke resource yang diamankan IAP, sertakan salah satu dari hal berikut:
- Token ID di header
Authorization: Bearer
- Cookie yang valid (lihat memuat ulang sesi)
Dapatkah saya menggunakan IAP jika saya telah menonaktifkan API?
Ya, resource yang diamankan oleh IAP tetap dapat diakses saat API dinonaktifkan, tetapi Anda tidak akan dapat mengubah izin IAM.
Bagaimana cara mencegah pengguna dengan peran Pemilik menggunakan IAP untuk TCP?
Idealnya, batasi penggunaan peran Pemilik (roles/owner
) untuk mendapatkan izin yang lebih terperinci. Lihat praktik terbaik IAM untuk mendapatkan panduan.
Jika tidak memungkinkan, Anda dapat memblokir IAP untuk TCP menggunakan Aturan firewall.
Domain apa yang digunakan IAP untuk TCP?
IAP menggunakan domain milik Google berikut:
tunnel.cloudproxy.app
mtls.tunnel.cloudproxy.app
(jika akses berbasis sertifikat diaktifkan)
Mengapa saya menerima Server Error
?
Jika Anda melihat:
The server encountered a temporary error and could not complete your request. Please try again in 30 seconds.
Firewall Anda mungkin memblokir IP load balancer.
Pastikan firewall Anda mengizinkan traffic dari 130.211.0.0/22
dan
35.191.0.0/16
. Jika IP ini tidak dapat menjangkau backend Anda, aplikasi Anda tidak akan dapat diakses.
Untuk koneksi TCP IAP ke VM tertentu, pastikan juga VM
menerima koneksi dari rentang 35.235.240.0/20
.
Mengapa saya menerima error server internal yang terputus-putus?
Pesan seperti An internal server error occurred while authorizing your request.
Error code X
menunjukkan kegagalan backend.
Kode error 1
, 30
, 62
, 63
, 64
, atau 703
biasanya mencerminkan masalah sementara. Menerapkan backoff eksponensial untuk percobaan ulang.
Bagaimana cara mengatasi error kuota terlampaui (Kode error 429)?
Kode error 429 terjadi saat aplikasi Anda melebihi batas permintaan IAP. Layanan ini menerapkan kuota terpisah:
- Permintaan berbasis browser: 360.000 per menit per project
- Permintaan terprogram: 360.000 per menit per project
Permintaan terprogram adalah permintaan yang menyertakan header AUTHORIZATION
atau
PROXY-AUTHORIZATION
dan tidak ada cookie IAP. Semua permintaan lainnya (termasuk
permintaan tanpa kredensial) dianggap sebagai permintaan browser.
Batas ini berlaku secara kolektif untuk semua resource yang dilindungi IAP dalam project Anda.
Jika Anda mengalami error terkait kuota, pertimbangkan solusi berikut:
- Hindari pengujian beban dalam produksi - gunakan jalur jaringan alternatif yang mengabaikan IAP
- Untuk traffic layanan ke layanan, terapkan backoff eksponensial untuk menangani error 429 dengan baik
- Mendistribusikan aplikasi dengan traffic tinggi ke beberapa project
- Menggunakan Apigee atau solusi gateway API serupa untuk aplikasi berbasis API
- Hubungi Google Cloud Dukungan untuk penambahan kuota jika pertumbuhan organik menyebabkan masalah
Kode error
Tabel berikut mencantumkan kode dan pesan error umum yang ditampilkan saat mengonfigurasi dan menggunakan IAP.
Kode error | Deskripsi | Pemecahan masalah |
---|---|---|
7 | Client ID atau secret OAuth kosong | Buka halaman Kredensial untuk memverifikasi client ID dan secret Anda. Jika setelan tersebut tampak benar tetapi tidak berfungsi, gunakan metode API untuk memeriksa setelan (GET untuk Compute Engine, GET untuk App Engine) dan reset dengan PATCH . |
9 | Gagal mengalihkan OAuth | Ini adalah error internal yang telah dicatat secara otomatis. Anda tidak perlu melakukan apa pun. |
9 (dengan aturan penulisan ulang jalur) | Gagal mengalihkan OAuth | Aturan penulisan ulang jalur load balancer Anda mencegah penyelesaian OAuth. Pastikan semua backend di balik load balancer Anda menggunakan client ID OAuth yang sama. Anda dapat memperbaruinya menggunakan perintah gcloud compute backend-services update. |
9 (dengan aturan pemilihan rute jalur) | Gagal mengalihkan OAuth | Buat varian aturan jalur untuk kedua versi setiap jalur (dengan dan tanpa garis miring di akhir) dan arahkan ke backend yang sama. Misalnya, sertakan aturan untuk /path/ dan /path . |
11 | Client ID OAuth yang dikonfigurasi dengan salah | Periksa client ID dan secret Anda di halaman Kredensial. Jika setelan tersebut tampak benar tetapi tidak berfungsi, gunakan metode API untuk memeriksa setelan (GET untuk Compute Engine, GET untuk App Engine) dan reset dengan PATCH . |
13 | Token OIDC tidak valid | Buka halaman Kredensial untuk mengonfirmasi bahwa client ID Anda belum dihapus atau diubah secara tidak benar. |
51 | Browser tidak memiliki dukungan penggabungan koneksi | Minta pengguna akhir untuk mengupdate browser mereka ke versi terbaru. Untuk mengetahui detail selengkapnya tentang persyaratan koneksi, lihat Membatasi akses resource. |
52 | Nama host/sertifikat SSL tidak cocok | Administrator sistem Anda perlu memperbarui sertifikat SSL agar cocok dengan nama host. Lihat Membatasi akses resource untuk mendapatkan panduan. |
52 (dengan entri peta sertifikat utama) | Nama host/sertifikat SSL tidak cocok | IAP tidak mendukung entri peta sertifikat utama. Gunakan entri terpisah untuk memetakan setiap sertifikat ke nama host yang benar. Lihat Membuat entri peta sertifikat untuk mendapatkan panduan. |
53 | Nama host tidak ada dalam domain yang diizinkan | Administrator harus menambahkan nama host Anda ke daftar domain yang diizinkan. Lihat Membatasi akses resource untuk mengetahui petunjuknya. |
429 | Kuota permintaan terlampaui | Anda telah mencapai batas permintaan (360.000/menit untuk setiap jenis permintaan). Pertimbangkan untuk mendistribusikan beban kerja di beberapa project, menerapkan throttling permintaan sisi klien, atau menghubungi Dukungan untuk mendapatkan penambahan kuota jika diperlukan untuk pertumbuhan yang sah. |
551 | IAP diaktifkan di beberapa tempat | Anda tidak dapat mengaktifkan IAP pada aturan penerusan dan layanan backend. Nonaktifkan di satu lokasi dengan mengikuti panduan di Mengaktifkan untuk Compute Engine. |
700, 701 | Masalah penyedia kumpulan tenaga kerja | Konfigurasikan tepat satu penyedia untuk workforce pool Anda. Tinjau Batasan kumpulan tenaga kerja untuk mengetahui persyaratan mendetail. |
705 | Client ID OAuth untuk identitas tenaga kerja tidak ada | Ikuti proses penyiapan lengkap: pertama-tama buat client ID OAuth, lalu perbarui setelan IAP Anda. |
708 | Nama kumpulan tenaga kerja tidak valid | Pastikan kumpulan tenaga kerja Anda ada dan menggunakan format yang benar: locations/global/workforcePools/WORKFORCE_POOL_ID . |
4003 | Masalah koneksi atau firewall | Pastikan proses VM Anda berjalan dan memproses port yang diharapkan. Pastikan juga bahwa aturan firewall Anda mengizinkan koneksi di port tersebut. |
4010 | Koneksi ditutup oleh tujuan | Reset VM. Jika masalah berlanjut, periksa auth.log (biasanya di /var/log/ ) atau gunakan konsol serial untuk mendapatkan diagnostik yang lebih mendetail. |
4033 | Masalah izin, keberadaan, atau status VM | Pastikan Anda memiliki peran Tunnel User yang ditetapkan untuk resource melalui halaman IAP, dan pastikan VM ada dan berjalan. |
4047 | Instance tidak ada atau dihentikan | Pastikan VM Anda sudah diaktifkan dan telah menyelesaikan urutan startup-nya sepenuhnya. |
Jika Anda tidak dapat menyelesaikan masalah, atau tidak melihat error yang tercantum di halaman ini, hubungi Cloud Customer Care dengan deskripsi error dan respons yang Anda dapatkan dari panggilan GET
ke API. Pastikan Anda menghapus secret klien dari respons.