View a markdown version of this page

Buat AgentCore gateway menggunakan API - Batuan Dasar Amazon AgentCore

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:

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:

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

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

        • cocok ValueString - Digunakan dalam situasi berikut:

          • Jika inboundTokenClaimValueType is STRING dan claimMatchOperator isEQUALS, tentukan string yang ingin Anda cocokkan dengan nilai klaim untuk otentikasi.

          • Jika inboundTokenClaimValueType is STRING_ARRAY dan claimMatchOperator isCONTAINS, tentukan string yang Anda inginkan untuk memuat 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 larik nilai klaim cocok dengan salah satu nilai 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 pembuatan gateway.

    catatan

    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
    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 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
    1. Jalankan agentcore untuk membuka TUI, lalu pilih tambah dan pilih Gateway:

    2. Masukkan nama gateway:

      Wisaya gerbang: masukkan nama
    3. Pilih Custom JWT sebagai jenis otorisasi dan tekan Enter:

      Wisaya gerbang: pilih Authorizer JWT Kustom
    4. Konfigurasikan opsi lanjutan:

      Wisaya gerbang: konfigurasi lanjutan
    5. Tinjau ringkasan konfigurasi dan tekan Enter untuk mengonfirmasi:

      Gateway wizard: 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"] } }'

      Responsnya adalah titik akhir yang akan digunakan saat Anda memanggil gateway. gatewayUrl

    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 pembuatan 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 (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.

    catatan

    * 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
    1. 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
    1. Jalankan agentcore untuk membuka TUI, lalu pilih tambah dan pilih Gateway:

    2. Masukkan nama gateway:

      Wisaya gerbang: masukkan nama
    3. Pilih NONE sebagai jenis otorisasi dan tekan Enter:

      Wisaya gerbang: pilih NONE authorizer
    4. Konfigurasikan opsi lanjutan:

      Wisaya gerbang: konfigurasi lanjutan
    5. Tinjau ringkasan konfigurasi dan tekan Enter untuk mengonfirmasi:

      Gateway wizard: 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

      Responsnya adalah titik akhir yang akan digunakan saat Anda memanggil gateway. gatewayUrl

    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 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.

    catatan

    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
    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"] } }'

      Responsnya adalah titik akhir yang akan digunakan saat Anda memanggil gateway. gatewayUrl

    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 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 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
    1. Jalankan agentcore untuk membuka TUI, lalu pilih add dan pilih Gateway. Pencarian semantik diaktifkan secara default di opsi lanjutan:

    2. Masukkan nama gateway:

      Wisaya gerbang: masukkan nama
    3. Pilih jenis otorisasi dan tekan Enter:

      Gateway wizard: pilih jenis otorisasi
    4. Dalam opsi lanjutan, verifikasi bahwa pencarian semantik diaktifkan (ini adalah default):

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

      Gateway wizard: tinjau konfigurasi
    AWS CLI
    1. 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)
    1. 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.

    catatan

    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
    1. 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
    1. Jalankan agentcore untuk membuka TUI, lalu pilih add dan pilih Gateway. Dalam opsi lanjutan, Anda dapat mengaktifkan pesan debugging dengan menyetel tingkat pengecualian keDEBUG:

    2. Masukkan nama gateway:

      Wisaya gerbang: masukkan nama
    3. Pilih jenis otorisasi dan tekan Enter:

      Gateway wizard: pilih jenis otorisasi
    4. Dalam opsi lanjutan, atur tingkat pengecualian keDEBUG:

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

      Gateway wizard: 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

      Responsnya adalah titik akhir yang akan digunakan saat Anda memanggil gateway. gatewayUrl

    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 interceptor yang dikonfigurasi. Pencegat akan dipanggil saat runtime gateway untuk setiap permintaan.

    catatan

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

    Interactive
    1. Jalankan agentcore 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:

      Wisaya gerbang: masukkan nama
    3. Pilih Custom JWT sebagai jenis otorisasi dan tekan Enter:

      Wisaya gerbang: pilih Authorizer JWT Kustom
    4. Konfigurasikan opsi lanjutan:

      Wisaya gerbang: konfigurasi lanjutan
    5. Tinjau ringkasan konfigurasi dan tekan Enter untuk mengonfirmasi:

      Gateway wizard: tinjau konfigurasi

      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
    1. 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)
    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. 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
    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, bukan 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

      Responsnya adalah titik akhir yang akan digunakan saat Anda memanggil gateway. gatewayUrl