API Gateway 中控制和管理对 REST API 的访问
您可以使用以下机制进行身份验证和授权:
-
资源策略允许您创建基于资源的策略,以允许或拒绝从指定的源 IP 地址或 VPC 终端节点访问您的 API 和方法。有关更多信息,请参阅 使用 Amazon API Gateway 资源策略控制对 API 的访问。
-
标准 AWS IAM 角色和策略 提供灵活、稳健的访问控制,可应用于整个 API 或单个方法。IAM 角色和策略可用于控制谁可以创建和管理您的 API 以及谁可以调用它们。有关更多信息,请参阅使用 IAM 许可控制对 API 的访问。
-
IAM 标签可与 IAM 策略结合使用来控制访问权限。有关更多信息,请参阅 使用标签控制对 API Gateway 资源的访问。
-
接口 VPC 终端节点的终端节点策略允许您将 IAM 资源策略附加到接口 VPC 终端节点,用于改进私有 API 的安全性。有关更多信息,请参阅 在 API Gateway 中为私有 API 使用 VPC 终端节点策略。
-
Lambda 授权方是 Lambda 函数,它们使用持有者令牌身份验证以及由标头、路径、查询字符串、阶段变量或上下文变量请求参数描述的信息来控制对 REST API 方法的访问。Lambda 授权方用于控制谁可以调用 REST API 方法。有关更多信息,请参阅 使用 API Gateway Lambda 授权方。
-
Amazon Cognito 用户池可让您为 REST API 创建可自定义的身份验证和授权解决方案。Amazon Cognito 用户池用于控制谁可以调用 REST API 方法。有关更多信息,请参阅 使用 Amazon Cognito 用户池 作为授权方控制对 REST API 的访问权限。
以下机制可用于执行与访问控制相关的其他任务:
-
跨源资源共享 (CORS) 可让您控制您的 REST API 响应跨域资源请求的方式。有关更多信息,请参阅为 API Gateway REST API 资源启用 CORS。
-
客户端 SSL 证书可用于验证发送到后端系统的 HTTP 请求是否来自 API Gateway。有关更多信息,请参阅生成和配置 SSL 证书用于后端身份验证。
-
AWS WAF 可用于保护您的 API Gateway API 免遭常见 Web 漏洞的攻击。有关更多信息,请参阅 使用 AWS WAF 来保护 Amazon API Gateway API 免遭常见 Web 漏洞的攻击。
以下机制可用于跟踪和限制您已向授权客户端授予的访问权限:
-
使用计划可让您向客户提供 API 密钥 — 然后跟踪和限制每个 API 密钥的 API 阶段和方法的使用。有关更多信息,请参阅 创建和使用带 API 密钥的使用计划。
The following mechanisms can be used for authentication and authorization:
-
Resource policies let you create resource-based policies to allow or deny access to your APIs and methods from specified source IP addresses or VPC endpoints. For more information, see Control Access to an API with Amazon API Gateway Resource Policies.
-
Standard AWS IAM roles and policies offer flexible and robust access controls that can be applied to an entire API or individual methods. IAM roles and policies can be used for controlling who can create and manage your APIs as well as who can invoke them. For more information, see Control Access to an API with IAM Permissions.
-
IAM tags can be used together with IAM policies to control access. For more information, see Using Tags to Control Access to API Gateway Resources.
-
Endpoint Policies for Interface VPC Endpoints allow you to attach IAM resource policies to interface VPC endpoints to improve the security of your private APIs. For more information, see Use VPC Endpoint Policies for Private APIs in API Gateway.
-
Lambda authorizers are Lambda functions that control access to REST API methods using bearer token authentication as well as information described by headers, paths, query strings, stage variables, or context variables request parameters. Lambda authorizers are used to control who can invoke REST API methods. For more information, see Use API Gateway Lambda Authorizers.
-
Amazon Cognito user pools let you create customizable authentication and authorization solutions for your REST APIs. Amazon Cognito user pools are used to control who can invoke REST API methods. For more information, see Control Access to a REST API Using Amazon Cognito User Pools as Authorizer.