Ringkasan Unified Access Policies IAM

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.name atau destination.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
Jenis nilai Boolean
Nilai yang didukung true, false
Operasi yang didukung ==, !=
destination.agent_registry.resource_type
Jenis nilai String
Nilai yang didukung 'AGENT', 'ENDPOINT', 'MCP_SERVER', 'SKILL'
Operasi yang didukung ==, !=, in
destination.agent_registry.location
Jenis nilai String
Nilai yang didukung ID lokasi Google Cloud (misalnya, 'global', 'us-central1')
Operasi yang didukung ==, !=, in
destination.agent_registry.project_id
Jenis nilai String
Nilai yang didukung Project ID Google Cloud
Operasi yang didukung ==, !=, in

Agen

destination.agent_registry.agent.name
Jenis nilai String
Nilai yang didukung Nama resource agen (projects/PROJECT_ID/locations/LOCATION/agents/AGENT_NAME)
Operasi yang didukung ==, !=, in

Server MCP

destination.agent_registry.mcp_server.name
Jenis nilai String
Nilai yang didukung Nama resource server MCP (projects/PROJECT_ID/locations/LOCATION/mcpServers/MCP_SERVER_NAME)
Operasi yang didukung ==, !=, in
destination.agent_registry.mcp_server.method
Jenis nilai String
Nilai yang didukung Nama metode MCP (misalnya, 'tools', 'prompts', 'resources')
Operasi yang didukung ==, !=, in
destination.agent_registry.mcp_server.tool.name
Jenis nilai String
Nilai yang didukung Nama alat (misalnya, 'search_code', 'execute')
Operasi yang didukung ==, !=, in
destination.agent_registry.mcp_server.tool.annotations.read_only_hint
Jenis nilai Boolean
Nilai yang didukung true, false
Operasi yang didukung ==, !=
destination.agent_registry.mcp_server.tool.annotations.destructive_hint
Jenis nilai Boolean
Nilai yang didukung true, false
Operasi yang didukung ==, !=
destination.agent_registry.mcp_server.tool.annotations.idempotent_hint
Jenis nilai Boolean
Nilai yang didukung true, false
Operasi yang didukung ==, !=
destination.agent_registry.mcp_server.tool.annotations.open_world_hint
Jenis nilai Boolean
Nilai yang didukung true, false
Operasi yang didukung ==, !=
destination.agent_registry.mcp_server.prompt.name
Jenis nilai String
Nilai yang didukung Nama perintah
Operasi yang didukung ==, !=, in
destination.agent_registry.mcp_server.resource.name
Jenis nilai String
Nilai yang didukung Nama resource
Operasi yang didukung ==, !=, in

Endpoint

destination.agent_registry.endpoint.name
Jenis nilai String
Nilai yang didukung Nama resource endpoint (projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_NAME)
Operasi yang didukung ==, !=, in

Tujuan Tidak Terdaftar

destination.unregistered.host
Jenis nilai String
Nilai yang didukung Nama host (misalnya, 'google.com', 'example.com')
Operasi yang didukung ==, !=, in, .startsWith(), .endsWith(), .contains()
destination.unregistered.path
Jenis nilai String
Nilai yang didukung Jalur permintaan (misalnya, '/admin', '/api/v1')
Operasi yang didukung ==, !=, in, .startsWith(), .endsWith(), .contains()
destination.unregistered.method
Jenis nilai String
Nilai yang didukung Metode HTTP (misalnya, 'get', 'post', 'put', 'delete')
Operasi yang didukung ==, !=, in

Langkah berikutnya

Codelab

Pelajari cara mengamankan aplikasi agentic Anda di codelab Mengamankan Aplikasi AI Agentic Lintas Cloud.

Ringkasan

Dapatkan ringkasan Agent Gateway.

Panduan

Pelajari kontrol keamanan untuk Google Agent Platform.