Anda dapat membuat Kebijakan Akses Terpadu (UAP) Identity and Access Management (IAM) untuk membantu mengatur komunikasi antara akun utama agen dan resource tujuan, seperti agen tujuan, server MCP, dan endpoint. Kebijakan ini terikat pada project yang berisi instance Agent Gateway Anda.
Agent Gateway menggunakan Identity-Aware Proxy (IAP) untuk mengevaluasi dan menerapkan UAP.
IAP juga terintegrasi dengan Akses Kontekstual untuk menyediakan autentikasi dan otorisasi identitas agen menyeluruh.
Untuk menyiapkan UAP bagi Agent Gateway, lihat Mengonfigurasi UAP IAM.
Anda juga dapat membuat Batas Akses Principal (PAB) pada identitas agen. Agent Gateway dapat menggunakan IAP untuk menerapkan kebijakan Batas Akses Principal.
Mengaktifkan Agent Gateway
Untuk menggunakan kebijakan komunikasi agentik, Anda harus menyiapkan Agent Gateway.
Sebaiknya konfigurasi Agent Gateway dalam mode uji coba
(DRY_RUN) di lingkungan staging untuk memverifikasi bahwa kebijakan Anda berfungsi
seperti yang diharapkan.
Jika sudah yakin bahwa kebijakan berfungsi dengan benar, Anda dapat memperbarui konfigurasi Agent Gateway untuk menyetel mode penerapan ke ENFORCE. Dalam mode ini, komunikasi agentik yang melanggar kebijakan tidak diizinkan dan komunikasi ke resource diblokir.
Ringkasan UAP
UAP mengontrol apakah satu atau beberapa akun utama agen dapat mengakses satu atau beberapa resource tujuan. UAP memperluas model kebijakan IAM dengan mendukung beberapa aturan dalam satu kebijakan. Tidak seperti kebijakan izinkan dan kebijakan tolak IAM, setiap aturan dalam UAP dapat memiliki efek izinkan dan efek tolak. Pelajari lebih lanjut jenis kebijakan IAM.
Aturan juga berisi kondisi yang dinyatakan dalam Common Expression Language (CEL). Kondisi berfungsi sebagai mekanisme utama untuk mengontrol akses ke resource post-gateway. Menerapkan UAP dengan Agent Gateway dan IAP memberikan kontrol perilaku yang ketat atas agen yang di-deploy di seluruh perusahaan Anda. Anda dapat merepresentasikan kasus penggunaan tata kelola agen yang mendetail dan nyata dalam satu kebijakan.
Kebijakan standar berisi setidaknya dua aturan yang berbeda:
- Aturan izinkan: Aturan izinkan memiliki efek izinkan yang memungkinkan akun utama agen mengakses operasi spesifik yang aman, seperti melakukan operasi baca pada alat untuk mengambil data pelacakan atau melihat entri registri.
- Aturan penolakan: Aturan penolakan memiliki efek penolakan yang melarang agen menjalankan tindakan yang tidak diinginkan, seperti melakukan operasi penghapusan atau pembaruan yang tidak diperintahkan pada resource penting.
Misalnya, pertimbangkan agen dukungan pelanggan otomatis yang perlu berinteraksi dengan alat internal yang memiliki akses istimewa ke database pelanggan. Administrator mengonfigurasi Agent Gateway dengan IAP untuk menerapkan UAP IAM. Administrator dapat mengonfigurasi UAP dengan aturan izinkan yang mengizinkan akun utama agen untuk membaca tiket dukungan, dan aturan tolak yang melarang akun utama agen menghapus atau memperbarui catatan database.
Dengan menggunakan UAP yang berisi aturan izinkan dan tolak, organisasi dapat men-deploy satu kebijakan kepatuhan perusahaan langsung ke infrastruktur cloud yang mendasarinya untuk membatasi perilaku agen.
Praktik terbaik
Ikuti praktik terbaik berikut saat Anda mengonfigurasi kebijakan keluar agen:
- Gunakan mode uji coba: Deploy kebijakan baru atau yang diubah dalam mode uji coba terlebih dahulu untuk memastikan kebijakan Anda berfungsi seperti yang diharapkan, tanpa memblokir traffic agen aktif.
- Terapkan prinsip hak istimewa terendah: Hanya berikan izin yang diperlukan. Gunakan nama atau jalur alat tertentu dalam kondisi CEL, bukan karakter pengganti.
- Gunakan aturan penolakan untuk pembatasan: Gunakan aturan penolakan eksplisit untuk menerapkan pembatasan penting, seperti memblokir alat yang merusak di endpoint produksi. Penggunaan aturan penolakan untuk batas aman sangat efektif karena aturan penolakan menggantikan aturan izin.
- Lakukan audit rutin: Tinjau log Cloud Audit Logs dan konfigurasi kebijakan secara berkala untuk memverifikasi bahwa keduanya mematuhi kebijakan keamanan organisasi Anda.
Komponen UAP
UAP berisi satu atau beberapa aturan. Aturan memiliki komponen berikut:
Akun utama agen
Di UAP IAM, Anda menentukan satu atau
beberapa akun utama agen. Akun utama agen adalah anggota yang Anda beri
akses. Anda menentukan agen berdasarkan identitas agen, yaitu identitas agen yang memulai komunikasi dengan resource.
Untuk mengetahui informasi selengkapnya tentang cara berbagai jenis agen menerima identitas, lihat
Identitas agen.
Identitas agen diwakili oleh ID utama
yang berisi identitas agen berformat SPIFFE (misalnya,
principal://agents.global.org-...).
Anda dapat menentukan array identitas agen individual atau array kumpulan akun utama.
Identitas agen bawaan disediakan di seluruh layanan Cloud de Confiance seperti Agent Runtime (Reasoning Engine), Gemini Enterprise (Discovery Engine), dan layanan Cloud Run yang dikonfigurasi dengan identitas agen. Principal agen ini memiliki bentuk principal://TRUST_DOMAIN/AGENT_UNIQUE_IDENTIFIER,
dengan ID merepresentasikan jalur resource agen di layanan hosting-nya.
Anda juga dapat menentukan agen menggunakan ID utama Federasi Workload Identity.
Efek aturan
Efek aturan menentukan apakah aturan mengizinkan atau melarang akun utama agen mengakses resource.
Resource tujuan
UAP IAM mengelola akses dari akun utama agen ke resource tujuan. Resource tujuan adalah resource yang coba diakses oleh prinsipal agen. Resource tujuan ditentukan dalam kondisi aturan. Resource tujuan dapat berupa resource terdaftar atau resource tidak terdaftar.
Resource terdaftar
Resource terdaftar adalah resource yang terdaftar di registry Agent Registry.
Resource terdaftar mencakup hal berikut:
- Registri: Seluruh registri agen dalam project.
- Server MCP: Server MCP yang terdaftar di registry agen.
- Agen: Agen yang terdaftar di registry agen. Agen individual dapat ditentukan satu per satu berdasarkan identitas agennya. Grup agen dapat ditentukan oleh ID set prinsipal.
- Endpoint: Endpoint yang terdaftar di registry agen.
Layanan individual dapat didaftarkan di Agent Registry. Jika Anda membuat pendaftaran agen dan aturan Anda menjadi regional untuk mengelola akses ke resource yang terdaftar, maka UAP Anda hanya berlaku untuk resource yang berada di region pendaftaran.
Resource yang tidak terdaftar
Resource yang tidak terdaftar adalah resource yang tidak terdaftar di registri agen. Untuk memberikan atau menolak akses ke resource yang tidak terdaftar dalam aturan UAP, Anda harus menentukan resource yang tidak terdaftar dalam kondisi aturan menggunakan ekspresi Common Expression Language (CEL) yang berisi atribut host dan jalur yang tidak terdaftar.
Kondisi
Dalam aturan UAP, Anda menggunakan ekspresi Common Expression Language (CEL)
di blok conditions untuk menentukan cakupan resource target
dan kriteria akses terperinci:
Cakupan resource target: Mengidentifikasi resource tujuan mana yang diatur oleh aturan. Dalam file kebijakan berformat JSON, Anda menentukan atribut tujuan, seperti
destination.agent_registry.mcp_server.nameataudestination.unregistered.host. Di Cloud de Confiance konsol, memilih tujuan di bagian Target resources akan otomatis menambahkan kriteria resource ini ke ekspresi kondisi aturan.Kriteria akses: Gunakan ekspresi Boolean untuk menentukan kapan dan dalam batasan apa efek aturan diterapkan. Misalnya, Anda dapat membatasi akses berdasarkan nama alat, status hanya baca, metode HTTP, atau awalan jalur menggunakan atribut CEL UAP. Efek aturan (izinkan atau tolak) hanya berlaku jika seluruh ekspresi CEL dievaluasi menjadi
true.
Di gcloud CLI dan REST API, Anda menentukan ekspresi CEL ini di
kolom conditions definisi aturan.
Di konsol Cloud de Confiance , Anda dapat mengonfigurasi aturan standar menggunakan Pembuat kondisi, atau menulis ekspresi CEL kustom langsung di Editor kondisi.
Izin
Di IAP V2 dengan UAP IAM, izin
iap.googleapis.com/resources.egressViaIAP selalu diberikan di resource tujuan. Di gcloud CLI dan REST API, Anda menentukan
izin di kolom operation.permissions pada file kebijakan.
Opsi pembuatan kebijakan
Di halaman Policies di konsol Cloud de Confiance , Anda dapat membuat UAP IAM. Sebaiknya Anda hanya membuat UAP (kebijakan IAM v3).
Di gcloud CLI dan REST API, Anda dapat mengonfigurasi UAP IAM dengan terlebih dahulu membuat file berformat JSON. Sebaiknya Anda hanya membuat UAP.
Autentikasi dan otorisasi end-to-end
IAP dan Akses Kontekstual menyediakan autentikasi dan otorisasi identitas agen end-to-end default menggunakan protokol berikut:
- mutual TLS (mTLS)
- Menunjukkan Bukti Kepemilikan (DPoP)
Identitas agen disediakan dengan sertifikat X.509 dan token terikat sertifikat. IAP memastikan bahwa identitas agen menggunakan TLS timbal balik (mTLS) untuk melakukan autentikasi ke Agent Gateway. Saat gateway mengizinkan agen keluar dan mengakses API Cloud de Confiance , server MCP, agen lain, dan endpoint, agen akan mencoba mengakses di luar batas mTLS. Untuk membantu melindungi komunikasi, Akses Kontekstual menerapkan kebijakan Akses Kontekstual yang dikelola Google. Kebijakan ini mewajibkan DPoP untuk memvalidasi token terikat sertifikat yang terikat dengan identitas agen. Untuk mengetahui informasi selengkapnya tentang cara Akses Kontekstual menggunakan mTLS dan DPoP, lihat Keamanan agen Akses Kontekstual.
Atribut CEL UAP
Di UAP, Anda dapat menentukan kondisi dengan ekspresi bersyarat. Ekspresi dapat berisi beberapa sub-ekspresi. Jenis resource tujuan yang Anda gunakan di setiap sub-kondisi relasional menentukan atribut yang dapat Anda gunakan.
Misalnya, dalam kondisi berikut, dalam sub-ekspresi destination.unregistered.path.startsWith('/v1/statements'),
jenis resource adalah tujuan yang tidak terdaftar, atributnya adalah destination.unregistered.path,
dan startsWith() adalah fungsi CEL.
destination.unregistered.host == 'finance.example.com' &&
destination.unregistered.path.startsWith('/v1/statements')
Atribut yang dijelaskan dalam tabel berikut tersedia untuk setiap jenis resource:
| Jenis resource tujuan | Atribut | Detail | ||||||
|---|---|---|---|---|---|---|---|---|
Agent Registry |
destination.is_registered |
|
||||||
destination.agent_registry.resource_type |
|
|||||||
destination.agent_registry.location |
|
|||||||
destination.agent_registry.project_id |
|
|||||||
Agen |
destination.agent_registry.agent.name |
|
||||||
Server MCP |
destination.agent_registry.mcp_server.name |
|
||||||
destination.agent_registry.mcp_server.method |
|
|||||||
destination.agent_registry.mcp_server.tool.name |
|
|||||||
destination.agent_registry.mcp_server.tool.annotations.read_only_hint
|
|
|||||||
destination.agent_registry.mcp_server.tool.annotations.destructive_hint
|
|
|||||||
destination.agent_registry.mcp_server.tool.annotations.idempotent_hint
|
|
|||||||
destination.agent_registry.mcp_server.tool.annotations.open_world_hint
|
|
|||||||
destination.agent_registry.mcp_server.prompt.name |
|
|||||||
destination.agent_registry.mcp_server.resource.name |
|
|||||||
Endpoint |
destination.agent_registry.endpoint.name |
|
||||||
Tujuan Tidak Terdaftar |
destination.unregistered.host |
|
||||||
destination.unregistered.path |
|
|||||||
destination.unregistered.method |
|
Langkah berikutnya
Codelab: Mengamankan aplikasi AI agentik lintas cloud
Pelajari cara mengamankan aplikasi agentic Anda di codelab Mengamankan Aplikasi AI Agentic Lintas Cloud.