AWS API 网关后端 API 身份验证
AWS API gateway backend API authentication
是否可以使用 AWS Signature V4 进行身份验证,并根据与签名关联的身份将访问策略设置为后端 API?
或者签名消息仅用于访问 AWS 基础设施 API。例如API 网关 API 而不是它管理的 API。
是的,你可以。如果您将 API 网关中定义的方法的 authorizationType
设置为 AWS_IAM
,则只有在请求由 AWS 委托人(用户或假定角色)签名时才能调用该方法允许对该方法执行 execute-api:Invoke
操作。
有关如何指定操作的详细信息,请参阅 https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-control-access-using-iam-policies-to-invoke-api.html。简而言之,您的策略应该允许 execute-api:Invoke
一个或多个格式为:
的 ARN
arn:aws:execute-api:region:account-id:api-id/stage-name/HTTP-VERB/resource-path-specifier
通过为不同的委托人分配不同的策略,每个委托人都可以拥有不同级别的访问权限。例如,您可以有一个允许所有 HTTP-VERB 的策略,这是一个读写访问级别,另一个策略只允许 GET、HEAD 和 OPTIONS 作为对 API 的只读访问级别。或者您可以使用不同的资源路径说明符来只允许每个主体使用特定的资源路径。
是否可以使用 AWS Signature V4 进行身份验证,并根据与签名关联的身份将访问策略设置为后端 API?
或者签名消息仅用于访问 AWS 基础设施 API。例如API 网关 API 而不是它管理的 API。
是的,你可以。如果您将 API 网关中定义的方法的 authorizationType
设置为 AWS_IAM
,则只有在请求由 AWS 委托人(用户或假定角色)签名时才能调用该方法允许对该方法执行 execute-api:Invoke
操作。
有关如何指定操作的详细信息,请参阅 https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-control-access-using-iam-policies-to-invoke-api.html。简而言之,您的策略应该允许 execute-api:Invoke
一个或多个格式为:
arn:aws:execute-api:region:account-id:api-id/stage-name/HTTP-VERB/resource-path-specifier
通过为不同的委托人分配不同的策略,每个委托人都可以拥有不同级别的访问权限。例如,您可以有一个允许所有 HTTP-VERB 的策略,这是一个读写访问级别,另一个策略只允许 GET、HEAD 和 OPTIONS 作为对 API 的只读访问级别。或者您可以使用不同的资源路径说明符来只允许每个主体使用特定的资源路径。