View a markdown version of this page

クライアント認証方法 - Amazon Bedrock AgentCore

クライアント認証方法

クライアント認証方法は、OAuth クライアントがアクセストークンをリクエストするときに認可サーバーのトークンエンドポイントで認証する方法を制御します。

プロバイダー固有の認証情報プロバイダーの場合、AgentCore Identity は各ベンダーの要件に基づいてクライアント認証方法を管理するため、追加の設定は必要ありません。

クライアントシークレットではなく IAM 署名 JWT アサーションによる認証や、組み込みベンダーとは異なる要件を持つ認可サーバーをターゲットにするなど、よりきめ細かな制御を必要とするユースケースでは、カスタムプロバイダーを使用します。これにより、以下のサポートされている方法から選択できます。

サポートされているクライアント認証方法

AgentCore Identity は、クライアント認証メソッドで次の値をサポートしています。

  1. CLIENT_SECRET_BASIC (デフォルト) — 認可サーバーからクライアントシークレット値を受け取ったクライアントは、HTTP Basic 認証スキームを使用して OAuth 2.0 (RFC 6749) のセクション 2.3.1 に従って認可サーバーで認証します。クライアント ID とクライアントシークレットの両方が必要です。

  2. CLIENT_SECRET_POST — 認可サーバーからクライアントシークレット値を受け取ったクライアントは、リクエスト本文にクライアント認証情報を含めることで、OAuth 2.0 (RFC 6749) のセクション 2.3.1 に従って認可サーバーと認証します。クライアント ID とクライアントシークレットの両方が必要です。

  3. AWS_IAM_ID_TOKEN_JWT — RFC 7523 セクション 2 AWS .2 に従って、エージェントの実行ロール (sts:GetWebIdentityToken を介して取得) の IAM 署名 JWT アサーションをクライアントアサーションとして送信することで、認可サーバーのトークンエンドポイントに認証します。認可サーバーは、このメカニズムをサポートし、発行者として IAM AWS を信頼する必要があります。この方法を選択すると、クライアントシークレットは必須ではなく、クライアント ID はユーザー委任アクセスフロー (ユーザー委任アクセス (OAuth 2.0 認可コード付与)) にのみ必要です。をクライアント認証方法AWS_IAM_ID_TOKEN_JWTとして使用する場合の前提条件は次のとおりです。

    1. アウトバウンドウェブ ID フェデレーションは、アカウントで有効にする必要があります。iam:EnableOutboundWebIdentityFederation で有効にします。

    2. 呼び出し元の IAM ID AWS には、sts:GetWebIdentityToken を呼び出すアクセス許可が必要です。

クライアント認証方法を設定する方法

CustomOauth2 のクライアント認証方法の設定

AWS コンソールでカスタムプロバイダーのクライアント認証方法を設定するには、「カスタムプロバイダーを使用して OAuth クライアントを追加する」を参照してください。CLI を使用して設定することもできます。

CLI の例: クライアント認証方法CLIENT_SECRET_BASICとして を使用する

aws bedrock-agentcore-control create-oauth2-credential-provider \ --cli-input-json '{ "name": "sample-client-basic", "credentialProviderVendor": "CustomOauth2", "oauth2ProviderConfigInput": { "customOauth2ProviderConfig": { "oauthDiscovery": { "discoveryUrl": "https://my.idp.com/.well-known/openid-configuration" }, "clientId": "your-client-id", "clientSecret": "your-client-secret", "clientAuthenticationMethod": "CLIENT_SECRET_BASIC" } } }'

CLI の例: クライアント認証方法AWS_IAM_ID_TOKEN_JWTとして を使用する

aws bedrock-agentcore-control create-oauth2-credential-provider \ --cli-input-json '{ "name": "sample-iam-jwt", "credentialProviderVendor": "CustomOauth2", "oauth2ProviderConfigInput": { "customOauth2ProviderConfig": { "oauthDiscovery": { "discoveryUrl": "https://my.idp.com/.well-known/openid-configuration" }, "clientId": "your-client-id", "clientAuthenticationMethod": "AWS_IAM_ID_TOKEN_JWT" } } }'

注意

tokenEndpointAuthMethods このフィールドは、クライアント認証方法には推奨されませんが、CLI および SDK での下位互換性のために維持されます。同じリクエストで両方を指定すると、検証エラーが発生します。