View a markdown version of this page

Tentukan jenis otorisasi dan kredenSIAL untuk mengakses target gateway - Batu Dasar Amazon AgentCore

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

Tentukan jenis otorisasi dan kredenSIAL untuk mengakses target gateway

Di badan CreateGatewayTarget permintaan, Anda menentukan konfigurasi penyedia kredensia dalam credentialProviderConfigurations array. Konfigurasi tergantung pada jenis otorisasi keluar yang Anda atur. Untuk informasi referensi tentang struktur API untuk konfigurasi penyedia kredensia, lihat CredentialProviderConfiguration. Untuk informasi selengkapnya tentang otorisasi keluar, lihat Men yiapkan otorisasi keluar untuk gateway Anda.

Untuk mempelajari lebih lanjut tentang konfigurasi penyedia kredensia, pilih topik:

AgentCore Otorisasi peran layanan gateway (IAM)

Jika Anda menggunakan otorisasi IAM melalui peran layanan AgentCore Gateway untuk target Anda, tentukan credentialProviderType sebagaiGATEWAY_IAM_ROLE. Konfigurasi tergantung pada jenis target Anda.

Untuk target Lambda, API Gateway, Smithy dan Connector

iamCredentialProviderKonfigurasi tidak diperlukan karena nama layanan target sudah diketahui oleh layanan AgentCore Gateway. Gunakan hanya credentialProviderType konfigurasi, seperti yang ditunjukkan pada contoh berikut:

{ "credentialProviderType": "GATEWAY_IAM_ROLE" }

Untuk server MCP dan target OpenAPI

Untuk server MCP dan target OpenAPI, Anda juga harus memberikan nama layanan yang iamCredentialProvider digunakan untuk penandatanganan AWS Signature Version 4 (Sig V4). Bidang service wajib diisi. Bid region ang ini opsional dan default ke Wilayah gateway.

{ "credentialProviderType": "GATEWAY_IAM_ROLE", "credentialProvider": { "iamCredentialProvider": { "service": "execute-api", "region": "us-west-2" } } }

Tabel berikut menjelaskan bidang dalam iamCredentialProvider objek:

Bidang Diperlukan Deskripsi

service

Ya

Nama AWS layanan yang digunakan untuk penandatanganan SIGv4. Nilai ini harus sesuai dengan nama layanan yang diharapkan target saat memverifikasi tanda tangan SIGv4. Berikut ini adalah nilai-nilai umum:

  • bedrock-agentcore— Untuk server MCP yang dihosting di Amazon Bedrock AgentCore, seperti runtime (lihat Menye barkan server MCP di AgentCore Runtime) atau gateway lain.

  • execute-api— Untuk server MCP atau target OpenAPI di belakang Amazon API Gateway.

  • lambda— Untuk server MCP di belakang URL Fungsi Lambda.

region

Tidak

Wil AWS ayah untuk penandatanganan SIGv4. Jika dihilangkan, default ke Wilayah gateway.

Otorisasi OAuth

Jika Anda menggunakan otorisasi OAuth, Anda menentukan as. credentialProviderType OAUTH Di objek yang di credentialProvider petakan bidang, petakan nama oauthCredentialProvider bidang ke OAuthCredentialProvider objek dan berikan nilai berdasarkan pengaturan otorisasi keluar Anda.

Struktur OAuthCredentialProvider berbeda tergantung pada jenis pola otentikasi yang Anda atur. Untuk mempelajari lebih lanjut tentang pola otentikasi yang berbeda, lihat Pola otentikasi yang didukung.

  • Jika Anda mengatur otentikasi mesin-ke-mesin, juga dikenal sebagai pemberian kredenSIAL klien atau OAuth 2 berkaki (2LO), ikuti struktur di tab KredenSIAL Klien.

  • Jika Anda mengatur akses yang didelegasikan pengguna, juga dikenal sebagai pemberian kode otorisasi atau OAuth 3 kaki (3LO), ikuti struktur di tab Kode otorisasi.

  • Jika Anda mengatur pertukaran token on-behalf of untuk menyebarkan identitas pengguna yang diautentikasi ke layanan hilir atau mendapatkan token akses dengan konteks aktor, ikuti struktur di tab Token exchange (). On-behalf-of

Pilih salah satu metode berikut:

