View a markdown version of this page

ゲートウェイターゲットにアクセスするための認可タイプと認証情報を指定する - Amazon Bedrock AgentCore

ゲートウェイターゲットにアクセスするための認可タイプと認証情報を指定する

CreateGatewayTarget リクエスト本文で、 credentialProviderConfigurations 配列で認証情報プロバイダー設定を指定します。設定は、設定したアウトバウンド認可タイプによって異なります。認証情報プロバイダー設定の API 構造に関するリファレンス情報については、CredentialProviderConfiguration」を参照してください。アウトバウンド認可の詳細については、「ゲートウェイのアウトバウンド認可を設定する」を参照してください。

認証情報プロバイダーの設定の詳細については、トピックを選択してください。

AgentCore Gateway サービスロール (IAM) 認可

ターゲットの AgentCore Gateway サービスロールを介して IAM 認可を使用している場合は、 を GATEWAY_IAM_ROLE credentialProviderTypeとして指定します。設定はターゲットタイプによって異なります。

Lambda、API Gateway、Smithy、および Connector ターゲットの場合

ターゲットサービス名は AgentCore Gateway サービスで既に認識されているため、iamCredentialProviderこの設定は必要ありません。次の例に示すように、 credentialProviderType設定のみを使用します。

{ "credentialProviderType": "GATEWAY_IAM_ROLE" }

MCP サーバーと OpenAPI ターゲットの場合

MCP サーバーと OpenAPI ターゲットの場合、AWS 署名バージョン 4 (Sig V4) の署名に使用されるサービス名iamCredentialProviderを に指定する必要があります。service フィールドは必須です。region フィールドはオプションで、デフォルトはゲートウェイのリージョンです。

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

次の表に、 iamCredentialProvider オブジェクトのフィールドを示します。

フィールド 必要 説明

service

はい

SigV4 署名に使用される AWS サービス名。この値は、SigV4 署名を検証するときにターゲットが期待するサービス名と一致する必要があります。以下は一般的な値です。

region

いいえ

SigV4 署名の AWS リージョン。省略すると、デフォルトでゲートウェイのリージョンになります。

OAuth 認可

OAuth 認可を使用している場合は、 を OAUTH credentialProviderTypeとして指定します。credentialProvider フィールドがマッピングされるオブジェクトで、oauthCredentialProviderフィールド名を OAuthCredentialProvider オブジェクトにマッピングし、アウトバウンド認可設定に基づいて値を指定します。

OAuthCredentialProvider の構造は、設定した認証パターンのタイプによって異なります。さまざまな認証パターンの詳細については、「サポートされている認証パターン」を参照してください。

  • クライアント認証情報付与または 2 レッグ OAuth (2LO) とも呼ばれるmachine-to-machine認証を設定する場合は、クライアント認証情報タブの 構造に従います。

  • 認可コード付与または 3 レッグ OAuth (3LO) とも呼ばれるユーザー委任アクセスを設定する場合は、認可コードタブの 構造に従います。

  • 認証されたユーザーの ID をダウンストリームサービスに伝達するようにトークン交換on-behalf-ofを設定するか、アクターコンテキストを使用してアクセストークンを取得する場合は、トークン交換 (On-behalf-of) タブの 構造に従います。

次のいずれかの方法を選択します。

Client credentials
  1. 次の例のように、 を CLIENT_CREDENTIALS grantTypeとして指定します。

    { "credentialProviderType": "OAUTH", "credentialProvider": { "oauthCredentialProvider": { "providerArn": "string", "grantType": "CLIENT_CREDENTIALS", "scopes": [ "string", ... ], "customParameters": { "string": "string" } } } }
Authorization code
  1. grantType として指定AUTHORIZATION_CODEし、次の例のように、認可コードを取得した後にエンドユーザーのブラウザをリダイレクトする URL を defaultReturnUrlフィールドに含めます。

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

    3LO 認証の詳細については、OAuth 2.0 認可 URL セッションバインディング」を参照してください。

Token exchange (On-behalf-of)
  1. TOKEN_EXCHANGE として grantType を指定します。ゲートウェイは、認証情報プロバイダーを介して、インバウンドユーザーのアクセストークンをターゲット範囲のトークンと交換します。IdP 固有のパラメータを に含めますcustomParameters。認証情報プロバイダーの設定の詳細については、「トークン交換On-behalf-of」を参照してください。

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

    customParameters フィールドは、ID プロバイダーのトークンエンドポイントに直接値を渡します。必要なパラメータはプロバイダーによって異なります。たとえば、Okta には に加えて audienceパラメータが必要ですsubject_token_type。詳細については、ID プロバイダーのドキュメントとトークン交換On-behalf-ofを参照してください。

API キー認可

API キー認可を設定する場合は、 を API_KEY credentialProviderTypeとして指定します。credentialProvider フィールドがマッピングされるオブジェクトで、apiKeyCredentialProviderフィールド名を ApiKeyCredentialProvider オブジェクトにマッピングし、アウトバウンド認可設定に基づいて値を指定します。次の JSON は 構造を示しています。

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

発信者 IAM 認証情報の承認

ゲートウェイで IAM ID と呼び出し元のアクセス許可を使用してダウンストリームターゲットへのリクエストに署名する場合は、 を credentialProviderTypeとして指定しますCALLER_IAM_CREDENTIALS。この認可タイプでは、ゲートウェイは SigV4 を使用してゲートウェイ発信者に代わってダウンストリームターゲットにリクエストを行います。これにより、ダウンストリームターゲットは、最初にゲートウェイを呼び出したユーザーに基づいて IAM ポリシーを適用できます。

注記

CALLER_IAM_CREDENTIALS は、オーソライザータイプAUTHENTICATE_ONLYとして AWS_IAMまたは を持つゲートウェイでのみ使用できます。

{ "credentialProviderType": "CALLER_IAM_CREDENTIALS" }

JWT パススルー認可

ゲートウェイが着信リクエストからダウンストリームターゲットに変更なしでベアラートークンを直接渡す場合は、 を credentialProviderTypeとして指定しますJWT_PASSTHROUGH。ゲートウェイはインバウンドトークンを検証し、アウトバウンドリクエストのターゲットに転送します。これは、ターゲットサービスが元の発信者のトークンを使用して独自の認可を処理する場合に便利です。

注記

JWT_PASSTHROUGH は HTTP ターゲット (パススルーと AgentCore ランタイム) でのみ使用できます。

{ "credentialProviderType": "JWT_PASSTHROUGH" }