View a markdown version of this page

Strategi tata kelola MCP - AWS Bimbingan Preskriptif

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

Strategi tata kelola MCP

Kemampuan penting lainnya yang ditawarkan MCP kepada organisasi adalah dukungan untuk tata kelola terpusat. Strategi tata kelola MCP Anda harus menangani otentikasi dan otorisasi ke server MCP serta sumber daya yang mereka akses. Ini juga harus mengatasi pembatasan tarif untuk melindungi sumber daya hilir, metrik operasional untuk memantau penggunaan dan kinerja alat, dan mengelola penyebaran dan distribusi server MCP.

Autentikasi dan otorisasi

Salah satu bagian terpenting dari strategi otentikasi dan otorisasi Anda adalah mengelola akses sumber daya hilir dari server MCP. Ketika pengguna memanggil agen, otentikasi dan otorisasi dilakukan untuk memastikan pengguna memiliki izin untuk memanggil agen. Kemudian, agen mengatur memanggil alat khusus di server MCP. Anda perlu memutuskan bagaimana mengotorisasi akses berdasarkan per-alat.

Salah satu opsi adalah machine-to-machine otorisasi, di mana persetujuan atau interaksi pengguna tidak diperlukan. Misalnya, pemanggilan agen berbasis waktu menggunakan server MCP untuk mengumpulkan log dari aplikasi dan menganalisisnya. Dalam skenario ini, agen pra-otorisasi untuk mengakses data yang ditentukan. Opsi kedua adalah akses yang didelegasikan pengguna, di mana pengguna memberikan persetujuan mereka untuk mengakses data dan sumber daya khusus pengguna.

Tabel berikut menunjukkan otentikasi dan otorisasi pola.

Faktor

Akses yang didelegasikan pengguna

M achine-to-machine

Kepemilikan data

Otorisasi khusus pengguna untuk data

Sistem atau data seluruh organisasi

Interaksi pengguna

Pengguna hadir dan dapat menyetujui

Tidak ada interaksi pengguna

Waktu operasi

Interaktif atau real-time

Latar belakang, terjadwal, atau batch

Ruang lingkup izin

Izin bervariasi menurut pengguna

Izin yang konsisten di tingkat agen

Akses yang didelegasikan pengguna memerlukan implementasi yang cermat dan harus dikembangkan bersama tim keamanan Anda. Agen harus dapat mengevaluasi alat mana yang telah dipilih LLM dan apakah mereka memerlukan otorisasi tambahan. Alat MCP harus menyertakan deskripsi untuk menunjukkan persyaratan otentikasi dan otorisasi mereka dan di mana untuk mengambil token akses. Aplikasi klien harus mendukung permintaan otentikasi perantara, dan klien MCP harus memberikan kredensi yang diambil kembali ke agen untuk setiap panggilan alat.

Anda harus memastikan bahwa alat MCP selalu memiliki token mereka sendiri untuk mengakses kemampuan eksternal dan bahwa akses dicatat dan diaudit. Kredensi pengguna tidak boleh disebarkan melalui sistem agen Anda. Misalnya, server MCP Anda tidak boleh menggunakan token yang sama untuk mengakses data yang digunakan untuk memanggil agen. Panggilan hilir harus menggunakan token yang dibuat khusus dengan cakupan khusus. Ini membantu menyediakan pagar pembatas tambahan untuk mencegah akses data yang tidak diinginkan atas nama tindakan. Ini juga dapat membantu mencegah halusinasi menghasilkan hasil yang tidak diinginkan. Bayangkan bahwa pengguna dengan izin admin penuh meminta agen untuk mengkloning database produksi untuk digunakan dalam pra-produksi. Untuk melakukannya, pengguna hanya perlu READ dan CREATE izin. Katakanlah LLM berhalusinasi dan percaya perlu membersihkan database lama sebagai bagian dari permintaan ini. Jika menggunakan kembali kredensil pengguna, kemungkinan akan berhasil karena kredensil asli pengguna memiliki izin. DELETE Sebaliknya, jika server MCP menggunakan token yang sengaja dicakup-down untuk permintaan dengan adil READ dan CREATE izin, upaya untuk menghapus basis data produksi akan gagal.

Anda dapat menggunakan Amazon Bedrock AgentCore Identity untuk membantu menerapkan pola-pola ini. Pastikan Anda membuat pilihan yang disengaja tentang apakah izin untuk membuat daftar dan memanggil alat yang dihosting oleh server MCP menyiratkan izin ke kemampuan eksternal yang mengekspos server MCP. Aliran identitas ini dari server MCP ke sumber daya dan kembali ke pengguna tergantung pada jenis layanan otentikasi dan otorisasi yang digunakan. Anda harus memutuskan bagaimana ini ditangani dalam skala besar untuk server MCP Anda.

Saat merancang pola otentikasi dan otorisasi Anda, terapkan mekanisme isolasi token yang mengambil token akses berbeda untuk setiap alat yang diakses. Jangan gunakan kembali token antara alat dan server. AgentCore Identitas menyediakan kemampuan isolasi token ini. Ini secara otomatis mengelola token beban kerja (untuk machine-to-machine otentikasi) dan token pengguna (untuk akses yang didelegasikan pengguna) untuk memastikan pemisahan yang tepat dan mencegah eskalasi izin. Ini sangat penting ketika menggabungkan server MCP jarak jauh atau gateway MCP.