contoh
Client credentials
  1. Tentukan grantType sebagaiCLIENT_CREDENTIALS, seperti pada contoh berikut:

    { "credentialProviderType": "OAUTH", "credentialProvider": { "oauthCredentialProvider": { "providerArn": "string", "grantType": "CLIENT_CREDENTIALS", "scopes": [ "string", ... ], "customParameters": { "string": "string" } } } }
Authorization code
  1. Tentukan grantType sebagai AUTHORIZATION_CODE dan sertakan, di defaultReturnUrl bidang, URL untuk mengarahkan browser pengguna akhir setelah mendapatkan kode otorisasi, seperti dalam contoh berikut:

    { "credentialProviderType": "OAUTH", "credentialProvider": { "oauthCredentialProvider": { "providerArn": "string", "grantType": "AUTHORIZATION_CODE", "defaultReturnUrl": "string", "scopes": [ "string", ... ], "customParameters": { "string": "string" } } } }

    Untuk mempelajari lebih lanjut tentang otentikasi 3LO, lihat Pengikatan sesi URL otorisasi OAuth 2.0.

Token exchange (On-behalf-of)
  1. Tentukan grantType sebagaiTOKEN_EXCHANGE. Gateway menukar token akses pengguna masuk dengan token bercakupan target melalui penyedia kredensi. Sertakan IdP-specific parameter apa pun dicustomParameters. Untuk informasi selengkapnya tentang mengonfigurasi penyedia kredensia, lihat pertukaran On-behalf-of token.

    { "credentialProviderType": "OAUTH", "credentialProvider": { "oauthCredentialProvider": { "providerArn": "string", "grantType": "TOKEN_EXCHANGE", "scopes": [ "string", ... ], "customParameters": { "subject_token_type": "urn:ietf:params:oauth:token-type:access_token" } } } }
    catatan

    Bid customParameters ang meneruskan nilai langsung ke titik akhir token penyedia identitas. Parameter yang diperlukan bervariasi menurut penyedia. Misalnya, Okta membutuhkan audience parameter selainsubject_token_type. Lihat dokumentasi penyedia identitas Anda dan pertukaran On-behalf-of token untuk detailnya.

Otorisasi kunci API

Jika Anda mengatur otorisasi kunci API, Anda menentukan credentialProviderType asAPI_KEY. Di objek yang di credentialProvider petakan bidang, petakan nama apiKeyCredentialProvider bidang ke ApiKeyCredentialProvider objek dan berikan nilai berdasarkan pengaturan otorisasi keluar Anda. JSON berikut menunjukkan strukturnya:

{ "credentialProviderType": "API_KEY", "credentialProvider": { "apiKeyCredentialProvider": { "providerArn": "string", "credentialLocation": "HEADER" | "QUERY_PARAMETER", "credentialParameterName": "string", "credentialPrefix": "string" } } }

Otorisasi kredensional IAM penelepon

Jika Anda ingin gateway menggunakan identitas IAM dan izin pemanggil untuk menandatangani permintaan ke target hilir, tentukan as. credentialProviderType CALLER_IAM_CREDENTIALS Dengan jenis otorisasi ini, gateway membuat permintaan ke target hilir atas nama pemanggil gateway menggunakan SIGv4. Hal ini memungkinkan target hilir untuk menerapkan kebijakan IAM berdasarkan siapa yang awalnya memanggil gateway.

catatan

CALLER_IAM_CREDENTIALShanya tersedia untuk gateway yang memiliki AWS_IAM atau AUTHENTICATE_ONLY sebagai jenis otorizer.

{ "credentialProviderType": "CALLER_IAM_CREDENTIALS" }

Otorisasi passthrough JWT

Jika Anda ingin gateway meneruskan token pembawa dari permintaan masuk langsung ke target hilir tanpa modifikasi, tentukan credentialProviderType asJWT_PASSTHROUGH. Gateway memvalidasi token masuk dan kemudian meneruskannya ke target dalam permintaan keluar. Ini berguna ketika layanan target menangani otorisasi sendiri menggunakan token penelepon asli.

catatan

JWT_PASSTHROUGHhanya tersedia untuk target HTTP (passthrough dan AgentCore Runtime).

{ "credentialProviderType": "JWT_PASSTHROUGH" }