View a markdown version of this page

Buat AgentCore gateway menggunakan API - Batu Dasar Amazon AgentCore

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

Buat AgentCore gateway menggunakan API

Untuk membuat AgentCore gateway menggunakan API, buat CreateGateway permintaan 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 menyetel ini keMCP, 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 kunci-nilai yang menentukan tag yang dapat Anda gunakan untuk memberi label gateway Anda untuk tujuan pemantauan.

Bidang yang tersisa tergantung pada konfigurasi gateway Anda dan apakah Anda ingin beralih fitur khusus untuk gateway Anda:

Konfigurasi otorisasi

Jika jenis otorisasi Anda adalahCUSTOM_JWT, Anda juga harus menyertakan konfigurasi otorisasi di authorizerConfiguration bidang. Struktur dasar konfigurasi otorizer 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— Audiens atau layanan yang dapat menangani JWT.

  • allowedClients— Klien yang diizinkan untuk membuat JWT.

  • allowedScopes— Ruang lingkup itu membatasi serangkaian klaim.

  • customClaims— Array objek yang memungkinkan Anda menentukan bidang dan nilai kustom yang membatasi klaim yang akan diautentikasi. Setiap objek adalah CustomClaimValidationsType objek berisi bidang berikut:

    • inboundTokenClaimName— Nama bidang klaim khusus untuk diperiksa.

    • inboundTokenClaimValueType— Jenis data dari nilai klaim untuk diperiksa.

    • authorizingClaimMatchValue— Mendefinisikan nilai untuk mencocokkan nilai klaim. Berisi bidang berikut:

      • claimMatchOperator— Mendefinisikan hubungan yang harus dicari antara nilai kecocokan dan nilai klaim.

      • claimMatchValue- Objek yang hanya berisi salah satu bidang berikut:

        • pertandingan ValueString - Digunakan dalam situasi berikut:

          • Jika inboundTokenClaimValueType is STRING dan claimMatchOperator isEQUALS, tentukan string yang Anda inginkan agar nilai klaim cocok untuk otentikasi.

          • Jika inboundTokenClaimValueType is STRING_ARRAY dan claimMatchOperator isCONTAINS, tentukan string yang Anda ingin berisi array nilai klaim untuk otentikasi.

        • matchValueArray- Jika inboundTokenClaimValueType is STRING_ARRAY dan claimMatchOperator isCONTAINS_ANY, tentukan array nilai yang ingin Anda periksa untuk otentikasi. Jika salah satu nilai dalam array nilai klaim cocok dengan salah satu nilai di dalammatchValueArray, klaim dapat diautentikasi.

Contoh berikut menunjukkan struktur CustomClaimValidationsType objek yang dapat Anda tentukan:

contoh
String matches string
  1. { "inboundTokenClaimName": "string", "inboundTokenClaimValueType": "STRING", "authorizingClaimMatchValue": { "claimMatchValue": { "matchValueString": "string" }, "claimMatchOperator": "EQUALS" } }
Array contains string
  1. { "inboundTokenClaimName": "string", "inboundTokenClaimValueType": "STRING_ARRAY", "authorizingClaimMatchValue": { "claimMatchValue": { "matchValueString": "string" }, "claimMatchOperator": "CONTAINS" } }
