View a markdown version of this page

Ping 身分 - Amazon Bedrock AgentCore

Ping 身分

Ping Identity 的 PingOne 平台可以設定為用於傳出資源存取的 AgentCore Identity 登入資料提供者。這可讓您的代理程式透過 PingOne 的 OAuth2 服務驗證使用者,並取得 PingOne API 資源的存取權杖。

傳出

注意

您只能將 PingOne OAuth2 應用程式設定為使用者聯合或 M2M OAuth2 用戶端,但不能同時設定為兩者。

注意

AgentCore Identity 會為您建立的每個登入資料提供者發出唯一的 OAuth2 回呼 URL。唯一的回呼 URL 可啟用工作階段繫結,透過確保授權回應只能針對啟動它的特定憑證提供者進行兌換,以保護 OAuth2 授權碼交換免受跨供應商重播和 CSRF 型攻擊。由於每個提供者的 URL 都是唯一的,因此在呼叫 之前,您都不會知道它CreateOauth2CredentialProvider。首先建立 PingOne OAuth2 應用程式,然後返回 PingOne 管理員主控台,在 AgentCore Identity 發出回呼 URL 後註冊回呼 URL。

步驟 1:建立 Ping Identity OAuth2 應用程式

使用下列程序來設定 PingOne OAuth2 應用程式,並取得 AgentCore Identity 的必要用戶端憑證。如果您要設定使用者聯合用戶端,您將在 AgentCore Identity 發出唯一回呼 URL 之後,在步驟 3 中註冊重新導向 URI。

設定 PingOne OAuth2 應用程式

  1. 登入 PingOne 管理員主控台。

  2. 在導覽列的應用程式 下,選擇應用程式

  3. 在頁面上,選擇應用程式旁的 + 圖示以建立新的應用程式。

  4. 若要將應用程式設定為 M2M OAuth2 用戶端:

    • 選取授予類型的用戶端登入資料。

    • 選取權杖端點身分驗證方法的用戶端秘密貼文

    • 在 標籤中的 Applications→Resources 下建立自訂資源,包括範圍。然後,將該範圍新增至應用程式的個人資源索引標籤下。然後,請確定範圍存在於 GetResourceOauth2AccessToken 的 'scopes' 欄位中。

  5. 若要將您的應用程式設定為使用者聯合 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 權杖交換進行委派,請使用自訂提供者進行進階組態。如需詳細資訊,請參閱On-behalf-of杖與 AgentCore Identity 交換

{ "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 字符交換進行模擬,請使用自訂提供者進行進階組態。如需詳細資訊,請參閱On-behalf-of杖與 AgentCore Identity 交換

{ "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:向 PingOne 註冊唯一的回呼 URL

返回 PingOne 管理員主控台,並將唯一的回呼 URL 新增至使用者聯合應用程式的重新導向 URI 清單。

  1. 登入 PingOne 管理員主控台,並開啟您在步驟 1 中建立的應用程式。

  2. 將 傳回callbackUrl的值CreateOauth2CredentialProvider新增至應用程式的重新導向 URI 組態。

  3. 儲存您的變更。