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

创建和使用带 API 密钥的使用计划

创建、测试和部署 API 后,您可以实施 API Gateway 使用计划,将它们作为面向客户的产品/服务提供。您可以配置使用计划和 API 密钥,以允许客户按照商定的可满足其业务需求和预算限制的请求速率和配额来访问选定 API。如果需要,您可以为 API 设置默认方法级别限制或为单个 API 方法设置限制。

什么是使用计划和 API 密钥?

使用计划指定谁可以访问一个或多个部署的 API 阶段和方法 — 以及他们能够访问这些 API 阶段和方法的数量和速度是多少。该计划使用 API 密钥来标识 API 客户端,并针对每个密钥计量对关联的 API 阶段的访问。此外,它可让您配置限制和配额限制,这些限制会应用到单独的客户端 API 密钥。

API 密钥是字母数字字符串值,可将它分发给应用程序开发人员(要向其授予对您的 API 的访问权的客户)。您可以使用 API 密钥以及使用计划Lambda 授权方以控制对您的 API 的访问。API Gateway 可以代表您生成 API 密钥,或者从 CSV 文件导入这些文件。您可以在 API Gateway 中生成 API 密钥或者从外部来源将其导入 API Gateway 中。有关更多信息,请参阅使用 API Gateway 控制台设置 API 密钥

API 密钥具有一个名称和值。(术语“API 密钥”和“API 密钥值”经常互换使用。) 值为一个长度在 30 到 128 个字符之间的字母数字字符串,例如,apikey1234abcdefghij0123456789

重要

API 密钥值必须是唯一的。如果您尝试使用不同的名称和相同的值来创建两个 API 密钥,API Gateway 会将它们视为同一 API 密钥。

一个 API 密钥可与多个使用计划关联。一个使用计划可与多个阶段关联。但是,对于 API 的每个阶段,给定 API 密钥只能与一个使用计划关联。

限制是应用于要添加到使用计划的每个 API 密钥的请求速率限制。您也可以为 API 设置默认方法级别限制或为单个 API 方法设置限制。

配额限制是可在指定的时间间隔内提交的包含给定 API 密钥的最大请求数。您可以配置单独的 API 方法,要求根据使用计划配置进行 API 密钥授权。您可以使用 get-usage CLI 命令和 usage:get REST API 方法来确定您的 API 客户已使用的配额量。

注意

限制和配额限制适用于跨一个使用计划内的所有 API 阶段聚合的各个 API 密钥的请求。

API 密钥和使用计划的最佳实践

以下是使用 API 密钥和使用计划时要遵循的建议的最佳实践。

  • 请勿依赖 API 密钥作为您的 API 的身份验证和授权的唯一方法。首先,如果您在一个使用计划中有多个 API,则具有该使用计划中的一个 API 的有效 API 密钥的用户可以访问该使用计划中的所有 API。相反,使用 IAM 角色、Lambda 授权方Amazon Cognito 用户池

  • 如果您使用开发人员门户发布您的 API,请注意,给定使用计划中的所有 API 均可订阅,即使您尚未向您的客户显示它们。