View a markdown version of this page

使用自定义提供程序添加 OAuth 客户端 - Amazon Bedrock AgentCore

使用自定义提供程序添加 OAuth 客户端

自定义提供程序允许您连接到内置提供程序选项之外的任何 OAuth2-compatible 资源服务器。您可以通过让系统自动检索配置详细信息或手动提供服务器信息来配置自定义提供程序。

使用自定义提供商添加 OAuth 客户端

  1. 打开AgentCore 身份控制台。

  2. 在 “出站身份验证” 部分,选择 “添加 OAuth 客户端 /API 密钥”,然后选择 “添加 OAuth 客户端”。

  3. 对于名称,您可以使用自动生成的名称或输入自己的描述性名称来帮助您在账户中识别此 OAuth 客户端。仅使用字母数字字符、连字符和下划线,最大长度为 50 个字符。

  4. 对于提供者,请选择自定义提供商

  5. 提供商配置部分,根据您的提供商要求,选择以下选项之一:

    1. 发现 URL(推荐)— 选择此选项可让 Ident AgentCore ity 自动从您的提供商那里检索配置详细信息。您提供发现网址,您的提供商在其中发布其 OpenID Connect 配置,Ident AgentCore ity 负责端点发现过程。如果可用,这是推荐的方法,因为它可以减少手动配置。

      1. 对于客户端身份验证方法,请选择用于使用身份提供商令牌端点进行身份验证的客户端身份验证方法。有关更多信息,请参阅客户端身份验证方法

      2. 对于发现网址,请输入您的提供商发布其 OpenID Connect 配置的网址。发现 URL 必须以结尾.well-known/openid-configuration。例如,https:// example.com /.well known/openid---configuration。

      3. 客户端 ID 中,输入您在向身份提供商注册应用程序时收到的唯一标识符。

      4. 对于客户机密选择方法,请选择以下选项之一:

        1. 提供客户机密钥-直接输入客户机密值。

          1. 对于客户机密钥,请输入与您的客户端 ID 关联的机密密钥,Ident AgentCore ity 会安全地存储该密钥以进行身份验证。

        2. 通过 Secrets Manager 提供客户密钥 — 引用存储在 Secr AWS ets Manager 中的密钥,而不是直接输入值。

          1. 在 S ecrets Manager 中,输入或选择包含您的客户密钥的 Secrets Manager 密钥的 ARN。

          2. 对于 JSON 密钥,请在你的 Secrets Manager 密钥中输入 JSON 密钥,其中包含你的 OAuth 客户端的客户端密钥值。

    2. 手动配置-选择此选项可在您的提供商不支持自动发现时直接指定服务器信息。您将单独定义每个端点 URL,从而完全控制配置细节。

      1. 对于客户端身份验证方法,请选择用于使用身份提供商令牌端点进行身份验证的客户端身份验证方法。有关更多信息,请参阅客户端身份验证方法

      2. 在 “颁发者” 中,输入用于标识您的授权服务器的基本 URL。此值出现在已发行代币的iss申领中,有助于验证代币的真实性。

      3. 对于授权端点,输入将引导用户向您的应用程序授予权限的 URL。这是 OAuth 授权流程的入口点。

      4. 对于令牌端点,请输入您的代理在其中交换访问令牌的授权码的 URL。此端点处理凭证交换过程。

      5. (可选)在响应类型部分,通过选择添加响应类型并选择提供商应返回的令牌格式,配置您的 OAuth 客户端接收身份验证响应的方式。常见code的类型包括授权码流或隐token式流程。

      6. 客户端 ID 中,输入您在向身份提供商注册应用程序时收到的唯一标识符。

      7. 对于客户机密选择方法,请选择以下选项之一:

        1. 提供客户机密钥-直接输入客户机密值。

          1. 对于客户机密钥,请输入与您的客户端 ID 关联的机密密钥,Ident AgentCore ity 会安全地存储该密钥以进行身份验证。

        2. 通过 Secrets Manager 提供客户密钥 — 引用存储在 Secr AWS ets Manager 中的密钥,而不是直接输入值。

          1. 在 S ecrets Manager 中,输入或选择包含您的客户密钥的 Secrets Manager 密钥的 ARN。

          2. 对于 JSON 密钥,请在你的 Secrets Manager 密钥中输入 JSON 密钥,其中包含你的 OAuth 客户端的客户端密钥值。

  6. (可选)展开其他配置以配置代币交换。选择以下授予类型模式之一:

    1. :不支持 On-behalf-of 代币交换

    2. JWT 授权授权:使用 RFC 7523 语法代表代币交换。入站身份用作获取访问令牌的授权授权

    3. 代币交换:使用 RFC 8693 语法代表代币交换。这是捕捉委托关系的最新标准。您可以使用以下模式自定义 actor 标记:

      1. :请求中不会提供演员令牌

      2. AWS IAM ID 令牌 JWT:使用 IA AWS M 颁发的签名 JWT 进行身份验证,该签名的 JWT 将调用 AWS 身份表示为行为者令牌

      3. 机器对机器 (M2M):使用机器对机器 (M2M) 访问令牌作为行为者令牌进行身份验证

        1. (可选)提供Ac tor令牌作用域以在进行身份验证时用作作用域参数

  7. (可选)展开其他配置以配置私有终端节点,用于连接托管在您的 VPC 内的身份提供商。选择以下模式之一:

    1. 托管 VPC:代表您 AgentCore 创建和管理 VPC 资源。这是账户内 VPC 连接的更简单选项。

      1. 对于 VPC,请选择您的 VPC 标识符。

      2. 对于子网,请选择一个或多个可通过网络访问您的 IdP 的子网。

      3. 对于 IP 地址类型,请选择IPV4IPV6

      4. (可选)对于安全组,请选择允许流向您的 IdP 的安全组。

    2. Self-managed 莱迪思:您可以自己创建和管理 VPC 莱迪思资源网关和资源配置。此选项支持通过 AWS RAM 进行跨账户连接,并提供全面的监管可见性。

      1. 对于资源配置 ARN,请选择您的 VPC 莱迪思资源配置的 ARN。

      2. (可选)对于域覆盖,请输入应通过私有终端节点路由的其他域。当您的身份提供商终端节点(例如令牌或授权终端节点)托管在与资源配置中配置的主要 IdP 域不同的域上时,请使用此选项。

  8. 选择 “添加 OAuth 客户端”。

有关莱迪思托管模式与自我管理模式的详细比较,请参阅支持的 VPC出口模式。

完成任一配置后,Ident AgentCore ity 都会安全地存储您的 OAuth 设置,并提供可在代理代码中引用的 ARN,从而无需在应用程序中嵌入敏感凭据即可启用令牌请求。您可以在 OAuth 客户端的属性页面中找到此 ARN(在 “出站身份验证” 部分选择客户端名称)。