Ping Identity
Ping Identity の PingOne プラットフォームは、アウトバウンドリソースアクセス用の AgentCore Identity 認証情報プロバイダーとして設定できます。これにより、エージェントは PingOne の OAuth2 サービスを通じてユーザーを認証し、PingOne API リソースのアクセストークンを取得できます。
アウトバウンド
注記
PingOne OAuth2 アプリケーションは、ユーザーフェデレーションまたは M2M OAuth2 クライアントとしてのみ設定できますが、両方として設定することはできません。
注記
AgentCore Identity は、作成する認証情報プロバイダーごとに一意の OAuth2 コールバック URL を発行します。一意のコールバック URL により、セッションバインディングが有効になります。これにより、OAuth2 認可コード交換をクロスプロバイダーリプレイや CSRF 形式の攻撃から保護できます。これにより、認可レスポンスは、それを開始した特定の認証情報プロバイダーに対してのみ引き換えることができます。URL はプロバイダーごとに一意であるため、 を呼び出すまでわかりませんCreateOauth2CredentialProvider。最初に PingOne OAuth2 アプリケーションを作成し、AgentCore Identity がコールバック URL を発行したらPingOne 管理者コンソールに戻ってコールバック URL を登録します。
ステップ 1: Ping Identity OAuth2 アプリケーションを作成する
次の手順を使用して PingOne OAuth2 アプリケーションをセットアップし、AgentCore Identity に必要なクライアント認証情報を取得します。ユーザーフェデレーションクライアントを設定する場合は、AgentCore Identity が一意のコールバック URL を発行した後、ステップ 3 でリダイレクト URI を登録します。
PingOne OAuth2 アプリケーションを設定するには
-
PingOne 管理者コンソールにサインインします。
-
ナビゲーションバーのアプリケーション で、アプリケーション を選択します。
-
ページで、アプリケーションの横にある + アイコンを選択して新しいアプリケーションを作成します。
-
アプリケーションを M2M OAuth2 クライアントとして設定するには:
-
付与タイプのクライアント認証情報を選択します。
-
トークンエンドポイント認証方法のクライアントシークレットポストを選択します。
-
スコープを含むタブの Applications→Resources の下にカスタムリソースを作成します。次に、そのスコープを個人用リソースタブのアプリケーションに追加します。次に、GetResourceOauth2AccessToken の「scopes」フィールドにスコープが存在することを確認します。
-
-
アプリケーションをユーザーフェデレーション Oauth2 クライアントとして設定するには:
-
レスポンスタイプのコードを選択します。
-
グラントタイプの認可コードを選択します。
-
トークンエンドポイント認証方法のクライアントシークレットの基本を選択します。
-
現時点ではリダイレクト URI リストを空のままにしておきます。ステップ 3 で一意のコールバック URL を追加します。
-
詳細については、「Ping Identity の PingOne API ドキュメント
ステップ 2: AgentCore Identity 認証情報プロバイダーを作成する
PingOne をアウトバウンドリソースプロバイダーとして設定するには、以下を使用します。
{ "name": "PingOne", "credentialProviderVendor": "PingOneOauth2", "oauth2ProviderConfigInput" : { "includedOauth2ProviderConfig": { "clientId": "your-client-id", "clientSecret": "your-client-secret", "authorizationEndpoint": "https://auth.pingone.com/your-env-id/as/authorize", "tokenEndpoint": "https://auth.pingone.com/your-env-id/as/token", "issuer": "https://auth.pingone.com/your-env-id/as" } } }
委任に PingIdentity OAuth 2.0 トークン交換
{ "name": "PingOne", "credentialProviderVendor": "CustomOauth2", "oauth2ProviderConfigInput": { "customOauth2ProviderConfig": { "clientAuthenticationMethod": "CLIENT_SECRET_BASIC", "clientId": "your-client-id", "clientSecret": "your-client-secret", "oauthDiscovery": { "authorizationServerMetadata": { "authorizationEndpoint": "https://auth.pingone.com/your-env-id/as/authorize", "tokenEndpoint": "https://auth.pingone.com/your-env-id/as/token", "issuer": "https://auth.pingone.com/your-env-id/as" } }, "onBehalfOfTokenExchangeConfig": { "grantType": "TOKEN_EXCHANGE", "tokenExchangeGrantTypeConfig": { "actorTokenContent": "M2M" } } } } }
PingIdentity OAuth 2.0 トークン交換を偽装に使用するには
{ "name": "PingOne", "credentialProviderVendor": "CustomOauth2", "oauth2ProviderConfigInput": { "customOauth2ProviderConfig": { "clientAuthenticationMethod": "CLIENT_SECRET_BASIC", "clientId": "your-client-id", "clientSecret": "your-client-secret", "oauthDiscovery": { "authorizationServerMetadata": { "authorizationEndpoint": "https://auth.pingone.com/your-env-id/as/authorize", "tokenEndpoint": "https://auth.pingone.com/your-env-id/as/token", "issuer": "https://auth.pingone.com/your-env-id/as" } }, "onBehalfOfTokenExchangeConfig": { "grantType": "TOKEN_EXCHANGE", "tokenExchangeGrantTypeConfig": { "actorTokenContent": "NONE" } } } } }
CreateOauth2CredentialProvider レスポンスには callbackUrlフィールドが含まれます。この URL はこの認証情報プロバイダーに固有であり、 のようになりますhttps://bedrock-agentcore.us-east-1.amazonaws.com/identities/oauth2/callback/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX。次のステップでこの値を保存します。
注記
一意のコールバック URL は、ユーザーフェデレーションクライアントにのみ適用されます。PingOne を M2M クライアントとして設定した場合、コールバック URL 登録は必要ありません。
ステップ 3: 一意のコールバック URL を PingOne に登録する
PingOne 管理者コンソールに戻り、一意のコールバック URL をユーザーフェデレーションアプリケーションのリダイレクト URI リストに追加します。
-
PingOne 管理者コンソールにサインインし、ステップ 1 で作成したアプリケーションを開きます。
-
によって返された
callbackUrl値をアプリケーションのリダイレクト URI 設定CreateOauth2CredentialProviderに追加します。 -
変更内容を保存します。