Dokumen ini membantu Anda mendiagnosis dan menyelesaikan masalah umum saat mengonfigurasi dan menerapkan Kebijakan Akses Terpadu (UAP) IAM untuk egress Agent Gateway.
Kegagalan akses dan penerapan kebijakan
Bagian ini menjelaskan masalah terkait penerapan.
Kebijakan tidak diterapkan
Gejala: Agen dapat mengakses alat tujuan, server MCP, atau endpoint meskipun aturan penolakan IAM atau aturan izin yang membatasi dikonfigurasi untuk memblokir akses.
Penyebab: Ekstensi otorisasi Agent Gateway berjalan dalam mode uji coba, atau cakupan binding kebijakan tidak cocok dengan resource target. Dalam mode uji coba, keputusan akses dievaluasi dan dicatat dalam log untuk audit, tetapi permintaan tidak pernah diblokir.
Solusi:
Mengalihkan mode uji coba ke mode penerapan: Pertama, periksa file konfigurasi ekstensi otorisasi Anda (
iap-request-authz-extension.yaml). JikaiamEnforcementModeditetapkan ke"DRY_RUN", perbarui ke"ENFORCE"(atau hapus setelanDRY_RUN) dan impor ulang ekstensi menggunakan gcloud CLI:gcloud service-extensions authz-extensions import EXTENSION_NAME \ --source=EXTENSION_FILE.yaml \ --location=LOCATIONGanti kode berikut:
EXTENSION_NAME: nama ekstensi otorisasi AndaEXTENSION_FILE: nama file konfigurasi ekstensi YAML AndaLOCATION: Cloud de Confiance region tempat gateway Anda di-deploy
Memverifikasi delegasi kebijakan otorisasi gateway: Pastikan kebijakan otorisasi gateway (
policyProfile: REQUEST_AUTHZ) terikat ke instance Agent Gateway yang benar (target.resources).Memeriksa cakupan binding kebijakan: Pastikan UAP IAM terikat ke cakupan resource target tempat traffic tiba.
Memeriksa prioritas aturan: Dalam kebijakan kombinasi, aturan penolakan secara eksplisit mengganti aturan izin pada cakupan yang sama. Namun, periksa apakah UAP dengan aturan izin yang lebih luas yang terikat di tingkat project atau registry memberikan akses tanpa batasan kondisi.
Kebijakan terkait Proses Penegakan Kebijakan memblokir akses agen
Gejala: Permintaan egress agen gagal dengan error HTTP 403 Forbidden atau
PERMISSION_DENIED error saat penerapan kebijakan Agent Gateway
diaktifkan.
Penyebab:
Identitas agen tidak ditentukan dalam UAP.
Identitas agen tidak diberi izin
iap.resources.egressViaIAPpada resource tujuan.Nama host tujuan yang tepat tidak terdaftar di Agent Registry
Atribut permintaan tidak memenuhi kondisi Common Expression Language (CEL) dalam UAP.
Solusi:
- Beralih ke mode uji coba untuk proses debug yang tidak mengganggu: Saat mendiagnosis
kegagalan, alihkan ekstensi otorisasi ke mode uji coba (
iamEnforcementMode: "DRY_RUN") untuk sementara agar traffic agen aktif tidak diblokir saat Anda memeriksa log audit. Mengkueri Cloud Audit Logs: Kueri Cloud Audit Logs untuk memeriksa pemeriksaan otorisasi dan evaluasi atribut CEL yang tepat:
gcloud
Jalankan perintah
gcloud logging readberikut:gcloud logging read \ 'protoPayload.serviceName="iap.googleapis.com" AND protoPayload.authorizationInfo.permission="iap.resources.egressViaIAP" AND protoPayload.status.code!=0' \ --project=PROJECT_ID \ --limit=20Ganti
PROJECT_IDdengan project ID Anda.Konsol
- Di Cloud de Confiance konsol, buka halaman Logs Explorer.
- Pilih project Anda.
- Di editor kueri, masukkan kueri berikut:
protoPayload.serviceName="iap.googleapis.com" protoPayload.authorizationInfo.permission="iap.resources.egressViaIAP" protoPayload.status.code!=0 - Klik Run query.
- Luaskan entri log dan periksa
protoPayload.authorizationInfountuk melihat URI resource target dan izin mana yang gagal dievaluasi.
Memverifikasi kecocokan nama host yang tepat: Agent Gateway mencocokkan nama host tujuan secara tepat. Layanan pihak ketiga atau Google API dapat diselesaikan melalui beberapa variasi nama host, bergantung pada versi SDK versi, konfigurasi klien regional, atau penggunaan mTLS—misalnya,
us-central1-aiplatform.googleapis.comversusus-central1-aiplatform.mtls.googleapis.comversusaiplatform.googleapis.com.Memverifikasi cakupan binding kebijakan di seluruh cakupan: Periksa apakah binding kebijakan ada di salah satu dari tiga cakupan yang didukung:
- Di seluruh registry: Memberikan akses ke semua agen, server MCP, dan endpoint di registry.
- Per resource: Memberikan akses ke server MCP, endpoint, atau agen terdaftar tertentu.
- Endpoint yang tidak terdaftar: Memberikan akses ke tujuan di luar Agent Registry.
- Catatan: Saat menjelaskan binding kebijakan untuk resource target, jika
output yang ditampilkan berisi kolom
"etag"tetapi tidak ada binding, tidak ada kebijakan IAM untuk target tersebut.
Pesan error UI, gcloud, dan REST API umum
Bagian ini menjelaskan pesan error dan cara menyelesaikannya.
Kebijakan tidak ditemukan
Pesan error:
- UI Konsol: "Kebijakan yang diminta tidak ada. Pastikan kebijakan ada untuk resource yang dipilih."
- API / gcloud:
POLICY_NOT_FOUND/HTTP 404 Not Found
Penyebab: ID UAP yang ditentukan dalam permintaan update atau binding kebijakan Anda tidak ada di project atau lokasi, atau telah dihapus.
Solusi: Cantumkan semua UAP yang tersedia di project Anda menggunakan
gcloud iam access-policies list --project=<var>PROJECT_ID</var> --location=global
untuk mengonfirmasi ID dan lokasi kebijakan yang tepat sebelum mengikat atau memperbaruinya.
Batas binding target terlampaui
Pesan error:
- UI Konsol: "Target yang dipilih telah mencapai batasnya untuk binding kebijakan akses. Hapus binding yang ada sebelum menambahkan yang baru."
- API / gcloud:
TOO_MANY_ACCESS_POLICY_BINDINGS_PER_TARGET
Penyebab: Anda mencoba melampirkan lebih banyak binding kebijakan ke resource target (seperti server atau registry MCP) daripada batas maksimum yang diizinkan per target.
Solusi: Alih-alih membuat UAP dan
binding terpisah untuk setiap aturan, gabungkan beberapa aturan izin atau penolakan ke dalam
satu UAP. Hapus binding yang tidak digunakan menggunakan gcloud iam
policy-bindings delete.
Batas binding kebijakan terlampaui
Pesan error:
- UI Konsol: "Kebijakan yang dipilih telah mencapai batasnya untuk binding. Hapus binding yang ada sebelum menambahkan yang baru."
- API / gcloud:
TOO_MANY_ACCESS_POLICY_BINDINGS_TO_POLICY
Penyebab: Satu UAP dilampirkan ke terlalu banyak resource target yang berbeda di seluruh project Anda.
Solusi: Ikat kebijakan pada cakupan yang lebih luas—seperti cakupan di seluruh registry
(AgentRegistry) atau cakupan project—dan gunakan kondisi atribut CEL (seperti
destination.agent_registry.mcp_server.name) untuk mengatur akses ke alat individual
dalam aturan kebijakan.
Batas kondisi terlampaui
Pesan error:
- UI Konsol: "Kebijakan ini telah mencapai jumlah maksimum kondisi atribut kondisi. Hapus beberapa kondisi untuk menyimpan perubahan."
- API / gcloud:
TOO_MANY_CONDITIONS/ Condition limit exceeded for rule in policy.
Penyebab: Satu aturan izin atau penolakan berisi lebih banyak kondisi atribut Kontrol Akses Terperinci (FGAC) atau sub-ekspresi kompleks daripada yang didukung dalam satu aturan.
Solusi: Gabungkan pemeriksaan atribut menggunakan operator logis CEL (&&,
||) atau setel pencarian penyertaan (in), atau pisahkan ekspresi Anda ke beberapa
aturan dalam UAP yang sama.
Detail aturan yang tidak berlaku
Pesan error:
- UI Konsol: "Detail aturan tidak berlaku. Aturan ini diubah oleh pengguna lain setelah halaman ini dimuat. Muat ulang halaman untuk mengambil detail saat ini sebelum mengedit atau menghapus."
- API / gcloud:
HTTP 412 Precondition Failed/ABORTEDdue toetagmismatch.
Penyebab: Administrator lain atau proses otomatis mengubah
UAP setelah Anda mengambilnya, sehingga
etag berbeda dari status server aktif.
Solusi: Muat ulang halaman Konsol untuk mengambil detail kebijakan aktif
dan etag sebelum menyimpan hasil edit Anda. Saat menggunakan REST API, lakukan GET
permintaan terlebih dahulu untuk mengambil nilai "etag" aktif, dan sertakan dalam
PATCH payload permintaan Anda.
Tidak dapat menghapus aturan terakhir dalam kebijakan
Pesan error:
- UI Konsol: "Tidak dapat menghapus aturan ini. 'Kebijakan default' harus berisi minimal satu aturan. Untuk menghapus aturan ini, hapus kebijakan." atau "Ini adalah aturan terakhir di <policy name>. Menghapusnya juga akan menghapus kebijakan dan menghapus semua binding terkait secara permanen, yang dapat memengaruhi akses agen ke resource."
Penyebab: UAP IAM tidak dapat disimpan tanpa aturan.
Solusi: Jika Anda ingin menghapus satu-satunya aturan dalam kebijakan, hapus seluruh kebijakan. Ingatlah bahwa Anda harus menghapus semua binding kebijakan yang mereferensikan kebijakan sebelum dapat menghapus kebijakan itu sendiri.
Ekspresi CEL kustom dipertahankan di tab Lanjutan
Pesan error:
- UI Konsol: "Ekspresi CEL kustom tidak dapat dikonversi menjadi pilihan UI standar. Ekspresi Anda dipertahankan di tab Lanjutan."
Penyebab: Anda memasukkan kondisi atau fungsi CEL yang kompleks di Editor kondisi (tab Lanjutan) yang tidak dapat dipetakan ke pemilih drop-down yang disederhanakan dari pembuat kondisi standar.
Solusi: Pesan ini adalah notifikasi informasi. Kondisi CEL kustom Anda valid dan dipertahankan. Lanjutkan untuk membuat perubahan apa pun langsung di dalam tab Editor kondisi.