カスタムプロバイダーを使用して OAuth クライアントを追加する
カスタムプロバイダーを使用すると、組み込みプロバイダーオプション以外の OAuth2-compatibleリソースサーバーに接続できます。カスタムプロバイダーを設定するには、システムで設定の詳細を自動的に取得するか、サーバー情報を手動で指定します。
カスタムプロバイダーを使用して OAuth クライアントを追加するには
-
AgentCore Identity
コンソールを開きます。 -
アウトバウンド認証セクションで、OAuth クライアント/API キーの追加を選択し、OAuth クライアントの追加を選択します。
-
Name には、自動生成された名前を使用するか、独自のわかりやすい名前を入力して、アカウント内のこの OAuth クライアントを識別できます。英数字、ハイフン、アンダースコアのみを使用し、最大長は 50 文字です。
-
Provider で、Custom provider を選択します。
-
プロバイダー設定セクションで、プロバイダーの要件に応じて、次のいずれかのオプションを選択します。
-
検出 URL (推奨) – AgentCore Identity がプロバイダーから設定の詳細を自動的に取得するには、このオプションを選択します。プロバイダーが OpenID Connect 設定を発行する検出 URL を指定すると、AgentCore Identity がエンドポイント検出プロセスを処理します。これは、手動設定を減らすため、利用可能な場合の推奨アプローチです。
-
クライアント認証方法では、ID プロバイダートークンエンドポイントでの認証に使用されるクライアント認証方法を選択します。詳細については、「クライアント認証方法」を参照してください。
-
Discovery URL には、プロバイダーが OpenID Connect 設定を発行する URL を入力します。検出 URLs
.well-known/openid-configurationで終わる必要があります。たとえば、https://example.com/.well-known/openid-configuration などです。 -
クライアント ID には、アプリケーションを ID プロバイダーに登録するときに受け取った一意の識別子を入力します。
-
クライアントシークレットの選択方法では、次のいずれかのオプションを選択します。
-
クライアントシークレットを指定する – クライアントシークレット値を直接入力します。
-
クライアントシークレットには、AgentCore Identity が認証のために安全に保存するクライアント ID に関連付けられた機密キーを入力します。
-
-
Secrets Manager 経由でクライアントシークレットを提供する – 値を直接入力するのではなく、 AWS Secrets Manager に保存されているシークレットを参照します。
-
Secrets Manager で、クライアントシークレットを含む Secrets Manager シークレットの ARN を入力または選択します。
-
JSON キーの場合は、OAuth クライアントのクライアントシークレット値を含む Secrets Manager シークレットに JSON キーを入力します。
-
-
-
-
手動設定 – プロバイダーが自動検出をサポートしていない場合にサーバー情報を直接指定するには、このオプションを選択します。各エンドポイント URL を個別に定義し、設定の詳細を完全に制御できるようにします。
-
クライアント認証方法では、ID プロバイダートークンエンドポイントでの認証に使用されるクライアント認証方法を選択します。詳細については、「クライアント認証方法」を参照してください。
-
発行者には、認可サーバーを識別するベース URL を入力します。この値は、発行されたトークンの
issクレームに表示され、トークンの信頼性を検証するのに役立ちます。 -
認可エンドポイントには、アプリケーションにアクセス許可を付与するようにユーザーに指示する URL を入力します。これは OAuth 認可フローのエントリポイントです。
-
トークンエンドポイントには、エージェントが認可コードをアクセストークンと交換する URL を入力します。このエンドポイントは、認証情報交換プロセスを処理します。
-
(オプション) レスポンスタイプセクションで、レスポンスタイプを追加を選択し、プロバイダーが返すトークン形式を選択して、OAuth クライアントが認証レスポンスを受信する方法を設定します。 一般的なタイプには
code、認可コードフロー用や暗黙的なフローtoken用などがあります。 -
クライアント ID には、アプリケーションを ID プロバイダーに登録するときに受け取った一意の識別子を入力します。
-
クライアントシークレットの選択方法では、次のいずれかのオプションを選択します。
-
クライアントシークレットを指定する – クライアントシークレット値を直接入力します。
-
クライアントシークレットには、AgentCore Identity が認証のために安全に保存するクライアント ID に関連付けられた機密キーを入力します。
-
-
Secrets Manager 経由でクライアントシークレットを提供する – 値を直接入力するのではなく、 AWS Secrets Manager に保存されているシークレットを参照します。
-
Secrets Manager で、クライアントシークレットを含む Secrets Manager シークレットの ARN を入力または選択します。
-
JSON キーの場合は、OAuth クライアントのクライアントシークレット値を含む Secrets Manager シークレットに JSON キーを入力します。
-
-
-
-
-
(オプション) 追加設定を展開して、トークン交換on-behalf-of。次のいずれかの付与タイプモードを選択します。
-
なし: On-behalf-ofはサポートされていません
-
JWT 認可付与: RFC 7523 構文を使用してトークン交換on-behalf-ofを実行します。インバウンド ID は、アクセストークンを取得するための認可権限として使用されます
-
トークン交換: RFC 8693 構文を使用してトークン交換on-behalf-ofを実行します。これは、委任関係をキャプチャするための最新の標準です。アクタートークンは、次のモードを使用してカスタマイズできます。
-
なし: アクタートークンはリクエストで提供されません
-
AWS IAM ID トークン JWT: ID をアクタートークン AWS として呼び出すことを表す AWS IAM によって発行された署名付き JWT を使用して認証する
-
マシンツーマシン (M2M): machine-to-machine (M2M) アクセストークンをアクタートークンとして使用して認証する
-
(オプション) 認証時にスコープパラメータとして使用するアクタートークンスコープを指定します。
-
-
-
-
(オプション) 追加設定を展開して、VPC 内でホストされている ID プロバイダーに接続するためのプライベートエンドポイントを設定します。次のいずれかのモードを選択します。
-
マネージド VPC: AgentCore はユーザーに代わって VPC リソースを作成および管理します。これは、アカウント内 VPC 接続のより簡単なオプションです。
-
VPC の場合は、VPC 識別子を選択します。
-
サブネットには、IdP へのネットワークアクセスを持つ 1 つ以上のサブネットを選択します。
-
IP アドレスタイプで、
IPV4または を選択しますIPV6。 -
(オプション) セキュリティグループで、IdP へのトラフィックを許可するセキュリティグループを選択します。
-
-
セルフマネージド Lattice: VPC Lattice リソースゲートウェイとリソース設定は自分で作成および管理します。このオプションは、RAM AWS を介したクロスアカウント接続をサポートし、ガバナンスを完全に可視化します。
-
リソース設定 ARN で、VPC Lattice リソース設定の ARN を選択します。
-
(オプション) ドメインオーバーライドには、プライベートエンドポイントを介してルーティングする必要がある追加のドメインを入力します。ID プロバイダーエンドポイント (トークンや認可エンドポイントなど) が、リソース設定で設定されたプライマリ IdP ドメインとは異なるドメインでホストされている場合に使用します。
-
-
-
OAuth クライアントの追加を選択します。
マネージド型 Lattice モードとセルフマネージド型 Lattice モードの詳細な比較については、「サポートされている VPC 出力モード」を参照してください。
いずれかの設定を完了すると、AgentCore Identity は OAuth 設定を安全に保存し、エージェントコードで参照できる ARN を提供し、アプリケーションに機密情報を埋め込まずにトークンリクエストを有効にします。この ARN は、OAuth クライアントのプロパティページにあります (アウトバウンド認証セクションでクライアント名を選択します)。