Buat AgentCore gateway menggunakan API
Untuk membuat AgentCore gateway menggunakan API, buat CreateGatewaypermintaan dengan salah satu titik akhir bidang AgentCore kontrol.
Minimal, Anda harus menentukan bidang berikut:
Bidang opsional berikut menambahkan metadata ke gateway Anda:
-
protocolType— Jenis protokol untuk gateway. Jika Anda menyetelnyaMCP, gateway beroperasi dalam mode agregasi dan hanya dapat memiliki target MCP. Jika Anda menghilangkan bidang ini, gateway dapat memiliki target MCP dan HTTP.
-
description— Deskripsi gateway.
-
tags— Kamus pasangan nilai kunci yang menentukan tag yang dapat Anda gunakan untuk memberi label gateway Anda untuk tujuan pemantauan.
Bidang yang tersisa bergantung pada konfigurasi gateway Anda dan apakah Anda ingin mengaktifkan fitur khusus untuk gateway Anda:
-
clientToken— Nilai token klien untuk memastikan bahwa permintaan selesai tidak lebih dari sekali. Jika Anda tidak menyertakan token ini, satu dibuat secara acak untuk Anda. Jika Anda tidak menyertakan nilai, satu dihasilkan secara acak untuk Anda. Untuk informasi selengkapnya, lihat Memastikan idempotensi.
-
authorizerConfiguration— Jika jenis otorisasi AndaCUSTOM_JWT, Anda harus menyertakan bidang ini untuk menentukan parameter otorisasi dan otentikasi gateway. Untuk informasi selengkapnya, lihat Konfigurasi otorisasi.
-
kmsKeyArn— Untuk mengenkripsi gateway Anda dengan kunci KMS, sertakan ARN kunci di bidang ini. Untuk informasi selengkapnya, lihat Mengenkripsi AgentCore gateway Anda dengan kunci KMS yang dikelola pelanggan.
-
exceptionLevel— Untuk mengaktifkan pesan debugging saat memanggil gateway, setel nilai ini ke. DEBUG Untuk informasi selengkapnya, lihat Mengaktifkan pesan debugging. Untuk contoh membuat gateway dengan setelan ini, lihat Membuat gateway dengan pesan debugging.
-
interceptorConfigurations— Untuk mengaktifkan kode kustom yang dijalankan saat menjalankan gateway Anda, sertakan bidang ini. Untuk informasi selengkapnya, lihat Menggunakan pencegat dengan Gateway. Untuk contoh membuat gateway dengan pencegat, lihat Membuat gateway dengan konfigurasi pencegat.
-
protocolConfiguration— Untuk menyertakan penyesuaian untuk protokol gateway, konfigurasikan pengaturan di bidang ini. Untuk opsi dalam konfigurasi ini, lihat GatewayProtocolConfiguration.
Konfigurasi otorisasi
Jika jenis otorisasi AndaCUSTOM_JWT, Anda juga harus menyertakan konfigurasi otorisasi di bidang. authorizerConfiguration Struktur dasar konfigurasi otorisasi adalah sebagai berikut:
{
"customJWTAuthorizer": {
"discoveryUrl": "string",
"allowedAudience": ["string"],
"allowedClients": ["string"],
"allowedScopes": ["string"],
"customClaims": see below
}
}
Anda harus memberikan URL penemuan untuk token otentikasi. Bidang yang tersisa menentukan batasan untuk klaim otentikasi:
-
allowedAudience- Pemirsa atau layanan yang dapat menangani JWT.
-
allowedClients— Klien yang diizinkan untuk membuat JWT.
-
allowedScopes— Ruang lingkup itu membatasi serangkaian klaim.
-
customClaims— Sebuah array objek yang memungkinkan Anda untuk menentukan bidang kustom dan nilai-nilai yang membatasi klaim untuk diautentikasi. Setiap objek adalah CustomClaimValidationsType objek berisi bidang-bidang berikut:
-
inboundTokenClaimName— Nama bidang klaim khusus untuk diperiksa.
-
inboundTokenClaimValueType— Tipe data dari nilai klaim yang harus diperiksa.
-
authorizingClaimMatchValue— Mendefinisikan nilai untuk mencocokkan nilai klaim. Berisi bidang berikut:
Contoh berikut menunjukkan struktur CustomClaimValidationsType objek yang dapat Anda tentukan:
contoh
- String matches string
-
-
{
"inboundTokenClaimName": "string",
"inboundTokenClaimValueType": "STRING",
"authorizingClaimMatchValue": {
"claimMatchValue": {
"matchValueString": "string"
},
"claimMatchOperator": "EQUALS"
}
}
- Array contains string
-
-
{
"inboundTokenClaimName": "string",
"inboundTokenClaimValueType": "STRING_ARRAY",
"authorizingClaimMatchValue": {
"claimMatchValue": {
"matchValueString": "string"
},
"claimMatchOperator": "CONTAINS"
}
}
- Array contains any value in array
-
-
{
"inboundTokenClaimName": "string",
"inboundTokenClaimValueType": "STRING_ARRAY",
"authorizingClaimMatchValue": {
"claimMatchValue": {
"matchValueStringList": ["string"]
},
"claimMatchOperator": "CONTAINS_ANY"
}
}
Untuk melihat contoh cara membuat gateway, perluas bagian yang sesuai dengan kasus penggunaan Anda:
Buat gateway: contoh dasar (otorisasi JWT khusus)
Bagian ini memberikan contoh dasar pembuatan gateway.
Perhatikan hal berikut: * Nilai untuk konfigurasi otorisasi berasal dari saat Anda mengatur otorisasi masuk. * Jika Anda memilih opsi yang melibatkan menentukan peran layanan gateway terbuka ARN, pastikan Anda menentukan yang sudah ada yang telah Anda siapkan. Untuk informasi selengkapnya, lihat Izin peran layanan AgentCore Gateway.
Pilih salah satu metode berikut:
contoh
- AgentCore CLI
-
-
AgentCore CLI menyediakan cara sederhana untuk membuat gateway di antarmuka baris perintah.
Untuk membuat gateway, Anda menggunakan agentcore add gateway perintah. Peran layanan gateway dan otorisasi Amazon Cognito secara otomatis dikonfigurasi untuk Anda selama penerapan.
Menggunakan argumen default
Jalankan perintah berikut di terminal untuk membuat gateway tanpa otorisasi (default). Untuk menambahkan otorisasi JWT Kustom, tentukan flag authorizer seperti yang ditunjukkan pada contoh berikut:
agentcore add gateway --name my-gateway
Menentukan argumen
Perintah berikut menunjukkan cara membuat gateway dengan otorisasi JWT Kustom dan konfigurasi eksplisit:
agentcore add gateway \
--name my-gateway \
--authorizer-type CUSTOM_JWT \
--discovery-url "https://cognito-idp.us-west-2.amazonaws.com/some-user-pool/.well-known/openid-configuration" \
--allowed-audience "api.example.com"
agentcore deploy
Setelah penerapan, status yang gatewayUrl ditampilkan oleh agentcore adalah titik akhir yang akan digunakan saat Anda memanggil gateway.
- Interactive
-
-
Jalankan agentcore untuk membuka TUI, lalu pilih tambah dan pilih Gateway:
-
Masukkan nama gateway:
-
Pilih Custom JWT sebagai jenis otorisasi dan tekan Enter:
-
Konfigurasikan opsi lanjutan:
-
Tinjau ringkasan konfigurasi dan tekan Enter untuk mengonfirmasi:
- AWS CLI
-
-
Jalankan kode berikut di terminal untuk membuat gateway dasar dengan AWS CLI:
aws bedrock-agentcore-control create-gateway \
--name my-gateway \
--role-arn arn:aws:iam::123456789012:role/my-gateway-service-role \
--protocol-type MCP \
--authorizer-type CUSTOM_JWT \
--authorizer-configuration '{
"customJWTAuthorizer": {
"discoveryUrl": "https://cognito-idp.us-west-2.amazonaws.com/some-user-pool/.well-known/openid-configuration",
"allowedClients": ["clientId"]
}
}'
Responsnya adalah titik akhir yang akan digunakan saat Anda memanggil gateway. gatewayUrl
- AWS Python SDK (Boto3)
-
-
Kode Python berikut menunjukkan cara membuat gateway dasar dengan AWS Python SDK (Boto3):
import boto3
# Initialize the AgentCore client
client = boto3.client('bedrock-agentcore-control')
# Create a gateway
gateway = client.create_gateway(
name="my-gateway",
roleArn="arn:aws:iam::123456789012:role/my-gateway-service-role",
protocolType="MCP",
authorizerType="CUSTOM_JWT",
authorizerConfiguration={
"customJWTAuthorizer": {
"discoveryUrl": "https://cognito-idp.us-west-2.amazonaws.com/some-user-pool/.well-known/openid-configuration",
"allowedClients": ["clientId"]
}
}
)
print(f"MCP Endpoint: {gateway['gatewayUrl']}")
Buat gateway: contoh dasar (otorisasi IAM)
Bagian ini memberikan contoh dasar pembuatan gateway menggunakan otorisasi IAM. Dengan otorisasi IAM, Anda tidak memerlukan konfigurasi otorisasi.
AgentCore CLI tidak mendukung pembuatan gateway dengan otorisasi IAM. Gunakan AWS Command Line Interface atau AWS Python SDK (Boto3) untuk membuat gateway dengan otorisasi IAM.
Pilih salah satu metode berikut:
contoh
- AWS CLI
-
-
Jalankan yang berikut ini di terminal:
aws bedrock-agentcore-control create-gateway \
--name my-gateway \
--role-arn arn:aws:iam::123456789012:role/MyAgentCoreServiceRole \
--protocol-type MCP \
--authorizer-type AWS_IAM
- Boto3
-
-
import boto3
# Create the AgentCore client
agentcore_client = boto3.client('bedrock-agentcore-control')
# Create a gateway
gateway = agentcore_client.create_gateway(
name="my-gateway",
roleArn="arn:aws:iam::123456789012:role/MyAgentCoreServiceRole",
protocolType="MCP",
authorizerType="AWS_IAM"
)
Buat gateway: contoh dasar (NONE authorizer)
Bagian ini memberikan contoh dasar pembuatan gateway dengan tipe NONE authorizer. Ini merupakan gateway yang tidak akan melakukan otentikasi atau otorisasi untuk setiap permintaan yang masuk.
* Jenis otorisasi NONE mewakili gateway yang tidak akan melakukan otentikasi atau otorisasi untuk permintaan yang masuk. Lihat otorisasi masuk untuk masalah keamanan dan detail seputar penggunaan konfigurasi ini. * Jika Anda memilih opsi yang melibatkan menentukan peran layanan gateway terbuka ARN, pastikan Anda menentukan yang sudah ada yang telah Anda siapkan. Untuk informasi selengkapnya, lihat Izin peran layanan AgentCore Gateway.
Pilih salah satu metode berikut:
contoh
- AgentCore CLI
-
-
AgentCore CLI menyediakan cara sederhana untuk membuat gateway dengan tipe NONE authorizer di antarmuka baris perintah.
Perintah berikut menunjukkan cara membuat gateway dengan tipe NONE authorizer:
agentcore add gateway \
--name my-gateway \
--authorizer-type NONE
agentcore deploy
Setelah penerapan, status yang gatewayUrl ditampilkan oleh agentcore adalah titik akhir yang akan digunakan saat Anda memanggil gateway.
- Interactive
-
-
Jalankan agentcore untuk membuka TUI, lalu pilih tambah dan pilih Gateway:
-
Masukkan nama gateway:
-
Pilih NONE sebagai jenis otorisasi dan tekan Enter:
-
Konfigurasikan opsi lanjutan:
-
Tinjau ringkasan konfigurasi dan tekan Enter untuk mengonfirmasi:
- AWS CLI
-
-
Jalankan kode berikut di terminal untuk membuat gateway dengan tipe NONE authorizer menggunakan AWS CLI:
aws bedrock-agentcore-control create-gateway \
--name my-gateway \
--role-arn arn:aws:iam::111122223333:role/my-gateway-service-role \
--protocol-type MCP \
--authorizer-type NONE
Responsnya adalah titik akhir yang akan digunakan saat Anda memanggil gateway. gatewayUrl
- AWS Python SDK (Boto3)
-
-
Kode Python berikut menunjukkan cara membuat gateway dengan tipe NONE authorizer menggunakan AWS Python SDK (Boto3):
import boto3
# Initialize the AgentCore client
client = boto3.client('bedrock-agentcore-control')
# Create a gateway
gateway = client.create_gateway(
name="my-gateway",
roleArn="arn:aws:iam::111122223333:role/my-gateway-service-role",
protocolType="MCP",
authorizerType="NONE"
)
print(f"MCP Endpoint: {gateway['gatewayUrl']}")
Buat gateway: contoh dasar (otorisasi AUTHENTICATE_ONLY)
Bagian ini memberikan contoh pembuatan gateway dengan AUTHENTICATE_ONLY otorisasi. Dengan jenis otorisasi ini, gateway memvalidasi token masuk tetapi tidak melakukan otorisasi penuh. Identitas atau token yang diautentikasi kemudian diteruskan ke target untuk otorisasi hilir. Ini berguna saat Anda ingin gateway memverifikasi bahwa pemanggil diautentikasi saat mendelegasikan keputusan otorisasi ke layanan target.
Jenis AUTHENTICATE_ONLY otorisasi memerlukan konfigurasi otorisasi JWT. Gateway memvalidasi token tetapi tidak memberlakukan batasan ruang lingkup atau audiens untuk otorisasi. Jika Anda memilih opsi yang melibatkan penentuan peran layanan gateway terbuka ARN, pastikan Anda menentukan opsi yang sudah ada yang telah Anda siapkan. Untuk informasi selengkapnya, lihat Izin peran layanan AgentCore Gateway.
Pilih salah satu metode berikut:
contoh
- AWS CLI
-
-
Jalankan perintah berikut untuk membuat gateway dengan AUTHENTICATE_ONLY otorisasi:
aws bedrock-agentcore-control create-gateway \
--name my-gateway \
--role-arn arn:aws:iam::111122223333:role/my-gateway-service-role \
--authorizer-type AUTHENTICATE_ONLY \
--authorizer-configuration '{
"jwtAuthenticationConfiguration": {
"discoveryUrl": "https://cognito-idp.us-west-2.amazonaws.com/some-user-pool/.well-known/openid-configuration",
"allowedClients": ["clientId"]
}
}'
Responsnya adalah titik akhir yang akan digunakan saat Anda memanggil gateway. gatewayUrl
- AWS Python SDK (Boto3)
-
-
Kode Python berikut menunjukkan cara membuat gateway dengan AUTHENTICATE_ONLY otorisasi:
import boto3
# Initialize the AgentCore client
client = boto3.client('bedrock-agentcore-control')
# Create a gateway
gateway = client.create_gateway(
name="my-gateway",
roleArn="arn:aws:iam::111122223333:role/my-gateway-service-role",
authorizerType="AUTHENTICATE_ONLY",
authorizerConfiguration={
"jwtAuthenticationConfiguration": {
"discoveryUrl": "https://cognito-idp.us-west-2.amazonaws.com/some-user-pool/.well-known/openid-configuration",
"allowedClients": ["clientId"]
}
}
)
print(f"Gateway URL: {gateway['gatewayUrl']}")
Buat gateway dengan pencarian semantik
Bagian ini memberikan contoh dasar membuat gateway dengan alat untuk memungkinkan Anda mencari alat yang relevan secara semantik. Untuk mempelajari cara menggunakan alat ini, lihat Cari alat di AgentCore gateway Anda dengan kueri bahasa alami.
Pilih salah satu metode berikut:
contoh
- AgentCore CLI
-
-
Secara default, pencarian semantik diaktifkan saat Anda membuat gateway menggunakan CLI AgentCore . Untuk menonaktifkannya, gunakan --no-semantic-search bendera. Untuk membuat gateway dengan pencarian semantik default diaktifkan:
agentcore add gateway --name my-gateway
agentcore deploy
- Interactive
-
-
Jalankan agentcore untuk membuka TUI, lalu pilih add dan pilih Gateway. Pencarian semantik diaktifkan secara default di opsi lanjutan:
-
Masukkan nama gateway:
-
Pilih jenis otorisasi dan tekan Enter:
-
Dalam opsi lanjutan, verifikasi bahwa pencarian semantik diaktifkan (ini adalah default):
-
Tinjau ringkasan konfigurasi dan tekan Enter untuk mengonfirmasi:
- AWS CLI
-
-
Aktifkan pencarian semantik saat membuat gateway di AWS CLI dengan menentukan searchType seperti SEMANTIC pada --protocol-configuration objek, seperti pada contoh berikut:
aws bedrock-agentcore-control create-gateway \
--name my-gateway \
--role-arn arn:aws:iam::123456789012:role/my-gateway-service-role \
--protocol-type MCP \
--authorizer-type CUSTOM_JWT \
--authorizer-configuration '{
"customJWTAuthorizer": {
"discoveryUrl": "https://cognito-idp.us-west-2.amazonaws.com/some-user-pool/.well-known/openid-configuration",
"allowedClients": ["clientId"]
}
}' \
--protocol-configuration '{
"mcp": {
"searchType": "SEMANTIC"
}
}'
Responsnya adalah titik akhir yang akan digunakan saat Anda memanggil gateway. gatewayUrl
- AWS Python SDK (Boto3)
-
-
Aktifkan pencarian semantik saat membuat gateway menggunakan AWS Python SDK (Boto3) dengan menentukan searchType seperti SEMANTIC pada objek, seperti pada contoh berikutprotocolConfiguration:
import boto3
# Initialize the AgentCore client
client = boto3.client('bedrock-agentcore-control')
# Create a gateway
gateway = client.create_gateway(
name="my-gateway",
roleArn="arn:aws:iam::123456789012:role/my-gateway-service-role",
protocolType="MCP",
authorizerType="CUSTOM_JWT",
authorizerConfiguration={
"customJWTAuthorizer": {
"discoveryUrl": "https://cognito-idp.us-west-2.amazonaws.com/some-user-pool/.well-known/openid-configuration",
"allowedClients": ["clientId"]
}
},
protocolConfiguration={
"mcp": {
"searchType": "SEMANTIC"
}
}
)
print(f"MCP Endpoint: {gateway['gatewayUrl']}")
Buat gateway dengan pesan debugging
Anda dapat membuat gateway dengan men-debug pesan dengan menentukan exceptionLevel nilai sebagai. DEBUG Bagian ini memberikan contoh membuat gateway dengan pesan debugging. Untuk mempelajari lebih lanjut, lihat Mengaktifkan pesan debugging.
AgentCore CLI tidak disetel exceptionLevel ke secara DEBUG default. Anda harus melewati --exception-level DEBUG bendera saat membuat gateway. Anda dapat menonaktifkan pesan debugging dengan mengirimkan UpdateGatewaypermintaan dan menghilangkan argumen. exceptionLevel
Pilih salah satu metode berikut:
contoh
- AgentCore CLI
-
-
Saat Anda membuat gateway menggunakan AgentCore CLI, berikan --exception-level tanda untuk mengaktifkan pesan debugging:
agentcore add gateway --name my-gateway --exception-level DEBUG
agentcore deploy
- Interactive
-
-
Jalankan agentcore untuk membuka TUI, lalu pilih add dan pilih Gateway. Dalam opsi lanjutan, Anda dapat mengaktifkan pesan debugging dengan menyetel tingkat pengecualian keDEBUG:
-
Masukkan nama gateway:
-
Pilih jenis otorisasi dan tekan Enter:
-
Dalam opsi lanjutan, atur tingkat pengecualian keDEBUG:
-
Tinjau ringkasan konfigurasi dan tekan Enter untuk mengonfirmasi:
- AWS CLI
-
-
Jalankan kode berikut di terminal untuk membuat gateway dengan pesan debugging diaktifkan di AWS CLI:
aws bedrock-agentcore-control create-gateway \
--name my-gateway \
--role-arn arn:aws:iam::123456789012:role/my-gateway-service-role \
--protocol-type MCP \
--authorizer-type CUSTOM_JWT \
--authorizer-configuration '{
"customJWTAuthorizer": {
"discoveryUrl": "https://cognito-idp.us-west-2.amazonaws.com/some-user-pool/.well-known/openid-configuration",
"allowedClients": ["clientId"]
}
}' \
--exception-level DEBUG
Responsnya adalah titik akhir yang akan digunakan saat Anda memanggil gateway. gatewayUrl
- AWS Python SDK (Boto3)
-
-
Kode Python berikut menunjukkan cara membuat gateway dasar dengan AWS Python SDK (Boto3):
import boto3
# Initialize the AgentCore client
client = boto3.client('bedrock-agentcore-control')
# Create a gateway
gateway = client.create_gateway(
name="my-gateway",
roleArn="arn:aws:iam::123456789012:role/my-gateway-service-role",
protocolType="MCP",
authorizerType="CUSTOM_JWT",
authorizerConfiguration={
"customJWTAuthorizer": {
"discoveryUrl": "https://cognito-idp.us-west-2.amazonaws.com/some-user-pool/.well-known/openid-configuration",
"allowedClients": ["clientId"]
}
},
exceptionLevel="DEBUG"
)
print(f"MCP Endpoint: {gateway['gatewayUrl']}")
Buat gateway dengan konfigurasi pencegat
Bagian ini memberikan contoh pembuatan gateway yang memiliki interceptor yang dikonfigurasi. Pencegat akan dipanggil saat runtime gateway untuk setiap permintaan.
* Pencegat akan dipanggil saat runtime gateway untuk setiap permintaan. * Jika Anda memilih opsi yang melibatkan menentukan peran layanan gateway terbuka ARN, pastikan Anda menentukan yang sudah ada yang telah Anda siapkan. Untuk informasi selengkapnya, lihat Izin peran layanan AgentCore Gateway.
Pilih salah satu metode berikut:
contoh
- AgentCore CLI
-
-
Dengan AgentCore CLI, pertama buat gateway dan kemudian konfigurasikan pencegat menggunakan AWS CLI atau AWS Python SDK (Boto3).
Buat gateway:
agentcore add gateway \
--name my-gateway \
--authorizer-type CUSTOM_JWT \
--discovery-url "https://cognito-idp.us-west-2.amazonaws.com/some-user-pool/.well-known/openid-configuration" \
--allowed-audience "api.example.com"
agentcore deploy
Setelah penerapan, konfigurasikan pencegat pada gateway menggunakan AWS perintah CLI update-gateway atau AWS Python SDK (Boto3) seperti yang ditunjukkan pada tab lainnya.
- Interactive
-
-
Jalankan agentcore untuk membuka TUI, lalu pilih add dan pilih Gateway. Setelah membuat gateway, konfigurasikan pencegat menggunakan AWS CLI atau AWS Python SDK (Boto3):
-
Masukkan nama gateway:
-
Pilih Custom JWT sebagai jenis otorisasi dan tekan Enter:
-
Konfigurasikan opsi lanjutan:
-
Tinjau ringkasan konfigurasi dan tekan Enter untuk mengonfirmasi:
Setelah gateway dibuat dan digunakan, konfigurasikan pencegat menggunakan AWS perintah CLI update-gateway atau AWS Python SDK (Boto3) seperti yang ditunjukkan pada tab lainnya.
- AWS CLI
-
-
Jalankan kode berikut di terminal untuk membuat gateway dengan konfigurasi pencegat menggunakan CLI: AWS
aws bedrock-agentcore-control create-gateway \
--name my-gateway \
--role-arn arn:aws:iam::123456789012:role/my-gateway-service-role \
--protocol-type MCP \
--authorizer-type CUSTOM_JWT \
--authorizer-configuration '{
"customJWTAuthorizer": {
"discoveryUrl": "https://cognito-idp.us-west-2.amazonaws.com/some-user-pool/.well-known/openid-configuration",
"allowedClients": ["clientId"]
}
}' \
--interceptor-configurations '[{
"interceptor": {
"lambda": {
"arn":"arn:aws:lambda:us-west-2:123456789012:function:my-interceptor-lambda"
}
},
"interceptionPoints": ["REQUEST"]
}]'
Responsnya adalah titik akhir yang akan digunakan saat Anda memanggil gateway. gatewayUrl
- AWS Python SDK (Boto3)
-
-
Kode Python berikut menunjukkan cara membuat gateway dengan konfigurasi pencegat menggunakan AWS Python SDK (Boto3):
import boto3
# Initialize the AgentCore client
client = boto3.client('bedrock-agentcore-control')
# Create a gateway
gateway = client.create_gateway(
name="my-gateway",
roleArn="arn:aws:iam::123456789012:role/my-gateway-service-role",
protocolType="MCP",
authorizerType="CUSTOM_JWT",
authorizerConfiguration={
"customJWTAuthorizer": {
"discoveryUrl": "https://cognito-idp.us-west-2.amazonaws.com/some-user-pool/.well-known/openid-configuration",
"allowedClients": ["clientId"]
}
},
interceptorConfigurations=[{
"interceptor": {
"lambda": {
"arn":"arn:aws:lambda:us-west-2:123456789012:function:my-interceptor-lambda"
}
},
"interceptionPoints": ["REQUEST"]
}]
)
print(f"MCP Endpoint: {gateway['gatewayUrl']}")
Buat gateway dengan konfigurasi mesin kebijakan
Anda dapat membuat gateway dengan konfigurasi mesin kebijakan. Mesin kebijakan adalah kumpulan kebijakan yang mengevaluasi dan mengotorisasi panggilan alat agen. Ketika dikaitkan dengan gateway, mesin kebijakan mencegat semua permintaan agen dan menentukan apakah akan mengizinkan atau menolak setiap tindakan berdasarkan kebijakan yang ditentukan. Penegakan mode menentukan apakah akan menguji kebijakan (LOG_ONLY) atau menegakkannya (ENFORCE).
contoh
- AgentCore CLI
-
-
Pertama, tambahkan mesin kebijakan ke proyek Anda. Kemudian, buat gateway yang mereferensikan mesin kebijakan:
agentcore add policy-engine \
--name MyPolicyEngine
agentcore add gateway \
--name MyGateway \
--authorizer-type CUSTOM_JWT \
--discovery-url https://cognito-idp.us-west-2.amazonaws.com/pool-id/.well-known/openid-configuration \
--allowed-clients clientId \
--policy-engine MyPolicyEngine \
--policy-engine-mode LOG_ONLY
agentcore deploy
Untuk menegakkan kebijakan, bukan hanya mencatat keputusan, ubah --policy-engine-mode keENFORCE.
- AWS CLI
-
-
Jalankan perintah berikut untuk membuat gateway dengan konfigurasi mesin kebijakan menggunakan AWS CLI:
aws bedrock-agentcore-control create-gateway \
--name my-gateway \
--role-arn arn:aws:iam::123456789012:role/my-gateway-service-role \
--protocol-type MCP \
--authorizer-type CUSTOM_JWT \
--authorizer-configuration '{
"customJWTAuthorizer": {
"discoveryUrl": "https://cognito-idp.us-west-2.amazonaws.com/pool-id/.well-known/openid-configuration",
"allowedClients": ["clientId"]
}
}' \
--policy-engine-configuration '{
"arn": "arn:aws:bedrock-agentcore:us-west-2:123456789012:policy-engine/policy-id",
"mode": "LOG_ONLY"
}' \
--exception-level DEBUG
Responsnya adalah titik akhir yang akan digunakan saat Anda memanggil gateway. gatewayUrl