Amazon API Gateway
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

Amazon API Gateway 的访问策略语言概述

此页面介绍了在 Amazon API Gateway 资源策略中使用的基本元素。

指定资源策略所用的语法与 IAM 策略相同。有关完整策略语言信息,请参阅 IAM 用户指南 中的 IAM 策略概述AWS Identity and Access Management 策略参考

有关 AWS 服务如何决定是应允许还是拒绝指定请求的更多信息,请参阅决定是允许还是拒绝请求

访问策略中的常用元素

就其最基本的意义而言,资源策略包含以下元素:

  • 资源 – API 是您能够允许或拒绝权限的 Amazon API Gateway 资源。在策略中,使用 Amazon 资源名称 (ARN) 标识资源。

    有关 Resource 元素的格式,请参阅在 API Gateway 中执行 API 的许可的 Resource 格式

  • 操作 – 对于每个资源,Amazon API Gateway 都支持一组操作。允许 (或拒绝) 的资源操作通过使用操作关键字指定。

    例如,apigateway:invoke 权限将允许在客户端请求时调用 API 的用户权限。

    有关 Action 元素的格式,请参阅在 API Gateway 中执行 API 的许可的 Action 格式

  • 效果 – 当用户请求特定操作 —(可以是 AllowDeny)时的效果。您也可显式拒绝对资源的访问,这样可确保用户无法访问该资源,即使有其他策略授予了访问权限的情况下也是如此。

    注意

    “隐式拒绝”与“默认拒绝”相同。

    “隐式拒绝”与“显式拒绝”不同。 有关更多信息,请参阅“默认拒绝”与“显式拒绝”的区别

  • 委托人 – 允许访问语句中的操作和资源的账户或用户。在资源策略中,委托人是作为权限获得者的 IAM 用户或账户。

下面的资源策略示例展示了上述常用策略元素。该策略向其源 IP 地址位于地址块 123.4.5.6/24 内的任何用户授予对指定 region 中的指定 account-id 下的 API 的访问权限。如果用户的源 IP 不在该范围内,该策略将拒绝对 API 的所有访问。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "execute-api:Invoke", "Resource": "arn:aws:execute-api:region:account-id:*" }, { "Effect": "Deny", "Principal": "*", "Action": "execute-api:Invoke", "Resource": "arn:aws:execute-api:region:account-id:*", "Condition": { "NotIpAddress": { "aws:SourceIp": "123.4.5.6/24" } } } ] }