本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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 应用程序,然后在 Id AgentCore entity 发布回调 URL 后返回 PingOne 管理员控制台注册回调 URL。
步骤 1:创建 Ping Identity OAuth2 应用程序
使用以下步骤设置 PingOne OAuth2 应用程序并获取身份所需的客户端凭证。 AgentCore 如果您正在配置用户联盟客户端,则在 I AgentCore dentity 发出唯一回调 URL 后,您将在步骤 3 中注册重定向 URI。
配置 PingOne OAuth2 应用程序
-
登录 PingOne 管理员控制台。
-
在导航栏的 “应用程序” 下,选择 “应用程序” 。
-
在页面上,选择 “应用程序” 旁边的 “+” 图标以创建新应用程序。
-
要将您的应用程序配置为 M2M OAuth2 客户端,请执行以下操作:
-
为 “授权类型” 选择 “客户证书”。
-
为令牌端点身份验证方法选择 “客户端密文”。
-
在选项卡中的 “应用程序” → “资源” 下创建自定义资源,包括作用域。然后,将该范围添加到应用程序的 “个人资源” 选项卡下。然后,确保范围存在于的 “范围” 字段中 GetResourceOauth2AccessToken。
-
-
要将您的应用程序配置为用户联盟 Oauth2 客户端,请执行以下操作:
-
为 “响应类型” 选择 “代码”。
-
为授权类型选择授权码。
-
为令牌终端节点身份验证方法选择 “基本客户端密钥”。
-
暂时将重定向 URI 列表留空——您将在步骤 3 中添加唯一的回调 URL。
-
有关更多详细信息,请参阅 Ping Identity 的 PingOne 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 令牌交换进行委托
{ "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字段。此网址是该凭证提供商所独有的,看起来像: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 -
保存更改。