View a markdown version of this page

Ping Identity - Amazon Bedrock AgentCore

Ping Identity

可以将 Ping Identity 的 PingOne 平台配置为用于出站资源访问的 AgentCore 身份凭证提供商。这允许您的代理通过 PingOne的 OAuth2 服务对用户进行身份验证,并获取 PingOne API 资源的访问令牌。

出站

注意

您只能将 PingOne OAuth2 应用程序配置为用户联合或 M2M OAuth2 客户端,但不能同时配置两者。

注意

AgentCore Identity 会为您创建的每个凭据提供商发出唯一的 OAuth2 回调 URL。唯一的回调 URL 支持会话绑定,通过确保授权响应只能针对启动它的特定凭据提供商兑换,从而保护 OAuth2 授权码交换免受跨提供商重播和 CSRF-style 攻击。由于每个提供商的网址是唯一的,因此您要等到致电才能知道CreateOauth2CredentialProvider。首先创建您的 PingOne OAuth2 应用程序,然后在 Ident AgentCore ity 发布回传网址后返回 PingOne 管理员控制台注册回传网址。

步骤 1:创建 Ping 身份 OAuth2 应用程序

使用以下过程设置 PingOne OAuth2 应用程序并获取身份所需的客户端凭证。 AgentCore 如果您正在配置用户联合客户端,则需要在 Ident AgentCore ity 发出唯一回调 URL 之后,在步骤 3 中注册重定向 URI。

配置 PingOne OAuth2 应用程序

  1. 登录 PingOne 管理员控制台。

  2. 在导航栏的 “应用程序” 下,选择 “应用程序”。

  3. 在页面上,选择 “应用程序” 旁边的 “+” 图标以创建新应用程序。

  4. 要将您的应用程序配置为 M2M OAuth2 客户端,请执行以下操作:

    • 为 “授予类型” 选择 “客户凭证”。

    • 为令牌端点身份验证方法选择客户端密文

    • 在选项卡的 “应用程序” → “资源” 下创建自定义资源,包括范围。然后,将该作用域添加到应用程序的 “个人资源” 选项卡下。然后,确保作用域存在于的 “范围” 字段中 GetResourceOauth2AccessToken。

  5. 要将您的应用程序配置为用户联盟 Oauth2 客户端,请执行以下操作:

    • 为 “响应类型” 选择 “代码”。

    • 在 “授权类型” 中选择 “授权码”。

    • 为令牌端点身份验证方法选择基本客户机密钥

    • 暂时将重定向 URI 列表留空 — 您将在步骤 3 中添加唯一的回传 URL。

有关更多详细信息,请参阅 Ping PingOne Identity 的 API 文档

步骤 2:创建 AgentCore 身份凭证提供商

要配置 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 令牌交换进行委托,请使用自定义提供程序进行高级配置。有关详细信息,请参阅使用 Ident AgentCore ity 交换On-behalf-of 令牌

{ "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 令牌交换进行模拟,请使用自定义提供程序进行高级配置。有关详细信息,请参阅使用 Ident AgentCore ity 交换On-behalf-of 令牌

{ "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字段。此网址是该凭证提供商所独有的,看起来像:https://bedrock-agentcore.us-east-1.amazonaws.com/identities/oauth2/callback/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX. 保存此值以供下一步使用。

注意

唯一的回调 URL 仅适用于用户联合客户端。如果您配置 PingOne 为 M2M 客户端,则无需注册回传 URL。

第 3 步:向注册唯一的回传网址 PingOne

返回 PingOne 管理员控制台,将唯一的回调 URL 添加到用户联合应用程序的重定向 URI 列表中。

  1. 登录 PingOne 管理员控制台并打开您在步骤 1 中创建的应用程序。

  2. 将返回的callbackUrl值添加到应用程序的重定向 URI 配置中。CreateOauth2CredentialProvider

  3. 保存更改。