Array contains any value in array
  1. { "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:

Topik

    Buat gateway: contoh dasar (otorisasi JWT khusus)

    Bagian ini memberikan contoh dasar untuk membuat gateway.

    catatan

    Perhatikan hal berikut: * Nilai untuk konfigurasi otorisasi berasal dari saat Anda mengatur otorisasi masuk. * Jika Anda memilih opsi yang melibatkan penentuan peran layanan gateway terbuka ARN, pastikan Anda menentukan yang sudah ada yang telah Anda atur. Untuk informasi selengkapnya, lihat AgentCore Izin peran layanan gateway.

    Pilih salah satu metode berikut:

    contoh
    AgentCore CLI
    1. 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 otorizer seperti yang ditunjukkan pada contoh berikutnya:

      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 ditunjukkan oleh agentcore adalah titik akhir yang akan digunakan saat Anda memanggil gateway.

    Interactive
    1. J agentcore alankan untuk membuka TUI, lalu pilih add dan pilih Gateway:

    2. Masukkan nama gateway:

      Wizard gateway: masukkan nama
    3. Pilih Custom JWT sebagai jenis otorizer dan tekan Enter:

      Wizard gateway: pilih Otorizer JWT Kustom
    4. Konfigurasikan opsi lanjutan:

      Wizard gateway: konfigurasi lanjutan
    5. Tinjau ringkasan konfigurasi dan tekan Enter untuk mengonfirmasi:

      Wizard gateway: tinjau konfigurasi
    AWS CLI
    1. 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"] } }'

      gatewayUrlDalam respons adalah titik akhir yang digunakan saat Anda memanggil gateway.

    AWS Python SDK (Boto3)
    1. 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 membuat gateway menggunakan otorisasi IAM. Dengan otorisasi IAM, Anda tidak memerlukan konfigurasi otorisasi.

    catatan

    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
    1. 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
    1. 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 (TIDAK ADA otorisasi)

    Bagian ini memberikan contoh dasar pembuatan gateway dengan tipe NONE authorizer. Ini mewakili gateway yang tidak akan melakukan otentikasi atau otorisasi untuk setiap permintaan masuk.

    catatan

    * Jenis otorisasi NONE mewakili gateway yang tidak akan melakukan otentikasi atau otorisasi untuk setiap permintaan masuk. Lihat otorisasi masuk untuk masalah keamanan dan detail seputar penggunaan konfigurasi ini. * Jika Anda memilih opsi yang melibatkan penentuan peran layanan gateway terbuka ARN, pastikan Anda menentukan yang sudah ada yang telah Anda atur. Untuk informasi selengkapnya, lihat AgentCore Izin peran layanan gateway.

    Pilih salah satu metode berikut:

    contoh
    AgentCore CLI
    1. AgentCore CLI menyediakan cara sederhana untuk membuat gateway dengan tipe NONE authorizer dalam 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 ditunjukkan oleh agentcore adalah titik akhir yang akan digunakan saat Anda memanggil gateway.

    Interactive
    1. J agentcore alankan untuk membuka TUI, lalu pilih add dan pilih Gateway:

    2. Masukkan nama gateway:

      Wizard gateway: masukkan nama
    3. Pilih NONE sebagai jenis otorizer dan tekan Enter:

      Wizard gateway: pilih NONE Authorizer
    4. Konfigurasikan opsi lanjutan:

      Wizard gateway: konfigurasi lanjutan
    5. Tinjau ringkasan konfigurasi dan tekan Enter untuk mengonfirmasi:

      Wizard gateway: tinjau konfigurasi
    AWS CLI
    1. 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

      gatewayUrlDalam respons adalah titik akhir yang digunakan saat Anda memanggil gateway.

    AWS Python SDK (Boto3)
    1. 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 otorizer ini, gateway memvalidasi token masuk tetapi tidak melakukan otorisasi penuh. Identitas atau token yang diautentikasi kemudian diteruskan ke target untuk otorisasi hilir. Ini berguna ketika Anda ingin gateway memverifikasi bahwa pemanggil diautentikasi saat mendelegasikan keputusan otorisasi ke layanan target.

    catatan

    Jenis AUTHENTICATE_ONLY otorizer memerlukan konfigurasi otorizer JWT. Gateway memvalidasi token tetapi tidak memberlakukan cakupan atau pembatasan audiens untuk otorisasi. Jika Anda memilih opsi yang melibatkan penentuan peran layanan gateway terbuka ARN, pastikan Anda menentukan yang sudah ada yang telah Anda atur. Untuk informasi selengkapnya, lihat AgentCore Izin peran layanan gateway.

    Pilih salah satu metode berikut:

    contoh
    AWS CLI
    1. 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"] } }'

      gatewayUrlDalam respons adalah titik akhir yang digunakan saat Anda memanggil gateway.

    AWS Python SDK (Boto3)
    1. 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 Men cari alat di AgentCore gateway Anda dengan kueri bahasa alami.

    Pilih salah satu metode berikut:

    contoh
    AgentCore CLI
    1. Secara default, pencarian semantik diaktifkan saat Anda membuat gateway menggunakan AgentCore CLI. Untuk menonaktifkannya, gunakan ben --no-semantic-search dera. Untuk membuat gateway dengan pencarian semantik default diaktifkan:

      agentcore add gateway --name my-gateway agentcore deploy
    Interactive
    1. J agentcore alankan untuk membuka TUI, lalu pilih add dan pilih Gateway. Pencarian semantik diaktifkan secara default di opsi lanjutan:

    2. Masukkan nama gateway:

      Wizard gateway: masukkan nama
    3. Pilih jenis otorisasi dan tekan Enter:

      Wizard gateway: pilih jenis otorisasi
    4. Di opsi lanjutan, verifikasi bahwa pencarian semantik diaktifkan (ini adalah default):

      Wizard gateway: konfigurasi lanjutan dengan pencarian semantik diaktifkan
    5. Tinjau ringkasan konfigurasi dan tekan Enter untuk mengonfirmasi:

      Wizard gateway: tinjau konfigurasi
    AWS CLI
    1. Aktifkan pencarian semantik saat membuat gateway di AWS CLI dengan menentukan searchType SEMANTIC seperti 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" } }'

      gatewayUrlDalam respons adalah titik akhir yang digunakan saat Anda memanggil gateway.

    AWS Python SDK (Boto3)
    1. Aktifkan pencarian semantik saat membuat gateway menggunakan AWS Python SDK (Boto3) dengan menentukan searchType seperti SEMANTIC pada protocolConfiguration objek, seperti pada contoh berikut:

      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 pesan debugging dengan menentukan nil exceptionLevel ainya sebagaiDEBUG. Bagian ini memberikan contoh pembuatan gateway dengan pesan debugging. Untuk mempelajari selengkapnya, lihat Meng aktifkan pesan debugging.

    catatan

    AgentCore CLI tidak disetel exceptionLevel ke secara DEBUG default. Anda harus meneruskan --exception-level DEBUG bendera saat membuat gateway. Anda dapat mematikan pesan debugging dengan mengirim UpdateGateway permintaan dan menghilangkan exceptionLevel argumen.

    Pilih salah satu metode berikut:

    contoh
    AgentCore CLI
    1. Saat Anda membuat gateway menggunakan AgentCore CLI, berikan tanda --exception-level untuk mengaktifkan pesan debugging:

      agentcore add gateway --name my-gateway --exception-level DEBUG agentcore deploy
    Interactive
    1. J agentcore alankan untuk membuka TUI, lalu pilih add dan pilih Gateway. Di opsi lanjutan, Anda dapat mengaktifkan pesan debugging dengan menyetel tingkat pengecualian keDEBUG:

    2. Masukkan nama gateway:

      Wizard gateway: masukkan nama
    3. Pilih jenis otorisasi dan tekan Enter:

      Wizard gateway: pilih jenis otorisasi
    4. Di opsi lanjutan, atur tingkat pengecualian keDEBUG:

      Wizard gateway: konfigurasi lanjutan dengan mode debug diaktifkan
    5. Tinjau ringkasan konfigurasi dan tekan Enter untuk mengonfirmasi:

      Wizard gateway: tinjau konfigurasi
    AWS CLI
    1. 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

      gatewayUrlDalam respons adalah titik akhir yang digunakan saat Anda memanggil gateway.

    AWS Python SDK (Boto3)
    1. 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 interseptor yang dikonfigurasi. Interceptor akan dipanggil saat runtime gateway untuk setiap permintaan.

    catatan

    * Interceptor akan dipanggil saat runtime gateway untuk setiap permintaan. * Jika Anda memilih opsi yang melibatkan penentuan peran layanan gateway terbuka ARN, pastikan Anda menentukan yang sudah ada yang telah Anda atur. Untuk informasi selengkapnya, lihat AgentCore Izin peran layanan gateway.

    Pilih salah satu metode berikut:

    contoh
    AgentCore CLI
    1. 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 update-gateway perintah AWS CLI atau AWS Python SDK (Boto3) seperti yang ditunjukkan pada tab lainnya.

    Interactive
    1. J agentcore alankan untuk membuka TUI, lalu pilih add dan pilih Gateway. Setelah membuat gateway, konfigurasikan pencegat menggunakan AWS CLI atau AWS Python SDK (Boto3):

    2. Masukkan nama gateway:

      Wizard gateway: masukkan nama
    3. Pilih Custom JWT sebagai jenis otorizer dan tekan Enter:

      Wizard gateway: pilih Otorizer JWT Kustom
    4. Konfigurasikan opsi lanjutan:

      Wizard gateway: konfigurasi lanjutan
    5. Tinjau ringkasan konfigurasi dan tekan Enter untuk mengonfirmasi:

      Wizard gateway: tinjau konfigurasi

      Setelah gateway dibuat dan digunakan, konfigurasikan pencegat menggunakan update-gateway perintah AWS CLI atau AWS Python SDK (Boto3) seperti yang ditunjukkan pada tab lainnya.

    AWS CLI
    1. Jalankan kode berikut di terminal untuk membuat gateway dengan konfigurasi pencegat 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/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"] }]'

      gatewayUrlDalam respons adalah titik akhir yang digunakan saat Anda memanggil gateway.

    AWS Python SDK (Boto3)
    1. 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. Saat dikaitkan dengan gateway, mesin kebijakan mencegat semua permintaan agen dan menentukan apakah akan mengizinkan atau menolak setiap tindakan berdasarkan kebijakan yang ditentukan. Peneg mode akan menentukan apakah akan menguji kebijakan (LOG_ONLY) atau menegakkannya (ENFORCE).

    contoh
    AgentCore CLI
    1. 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 alih-alih hanya mencatat keputusan, ubah --policy-engine-mode keENFORCE.

    AWS CLI
    1. 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

      gatewayUrlDalam respons adalah titik akhir yang digunakan saat Anda memanggil gateway.