本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
配置入站 JWT 授权器
入站授权方对传入的 OAuth 2.0 API 请求进行身份验证并授权向 Runtime 和 Gateway 发出的请求。 AgentCore AgentCore 在允许访问代理或网关之前,它会验证 JSON 网络令牌 (JWT)。授权方与身份提供商 (IdP) 无关,可与任何兼容 OAuth 2.0 的身份提供商一起使用。当 AgentCore Runtime 或 AgentCore Gateway 收到入站请求时,授权者将使用配置的发现 URL 来获取公钥和授权服务器端点来执行 JWT 验证。您可以根据您的 IdP 和允许的授权范围或声明来配置授权方。
配置入站授权器
通过在代理或网关创建期间提供授权方配置,您可以将代理运行时(参见 CreateAgentRuntime CreateGateway)或网关(参见)配置为接受 JWT 持有者令牌。 AgentCore 运行时或 AgentCore 网关的授权配置(参见 CustomJWTAuthorizerConfiguration)相同。
-
发现网址:必须与 OpenID Connect (OIDC) 发现网址的模式
^.+/\.well-known/openid-configuration$相匹配的字符串。您可以从身份提供商处找到您的发现 URL。发现 URL 是一个特定的网址, AgentCore Identity 可以使用它来查找有关身份验证端点详细信息的信息。它允许 Id AgentCore entity 动态接受您的 OIDC 身份提供商发行的代币,无需明确加入。 -
允许的受众:允许的受众列表, AgentCore Identity 将根据 JWT 代币中的
aud声明对其进行验证。OAuth 2.0 中的受众声明 (aud) 指定了令牌适用于哪个资源服务器 (API)。在处理请求之前,资源服务器会验证aud声明以确保它是正确的接收者,从而防止令牌在非发行的其他 API 上重复使用。 -
允许的客户端:允许的客户端标识符列表, AgentCore Identity 将根据 JWT 令牌中的
client_id声明对其进行验证。OAuth 2.0client_id中的 A 是请求访问令牌以访问 AgentCore 运行时或 AgentCore 网关的应用程序的公共唯一标识符。它就像应用程序的用户名,将其与向授权者注册的其他客户端(应用程序)区分开来。 -
允许的范围:允许调用运行时或网关的允许权限列表,定义为范围。如果已配置,则传入令牌中的至少一个范围值必须与其中一个配置值相匹配。OAuth 2.0 范围是一个字符串,用于定义 JWT 中定义的特定访问级别。作用域充当权限来限制应用程序可以执行的操作。
-
必需的自定义声明(请参阅 CustomClaimValidationType):一组规则,用于将传入令牌中的特定声明与验证 JWT 令牌的预定义值进行匹配。您可以通过指定以下内容来创建规则:
-
InboundTokenClaimName:自定义声明的名称。
-
InboundTokenClaimValueType: 要
STRING么是STRING_ARRAY。 -
AuthorizingClaimMatchValue:自定义声明的必填值和比较运算符。
-
ClaimMatchValue:自定义索赔的必填值。
-
ClaimMatchOperator: 如果
InboundTokenClaimValueType等于STRING,则必须是EQUALS。如果InboundTokenClaimValueType等于STRING_ARRAY,则可以是CONTAINS或CONTAINS_ANY。 -
示例:您可以定义一个强制执行的规则:
Group must equal Developer。
-
-
-
注意:配置中至少有一个字段是必填字段:允许的受众、允许的客户、允许的范围或必填的自定义声明。如果使用多个,则授权者将对它们全部进行验证。