指定访问网关目标的授权类型和凭据
在CreateGatewayTarget请求正文中,您可以在credentialProviderConfigurations数组中指定凭证提供程序配置。配置取决于您设置的出站授权类型。有关证书提供者配置的 API 结构的参考信息,请参阅CredentialProviderConfiguration。有关出站授权的更多信息,请参阅为网关设置出站授权。
要了解有关凭据提供者配置的更多信息,请选择一个主题:
AgentCore 网关服务角色 (IAM) 授权
如果您通过 AgentCore 网关服务角色对目标使用 IAM 授权,请指定credentialProviderType为GATEWAY_IAM_ROLE。配置取决于您的目标类型。
对于 Lambda、API Gateway、Smithy 和 Connector 目标
不需要iamCredentialProvider配置,因为 AgentCore 网关服务已经知道目标服务名称。仅使用credentialProviderType配置,如以下示例所示:
{ "credentialProviderType": "GATEWAY_IAM_ROLE" }
适用于 MCP 服务器和 OpenAPI 目标
对于 MCP 服务器和 OpenAPI 目标,您还必须提供iamCredentialProviderAWS 用于签名版本 4 (Sig V4) 签名的服务名称。service 字段为必填项。该region字段是可选的,默认为网关的区域。
{ "credentialProviderType": "GATEWAY_IAM_ROLE", "credentialProvider": { "iamCredentialProvider": { "service": "execute-api", "region": "us-west-2" } } }
下表描述了iamCredentialProvider对象中的字段:
| 字段 | 必填 | 描述 |
|---|---|---|
|
|
是 |
用于 SigV4 签名的 AWS 服务名称。此值必须与目标在验证 Sigv4 签名时期望的服务名称相匹配。以下是常用值:
|
|
|
否 |
SigV4 签名的 AWS 区域。如果省略,则默认为网关的区域。 |
OAuth 授权
如果您使用的是 OAuth 授权,请将指定为。credentialProviderType OAUTH在credentialProvider字段映射到的对象中,将oauthCredentialProvider字段名称映射到OAuthCredentialProvider对象,并根据您的出站授权设置提供值。
的结构因您设置的身份验证模式的类型而OAuthCredentialProvider异。要了解有关不同身份验证模式的更多信息,请参阅支持的身份验证模式。
-
如果您设置了机器对机器身份验证(也称为客户端凭据授予或双方 OAuth (2LO)),请按照 “客户端凭据” 选项卡中的结构进行操作。
-
如果您设置了用户委托的访问权限(也称为授权码授予或三条腿的 OAuth (3LO)),请按照 “授权码” 选项卡中的结构进行操作。
-
如果您将代币交换设置为将经过身份验证的用户的身份传播到下游服务,或者通过参与者上下文获取访问令牌,请按照 Token e xchange () 选项卡中的结构进行操作。On-behalf-of
选择以下方法之一:
例
API 密钥授权
如果您设置 API 密钥授权,则将指定credentialProviderType为API_KEY。在credentialProvider字段映射到的对象中,将apiKeyCredentialProvider字段名称映射到ApiKeyCredentialProvider对象,并根据您的出站授权设置提供值。以下 JSON 显示了结构:
{ "credentialProviderType": "API_KEY", "credentialProvider": { "apiKeyCredentialProvider": { "providerArn": "string", "credentialLocation": "HEADER" | "QUERY_PARAMETER", "credentialParameterName": "string", "credentialPrefix": "string" } } }
来电者 IAM 证书授权
如果您希望网关使用调用者的 IAM 身份和权限来签署对下游目标的请求,请指定credentialProviderType为CALLER_IAM_CREDENTIALS。使用此授权类型,网关代表网关调用者使用 Sigv4 向下游目标发出请求。这允许下游目标根据最初调用网关的人来应用 IAM 策略。
注意
CALLER_IAM_CREDENTIALS仅适用于具有AWS_IAM或AUTHENTICATE_ONLY作为授权者类型的网关。
{ "credentialProviderType": "CALLER_IAM_CREDENTIALS" }
JWT 直通授权
如果您希望网关不加修改地将传入请求中的持有者令牌直接传递到下游目标,请指定 a credentialProviderType s JWT_PASSTHROUGH。网关验证入站令牌,然后将其转发到出站请求中的目标。当目标服务使用原始调用者的令牌处理自己的授权时,这很有用。
注意
JWT_PASSTHROUGH仅适用于 HTTP 目标(直通和 AgentCore 运行时)。
{ "credentialProviderType": "JWT_PASSTHROUGH" }