View a markdown version of this page

Model keamanan dan izin untuk Instans Runtime - Batu Dasar Amazon AgentCore

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Model keamanan dan izin untuk Instans Runtime

Saat Anda meng-host agen pada tipe komputasi Instans, agen Anda berjalan di instans Amazon EC2 di akun Anda sendiri AWS . Ini mengubah model tanggung jawab bersama dibandingkan dengan jenis komputasi MicroVM tanpa server: instans berjalan di akun dan VPC Anda, agen Anda berjalan dengan izin peran eksekusi runtime, dan data di dalamnya tetap berada di akun Anda. Topik ini menjelaskan model keamanan untuk Instans, izin yang terlibat, dan praktik yang harus Anda ikuti untuk penerapan multi-tenant.

Topik ini melengkapi Runtime-wide panduan dalam Prakti k terbaik Keamanan untuk AgentCore Runtime. Praktik di sana — hak istimewa IAM terendah, otentikasi, enkripsi, keamanan jaringan, dan audit — juga berlaku untuk Instans. Untuk mengetahui bagaimana volume EBS yang dilampirkan ke sesi Anda dienkripsi, lihat Enkripsi saat diam untuk Inst ans Runtime.

Model keamanan

  • Instans ada di akun Anda — instans EC2 yang diluncurkan oleh penyedia kapasitas yang dijalankan di akun Anda dan VPC sebagai instans terkelola Amazon EC2. Anda dapat memeriksanya, menerapkan kontrol Anda sendiri, dan mengaudit aktivitas mereka melalui CloudTrail dan Log Aliran VPC di akun Anda.

  • Agen pada instance tidak terisolasi satu sama lain — Beberapa agen dapat berjalan pada instance yang sama dan berbagi sistem berkasnya. Agen berjalan pada instance baik dalam wadah atau, untuk agen yang digunakan secara langsung, sebagai proses langsung pada instans — keduanya tidak menyediakan batas keamanan antara beban kerja pada instans yang sama. Semua agen yang berbagi instance harus saling dipercaya.

  • Sesi adalah unit isolasi — Sesi, diidentifikasi oleh kombinasi penyedia kapasitas dan ID sesi, dipetakan ke satu instans EC2 (1:1). ID sesi yang sama di bawah dua penyedia kapasitas yang berbeda mengacu pada dua sesi berbeda pada dua instance yang berbeda. Agen yang ingin Anda jaga terisolasi satu sama lain tidak boleh berbagi sesi.

  • Penjual otomatis kreden si AgentCore — menjual kredentif peran eksekusi ke agen yang berjalan pada instance dan menyegarkannya secara berkala. Kode apa pun yang berjalan pada instance dapat membaca kredenSIAL yang tersedia untuknya. Lingkup peran eksekusi setiap runtime ke hak istimewa paling sedikit yang dibutuhkan agennya. Untuk informasi selengkapnya, lihat Manajemen KredenSIAL.

  • Kontrol akun Anda berlaku — Karena instans berjalan di akun Anda, kebijakan kontrol layanan AWS Organisasi (SCP), batas izin, dan kontrol VPC mengatur tindakan yang dilakukan di akun Anda. AgentCore bertindak melalui peran infrastruktur yang Anda berikan atau setujui; lingkupkan dengan kondisi IAM (misalnya, ke VPC, subnet, atau tipe instans tertentu). Pengecualiannya adalah AgentCore peran terkait layanan yang digunakan untuk menghapus dan membersihkan sumber daya, yang tidak dibatasi oleh SCP — konsisten dengan cara AWS memperlakukan peran terkait layanan secara umum.

  • Tempat tinggal data — Agen berjalan di VPC, subnet, akun, dan Wilayah yang Anda tentukan, dan data sesi dan volume EBS tetap ada di akun Anda.

Izin yang diperlukan

Agen hosting di Instans melibatkan peran berikut, selain peran eksekusi runtime agen yang memberikan kode agen Anda izin runtime.

  • Profil instans — Terlampir ke instance EC2. AgentCore menggunakannya untuk mengumpulkan log sistem dari instance; itu tidak memberikan izin ke kode agen Anda (peran eksekusi runtime agen melakukannya).

  • Peran infrastruktur — AgentCore mengambil peran ini untuk menyediakan dan mengelola instans EC2 di akun Anda atas nama Anda — meluncurkan, memberi tag, dan mengonfigurasi jaringan untuk instans dan antarmuka jaringannya. Karena peran ini memberikan AgentCore izin untuk mengelola komputasi di akun Anda, lingkupkan hak istimewa yang paling kecil yang dibutuhkan beban kerja Anda, dan gunakan kondisi IAM untuk membatasinya ke VPC, subnet, atau jenis instans tertentu jika sesuai.

Untuk langkah-langkah konfigurasi peran, lihat Mem ulai dengan Instans.

