Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Gunakan sesi MCP dengan gateway Anda AgentCore
Sesi MCP memungkinkan interaksi stateful antara klien dan gateway Anda AgentCore . Ketika sesi diaktifkan, gateway menghasilkan pengenal sesi unik selama inisialisasi dan mempertahankan status di beberapa permintaan, memungkinkan fitur MCP tingkat lanjut seperti elicitation dan sampling.
Manfaat menggunakan sesi
- Interaksi target server MCP yang bersifat stateful
-
Gateway menyimpan ID sesi target server MCP dan menggunakannya kembali pada panggilan alat berikutnya. Ini menghindari inisialisasi ulang pada setiap permintaan dan memungkinkan target untuk mempertahankan konteks di seluruh panggilan.
- Respons yang lebih cepat dengan target AgentCore Runtime
-
Ketika sesi target digunakan kembali, AgentCore Runtime tidak perlu memulai koneksi server MCP baru pada setiap permintaan, menghasilkan waktu respons yang lebih cepat.
- Mengaktifkan fitur MCP tingkat lanjut
-
Sesi merupakan prasyarat untuk elis itasi dan pengambilan sampel, yang memerlukan status pelacakan di beberapa permintaan.
- User-scoped keamanan (gateway yang diautentikasi)
-
Untuk gateway dengan otentikasi masuk, sesi terikat pada identitas pengguna yang diverifikasi, mencegah pembajakan sesi.
Aktifkan sesi di gateway Anda
Untuk mengaktifkan sesi, tentukan a sessionConfiguration di protocolConfiguration.mcp bidang saat membuat atau memperbarui gateway Anda.
{ "protocolConfiguration": { "mcp": { "sessionConfiguration": { "sessionTimeoutInSeconds": 3600 } } } }
Parameter sessionTimeoutInSeconds bersifat opsional. Jika dihilangkan, batas waktu default adalah 3600 detik (1 jam). Rentang yang valid adalah 900 (15 menit) hingga 28800 (8 jam). Waktu tunggu mutlak, dihitung dari initialize permintaan pertama.
Untuk juga mengaktifkan fitur yang bergantung pada sesi seperti elisitasi dan pengambilan sampel, Anda juga harus mengaktifkan streaming respons:
{ "protocolConfiguration": { "mcp": { "sessionConfiguration": { "sessionTimeoutInSeconds": 3600 }, "streamingConfiguration": { "enableResponseStreaming": true } } } }
catatan
Saat sesi diaktifkan pada gateway, Anda tidak dapat menyer metadataConfiguration takan pengaturan propagasi header target gateway. Mcp-Session-Id Gateway mengelola ID sesi secara internal. Mencoba melakukannya mengembalikan kesalahan HTTP 400 Bad Request.
Siklus hidup sesi
Siklus hidup sesi mengikuti alur inisialisasi protokol MCP:
-
Klien mengirimkan
initializepermintaan ke gateway. -
Gateway membuat sesi, menyimpan metadata sesi, dan mengembalikan unik
Mcp-Session-Iddi header respons. -
Klien menyertakan
Mcp-Session-Idheader di semua permintaan berikutnya. -
Gateway memvalidasi keberadaan sesi, kedaluwarsa, dan identitas pengguna (untuk gateway yang diautentikasi) pada setiap permintaan.
-
Saat sesi habis waktu atau klien terputus, sesi berakhir.
Pada panggilan alat pertama ke target server MCP dalam sesi, gateway menginisialisasi koneksi dengan target dan menyimpan ID sesi target. Panggilan alat berikutnya ke target yang sama menggunakan kembali ID sesi yang disimpan ini, menghindari inisialisasi berulang.
Identitas pengguna dan pelingkupan sesi
Sesi dicakup ke identitas pengguna yang diautentikasi untuk mencegah pembajakan sesi. Gateway memperoleh identitas pengguna secara berbeda tergantung pada metode otentikasi masuk yang dikonfigurasi pada gateway Anda:
| Metode otentikasi | Pengidentifikasi pengguna | Perilaku |
|---|---|---|
|
OAuth/OIDC |
|
Terbatas penuh. Hanya pengguna yang membuat sesi yang dapat menggunakannya. K |
|
AWS IAM (SIGv4) |
Kepala ARN |
Terbatas penuh. Hanya kepala sekolah IAM yang membuat sesi yang dapat menggunakannya. ARN Utama unik secara global AWS, tidak dapat diubah selama masa hidup entitas IAM. Contoh: |
|
Tidak ada otentikasi |
Tidak ada |
Tidak ada pelingkupan pengguna. Sesi tersedia tetapi tidak terikat pada identitas apa pun. Siapa pun yang memiliki ID sesi dapat berinteraksi dengan sesi. |
penting
Untuk gateway tanpa autentikasi masuk, sesi membawa risiko pembajakan sesi seperti yang dijelaskan dalam pertim bangan keamanan spesifikasi MCP.
Untuk gateway yang diautentikasi, jika pengguna lain mencoba menggunakan ID sesi yang ada, gateway mengembalikan HTTP 404 Not Found — sesi tidak terlihat oleh pengguna lain.
Waktu tunggu dan kedaluwarsa sesi
Waktu tunggu sesi dihitung dari initialize permintaan pertama. Setelah periode batas waktu, sesi berakhir dan tidak dapat digunakan.
-
Batas waktu default: 3600 detik (1 jam)
-
Rentang yang dapat dikonfigurasi: 900 detik (15 menit) hingga 28800 detik (8 jam)
Jika sesi target server MCP kedaluwarsa atau hilang sebelum sesi gateway habis (misalnya, jika target dimulai ulang), panggilan alat berikutnya ke target tersebut mengembalikan kesalahan klien (4xx), seperti. session not found Untuk memulihkan, inisialisasi ulang koneksi MCP Anda ke gateway dengan mengirimkan initialize permintaan baru untuk memulai sesi gateway baru. Ini menetapkan sesi target baru, dan panggilan alat berikutnya menggunakan ID sesi target yang diperbarui.
Penanganan kesalahan
| Skenario | Status HTTP | Deskripsi |
|---|---|---|
|
|
400 Permintaan Buruk |
Semua permintaan setelahnya |
|
ID sesi tidak valid atau kedaluwarsa |
404 Tidak Ditemukan |
Sesi tidak ada atau telah habis waktunya. |
|
Pengguna yang berbeda mencoba untuk menggunakan sesi pengguna lain (gateway yang diautentikasi) |
404 Tidak Ditemukan |
Sesi ini tidak terlihat oleh pengguna lain. |
|
|
400 Permintaan Buruk |
Kembali di bidang kontrol saat membuat atau memperbarui target. |