Praktik terbaik untuk otentikasi dan otorisasi MCP

  • Pemisahan token — Jangan berikan token pembawa dari penelepon ke layanan hilir. Validasi bidang aud (audiens) cocok dengan server yang menerima token. Klaim audiens menentukan layanan mana yang dimaksudkan untuk token, mencegah penggunaan kembali token yang tidak sah di berbagai server MCP.

  • Pilih pendekatan akses — Pilih antara machine-to-machine dan akses yang didelegasikan pengguna untuk setiap alat yang disediakan server MCP Anda. Pertimbangkan untuk mengelompokkan alat bersama di server MCP yang sama yang menggunakan pola otentikasi yang sama.

Mengontrol beban

Seperti halnya sistem terdistribusi, Anda harus mempertimbangkan cara mengontrol beban di armada server MCP Anda. Pertama, Anda mempertimbangkan apakah akan menerapkan pembatasan tarif di server MCP Anda dan di mana menerapkan batasan. Jika Anda memilih untuk tidak menerapkan pembatasan tarif, Anda meneruskan pembatasan tarif apa pun yang dilakukan oleh sumber daya hilir. Banyak sistem memilih untuk menilai batas berdasarkan atribut permintaan, seperti ID pengguna atau akun. Validasi bahwa permintaan yang dikirim ke layanan hilir membawa atribut yang sama sehingga beberapa pengguna tidak terpengaruh oleh beban yang didorong oleh pengguna lain.

Jika Anda memilih untuk menerapkan pembatasan tarif, pendekatan yang disarankan adalah menerapkan pembatasan tarif primer di tingkat server MCP, dengan layanan backend memberikan perlindungan sekunder dan agen menyesuaikan perilaku mereka berdasarkan umpan balik batas tarif. Pertimbangkan apakah batas tarifnya adalah server per MCP atau per-alat. Batas tingkat server per MCP membantu melindungi armada dan layanan server MCP Anda di lingkungan multi-penyewa. Namun, itu bisa sangat kasar. Batas tarif per alat dirancang untuk mencegah sumber daya hilir yang berlebihan yang mungkin tidak cukup membatasi diri. Jika alat memanggil beberapa APIs, Anda harus menetapkan batas tarif untuk menyelaraskan ke tingkat terendah yang diizinkan oleh mereka APIs.

Melewati informasi batas tingkat dalam header HTTP juga dapat menjadi metrik yang berguna bagi pengguna dan sistem otomatis untuk membantu mengelola tingkat permintaan mereka sendiri dan strategi coba lagi. Misalnya, Anda dapat mengirim header ini kembali ke agen dari server MCP Anda, seperti yang ditunjukkan pada contoh berikut:

X-RateLimit-Limit: 100 X-RateLimit-Remaining: 45 X-RateLimit-Reset: 1640995200

Selain itu, pertimbangkan penumpahan beban untuk melindungi layanan secara keseluruhan ketika tidak ada pelanggan tunggal yang melebihi batas laju tetapi beban memengaruhi kinerja sistem.

Praktik terbaik untuk mengendalikan beban

  • Pilih pendekatan pembatas kecepatan - Rencanakan untuk menilai membatasi pengguna individu berdasarkan penggunaan sumber daya hilir atau melalui penggunaan server dan alat MCP Anda.

  • Pertimbangkan penumpahan beban — Lindungi armada server MCP Anda dari kelebihan beban umum yang tidak didorong oleh satu atau segelintir pelanggan.

Metrik operasional

Metrik kunci untuk menangkap implementasi MCP harus fokus pada pengalaman pelanggan yang mereka berikan. Metrik ini biasanya mencakup penggunaan token, akurasi pemilihan alat, jumlah alat yang terdaftar dengan agen, dan latensi alat. Misalnya, memantau token keluaran yang dikembalikan oleh setiap alat memungkinkan Anda menyetel alarm saat alat melebihi ambang batas untuk penggunaan jendela konteks. Ketika alat melebihi ambang batas itu, Anda mungkin ingin meninjau perilaku alat tersebut. Ini terkait dengan strategi desain alat MCP juga. Metrik akurasi pemilihan alat menunjukkan seberapa baik agen memilih alat yang sesuai untuk tugas tertentu, sementara kecepatan eksekusi dan tingkat keberhasilan menyoroti kemacetan kinerja dan masalah keandalan.

Misalnya, untuk mengevaluasi metrik akurasi pemilihan alat dan penggunaan alat, AWS tim membuat kumpulan data emas untuk pengujian regresi. Kumpulan data dihasilkan secara sintetis dengan menggunakan LLMs log pemanggilan API historis pada kueri pengguna. Menggunakan metrik pemilihan alat dan penggunaan alat yang telah ditentukan sebelumnya (seperti akurasi pemilihan alat, akurasi parameter alat, dan akurasi panggilan fungsi multi-putaran), AWS tim dapat secara objektif mengevaluasi kemampuan agen AI untuk mengidentifikasi alat yang sesuai dengan benar, mengisi parameter mereka dengan nilai yang akurat, dan mempertahankan urutan pemanggilan alat yang koheren di seluruh belokan percakapan.

Mengukur metrik tentang jumlah alat yang terdaftar dengan agen dapat membantu Anda mengidentifikasi tantangan manajemen jendela konteks potensial serta perubahan dalam alat yang tersedia yang disajikan oleh server MCP. Anda harus secara teratur meninjau metrik operasional yang menunjukkan pengalaman pengguna dengan server dan alat MCP Anda.