本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Okta 的 Auth0
Auth0 可以配置为用于访问 AgentCore 网关和运行时的身份提供商,也可以配置为用于出站资源访问的 AgentCore 身份凭证提供商。这允许您的代理使用 Auth0 作为身份提供商和授权服务器对代理用户进行身份验证和授权,或者您的代理获得访问由 Auth0 授权的资源的证书。
入站
要将 Auth0 添加为用于访问 AgentCore Gateway 和 Runtime 的身份提供商和授权服务器,您必须:
-
从 IDP 目录配置发现 URL。这有助于 AgentCore Identity 获取与您的 OAuth 授权服务器和令牌验证密钥相关的元数据。
-
输入代币的有效
aud索赔。这有助于验证来自您的 IDP 的令牌,并允许访问包含预期声明的令牌。
使用以下步骤设置 Auth0 并获取网关身份验证所需的配置值。
为入站身份验证配置 Auth0
-
在 Auth0 中创建 API:
-
登录到您的 Auth0 控制面板。
-
打开 API,然后选择创建 API 。
-
输入您的 API 的名称和标识符(例如,“网关 API”)。
-
选择签名算法(推荐 RS256)。
-
选择创建。
-
-
配置 API 范围:
-
在 API 设置中,转到范围选项卡。
-
添加诸如 “调用:网关” 和 “读取:网关” 之类的范围。
-
-
创建应用程序:
-
打开应用程序,然后选择创建应用程序。
-
选择 “机器对计算机应用程序” 。
-
选择您在步骤 1 中创建的 API。
-
为应用程序授予您创建的作用域的权限。
-
选择创建。
-
-
记录应用程序设置中的客户端 ID 和客户端密钥。您需要这些值才能在 I AgentCore dentity 中配置 Auth0 提供商。
-
为您的 Auth0 租户构造发现 URL:
https://your-domain/.well-known/openid-configuration你
your-domain的 Auth0 租户域在哪里(例如,“dev-example.us.auth0.com”)。 -
使用以下值配置入站身份验证:
-
发现 URL:在上一步中构造的 URL
-
允许的受众:您在步骤 1 中创建的 API 标识符
-
出站
注意
AgentCore Identity 会为您创建的每个凭证提供商颁发唯一的 OAuth2 回调 URL。独特的回调 URL 支持会话绑定,通过确保授权响应只能针对发起该请求的特定凭证提供商进行兑换,从而保护 OAuth2 授权码交换免受跨提供商重放和 CSRF-style 攻击。由于每个提供商的网址都是唯一的,所以你要等到打电话之后才会知道CreateOauth2CredentialProvider。首先创建您的 Auth0 应用程序,然后在 I AgentCore dentity 发布回调 URL 后返回 Auth0 仪表板注册回调 URL。
步骤 1:创建 Auth0 应用程序
使用以下步骤设置 Auth0 OAuth2 应用程序并获取身份所需的客户端凭证。 AgentCore 在 I AgentCore dentity 发布唯一回调 URL 后,您将在步骤 3 中注册重定向 URI。
配置 Auth0 OAuth2 应用程序
-
登录到您的 Auth0 控制面板。
-
打开应用程序,然后选择创建应用程序。
-
输入应用程序的名称,然后选择常规 Web 应用程序作为应用程序类型。
-
选择创建。
-
在应用程序的 “设置” 选项卡上,暂时将 “允许的回调 URL” 留空——您将在步骤 3 中添加唯一的回传 URL。
-
配置应用程序所需的任何连接、范围和权限。
-
记录应用程序设置中的客户端 ID 和客户端密钥。您需要这些值才能在 I AgentCore dentity 中配置 Auth0 提供商。
-
记下您的 Auth0 租户域(例如
dev-example.us.auth0.com)。在步骤 2 中,您将使用它来构造授权、令牌和颁发者端点。
有关更多详细信息,请参阅 Auth0 关于创建应用程序
第 2 步:创建 AgentCore 身份凭证提供商
要将 Auth0 配置为出站资源提供商,请使用以下方法:
{ "name": "NAME", "credentialProviderVendor": "Auth0Oauth2", "oauth2ProviderConfigInput" : { "includedOauth2ProviderConfig": { "clientId": "your-client-id", "clientSecret": "your-client-secret", "authorizationEndpoint": "https://your-auth0-tenant.auth0.com/authorize", "tokenEndpoint": "https://your-auth0-tenant.auth0.com/oauth/token", "issuer": "https://your-auth0-tenant.auth0.com" } } }
CreateOauth2CredentialProvider响应包含一个callbackUrl字段。此网址是该凭证提供商所独有的,看起来像:https://bedrock-agentcore.us-east-1.amazonaws.com/identities/oauth2/callback/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX. 保存此值以供下一步使用。
第 3 步:使用 Auth0 注册唯一的回调 URL
返回 Auth0 控制面板,将唯一的回调 URL 添加到应用程序允许的回调中。
-
登录您的 Auth0 仪表板并打开您在步骤 1 中创建的应用程序。
-
在 “设置” 选项卡上,将返回的
callbackUrl值粘贴到 “允许的回传 URL”CreateOauth2CredentialProvider中。 -
选择保存更改。