Perutean sesi dan isolasi multi-penyewa

AgentCore Runtime mengotorisasi pemanggilan terhadap sumber daya runtime agen ARN, bukan terhadap sesi individu.

Ketika Anda memanggil agen, Anda memberikanruntimeSessionId, dan AgentCore memvalidasi format ID sesi itu tetapi tidak memverifikasi bahwa itu milik identitas pemanggil. Ini memiliki konsekuensi penting untuk penerapan multi-tenant:

penting

Dalam penerapan di mana satu prinsipal IAM memanggil atas nama beberapa pengguna akhir, platform tidak memaksakan bahwa a sessionId milik pengguna yang memanggil. Anda bertanggung jawab untuk memastikan backend Anda melewati yang benar sessionId per pengguna.

Jika beberapa pengguna akhir berbagi prinsip IAM yang sama (misalnya, peran eksekusi backend tunggal yang memang InvokeAgentRuntime gil semua pengguna) dan backend Anda tidak mengikat sesi ke pengguna, pengguna yang diautentikasi dapat memberikan ID sesi pengguna lain dan merutekan permintaan ke sesi pengguna tersebut. Praktik-praktik berikut mengurangi ini.

Menerapkan pengikatan sesi-ke-pengguna di backend Anda

Terapkan pengikatan sesi-ke-pengguna tingkat aplikasi di backend Anda. Pertahankan pemetaan antara setiap pengguna akhir dan ID sesi mereka di aplikasi Anda, dan pastikan bahwa permintaan untuk satu pengguna tidak pernah dapat dikeluarkan dengan pengguna lainruntimeSessionId. Perlakukan runtimeSessionId sebagai nilai sisi server yang berasal dari pengguna akhir yang diautentikasi — jangan pernah menerimanya langsung dari input klien yang tidak tepercaya. Untuk penerapan prinsip-bersama, multi-tenant, pengikatan tingkat aplikasi di backend Anda adalah kontrol yang mencegah satu pengguna merutekan permintaan ke sesi pengguna lain.

Gunakan prinsip-prinsip IAM yang berbeda untuk penerapan multi-tenant dengan keamanan tinggi

Untuk penerapan multi-tenant dengan keamanan tinggi, gunakan prinsipal IAM yang berbeda per pengguna akhir (atau per grup penyewa) untuk memanggil agen, bukan prinsip bersama tunggal. Ketika setiap pengguna atau penyewa memanggil melalui prinsipalnya sendiri, IAM sendiri memberlakukan pelingkupan sesi: prinsipal hanya dapat memanggil runtime yang diizinkan oleh kebijakannya, yang menghilangkan kelas prinsip bersama dari risiko perutean sesi. Ini adalah kontrol terkuat dan direkomendasikan setiap kali penerapan dapat mendukung prinsipal per pengguna atau per penyewa.

Audit dan pemantauan

Gunakan audit untuk mendeteksi pengintaian perutean sesi dan akses anomali:

  • Korelasikan prinsip dan ID sesi — AWS CloudTrail merekam prinsipal yang diautentikasi dan target sessionId dalam acara yang samaInvokeAgentRuntime. Gunakan ini untuk mendeteksi routing utama ke sesi yang dibuat oleh prinsipal yang berbeda.

  • Terapkan praktik Runtime-wide audit — Aktifkan CloudTrail dan Log Aliran VPC, kaitkan log menggunakan ID permintaan, dan atur filter dan alarm metrik seperti yang dijelaskan dalam Audit dan pemantauan.

Praktik terbaik

  • Pisahkan beban kerja berdasarkan tingkat kepercayaan — Gunakan sesi yang berbeda untuk beban kerja yang tidak saling dipercaya. Jangan menempatkan agen yang tidak tepercaya bersama pada sesi yang sama.

  • Terapkan hak istimewa terkecil ke setiap peran — Lingkup peran eksekusi runtime agen dan peran infrastruktur hanya untuk tindakan dan sumber daya yang dibutuhkan masing-masing.

  • Mengikat sesi ke pengguna di backend Anda — Untuk penerapan apa pun di mana satu prinsipal melayani beberapa pengguna akhir, terapkan pengikatan sesi-ke-pengguna di lapisan aplikasi Anda.

  • Lebih suka prinsipal per pengguna atau per penyewa — Jika memungkinkan, panggil melalui prinsip-prinsip IAM yang berbeda sehingga IAM memberlakukan pelingkupan sesi.

  • Monitor untuk perutean lin tas-prinsip — Digunakan CloudTrail untuk mendeteksi anomali routing, seperti routing utama ke sesi yang dibuat oleh prinsipal yang berbeda.

Untuk panduan Runtime-wide keamanan yang juga berlaku untuk Instans, lihat Prakti k terbaik keamanan untuk AgentCore Runtime.