<ph type="x-smartling-placeholder"></ph>
您正在查看 Apigee Edge 文档。
转到
Apigee X 文档。 信息
什么是 API 产品?
作为 API 提供方,您需要创建 API 产品来捆绑您的 API,以便应用开发者可以使用这些 API。您可以将 API 产品视为您的产品线。
具体来说,API 产品将以下各项捆绑在一起:
- API 资源 (URI) 的集合
- 服务计划
- 您的业务特定的元数据,用于监控或分析(可选)
API 产品中捆绑的 API 资源可以来自一个或多个 API,因此您可以混合和匹配资源来创建专用功能集,如下图所示。
您可以创建多个 API 产品来解决满足特定需求的用例。例如,您可以创建一个 API 产品,将许多映射资源捆绑在一起,以便开发者轻松地将映射集成到其应用中。此外,您还可以为每个 API 产品设置不同的属性,例如不同的价格水平。例如,您可以提供以下 API 产品组合:
- 一种 API 产品,提供低访问限制,例如每天 1000 次请求,价格便宜。第二种 API 产品,提供对同一资源的访问,但访问限制更高,价格也更高。
- 一种免费 API 产品,提供对资源的只读权限。另一种 API 产品,提供对相同资源的读写权限,收费很低。
此外,您可以控制对 API 产品中 API 资源的访问权限。例如,您可以捆绑只能由内部开发者或仅通过付费客户访问的资源。
API 产品是对 API 进行授权和访问权限控制的中心机制。在 Apigee 中,API 密钥不是为 API 本身,而是为 API 产品预配的。换句话说,附加服务计划的资源包会预配 API 密钥。
应用开发者通过注册其应用来访问 API 产品,如注册应用中所述。当应用尝试访问 API 产品时,Apigee 会在运行时强制执行授权,以确保:
- 发出请求的应用可以访问特定的 API 资源。
- 发出请求的应用未超过允许的配额。
- 如果已定义,API 产品中定义的 OAuth 范围将与应用提供的访问令牌所关联的 OAuth 范围匹配。
了解主要概念
在创建 API 产品之前,请先查看以下主要概念。
API 密钥
当您在组织中注册开发者的应用时,该应用必须至少关联一个 API 产品。将应用与一个或多个 API 产品配对后,Edge 会为该应用分配一个唯一的使用方密钥。
使用方密钥或访问令牌充当请求凭据。应用开发者将使用方密钥嵌入到应用中,以便在应用发出请求时 发送到由 Edge 托管的 API,则应用会通过以下方式之一在请求中传递使用方密钥:
- 当 API 使用 API 密钥验证时,应用必须直接传递使用方密钥。
- 当 API 使用 OAuth 令牌验证时,应用必须传递源自使用方密钥的令牌。
API 密钥强制执行不会自动进行。无论您是将使用方密钥还是 OAuth 令牌作为请求凭据,API 代理都会通过在适当的流中添加 VerifyAPIKey 政策或 OAuth/VerifyAccessToken 政策来验证 API 代理中的请求凭据。如果您没有在 API 代理中添加凭据强制执行政策,则任何调用者都可以调用您的 API。如需了解详情,请参阅验证 API 密钥政策。
为了验证请求中传递的凭据,Edge 执行以下步骤:
- 获取随请求传递的凭据。对于 OAuth 令牌验证,Edge 会验证令牌未过期,然后查找使用方 用于生成令牌的密钥。
- 检索与使用方密钥关联的 API 产品列表。
- 确认 API 产品中包含当前 API 代理,并且 API 产品中当前的资源路径(网址路径)已启用。
- 验证使用方密钥是否未过期或被撤消,检查应用是否未被撤消,以及检查应用开发者是否处于活跃状态。
如果上述所有检查均通过,则表示凭据验证成功。
总之,Edge 会自动生成使用方密钥,但 API 发布商必须 使用适当的政策在 API 代理中强制执行密钥检查。
自动审核与手动审核
默认情况下,将自动批准所有从应用获取访问 API 产品的密钥的请求。或者,您也可以将 API 产品配置为手动批准密钥。在这种情况下,您必须批准来自添加 API 产品的任何应用的密钥请求。如需了解详情,请参阅注册应用和管理 API 密钥。
配额
配额可保护您的后端服务器以获得高流量,并区分您的产品线。例如,您可能希望将配额较高的资源作为高级产品捆绑,并使用配额较低的同一捆绑作为基本产品。如果某个产品很受欢迎并且收到大量请求,则配额可以帮助防止您的服务器不堪重负。
如需了解如何配置配额,请参阅配额政策。如需了解如何在配额政策中使用产品配额设置,请参阅以下社区帖子:API 产品的配额设置如何与 API 代理中的配额政策交互?。
OAuth 范围
作为附加的安全级别,您可以将任何 OAuth 范围定义为逗号分隔列表,这些列表必须存在于通过该产品发送的访问令牌中。创建产品时,您需要了解组织使用的所有范围。您添加到产品的范围必须与现有范围匹配,否则产品不安全。
如需详细了解如何将范围与 Edge OAuth 政策搭配使用,请参阅使用 OAuth2 范围。
访问权限级别
定义 API 产品时,您可以设置以下访问权限级别。
访问权限级别 | 说明 |
---|---|
公开 | 适用于所有开发者的 API 产品。您可以将其添加到集成式或基于 Drupal 的开发者门户。 |
专用或仅限内部使用 | 专为专用或内部用途而设计的 API 产品。 注意:专用和仅限内部使用的访问权限级别之间没有任何功能区别。选择能够准确描述 API 产品目标受众的标签。 对于集成式门户,您可以添加专用或仅限内部使用的 API 产品,并根据需要向应用开发者提供这些产品。 对于基于 Drupal 的开发者门户,您可以在开发者门户中上管理对专用或仅限内部使用的 API 产品的访问,如以下部分所述:
|