什么是 API 管理?

API 管理 (APIM) 可帮助组织将 API 发布给外部、合作伙伴和内部开发人员,以充分发挥其数据和服务的潜力。 所有企业都想要作为数字平台扩大其运营、创建新渠道、查找新客户和深化与现有的契合。 API 管理通过开发人员参与、商业洞察力、分析、安全性和保护提供了核心竞争力以确保成功的 API 程序。 可以使用 Azure API 管理处理任何后端,并基于它发布正式的 API 程序。

本文概述了涉及 APIM 的常用方案, 并简单介绍了 APIM 系统的主要组件, 然后较详细地介绍了每个组件。

概述

要使用 API 管理,管理员需要创建 API。 每个 API 包括一个或多个操作,可以将每个 API 添加到一个或多个产品。 要使用的 API,开发人员需要订阅包含该 API 的产品,它们可以调用该 API 的操作,根据任何可能生效的使用情况策略。 常见方案包括:

  • 保护移动基础结构 通过使用 API 密钥控制访问,使用限制或使用高级安全策略(如 JWT 令牌验证)阻止 DOS 攻击。
  • 启用 ISV 合作伙伴生态系统 通过开发人员门户提供快速的合作伙伴加入,并构建 API 外观使其与未准备好供合作伙伴使用的内部实现分离。
  • 运行内部的 API 程序 通过为组织提供一个集中位置来交流 API 的可用性和最新更改,基于组织帐户控制访问,所有这一切都基于 API 网关与后端之间的安全通道。

系统由以下组件组成:

  • API 网关是具有以下功能的终结点:

    • 接受 API 调用,并将调用路由到后端。
    • 验证 API 密钥、JWT 令牌、证书和其他凭据。
    • 强制实施使用配额和速率限制。
    • 无需修改代码即可随时转换 API。
    • 在设置的位置缓存后端响应。
    • 记录调用元数据以用于分析。
  • Azure 门户是一个管理界面,可以在其中设置 API 程序。 使用它可执行以下操作:

    • 定义或导入 API 架构。
    • 将 API 打包到产品中。
    • 设置策略,如 API 的配额或转换。
    • 从分析中获得见解。
    • 管理用户。
  • 开发人员门户是面向开发人员的主要 Web 平台,可以在其中执行以下操作:

    • 阅读 API 文档。
    • 通过交互式控制台试用 API。
    • 创建帐户并可以订阅以获取 API 密钥。
    • 访问他们自己的使用情况分析。

有关详细信息,请参阅基于云的 API 管理:利用 API 的强大功能 PDF 白皮书。 此关于 API 管理的简介白皮书由 CITO Research 编撰,包括以下内容:

  • 常见 API 需求和挑战
  • 分离 API 和呈现外观
  • 使开发人员快速启动并运行
  • 保护访问权限
  • 分析和指标
  • 控制并深入了解 API 管理平台
  • 云解决方案与本地解决方案使用对比
  • Azure API 管理

API 和操作

API 是 API 管理服务实例的基础。 每个 API 表示一组可供开发人员使用的操作。 每个 API 包含对实现该 API 的后端服务的引用,并且其操作映射到由后端服务实现的操作。 API 管理中的操作高度可配置,可控制 URL 映射、查询和路径参数、请求和响应内容以及操作响应缓存。 还可以在 API 或单个操作级别实现速率限制、配额和 IP 限制策略。

有关详细信息,请参阅如何创建 API如何将操作添加到 API

产品

产品是用于将 API 提供给开发人员的方式。 API 管理中的产品有一个或多个 API,并且配置为包含一个标题、说明和使用条款。 产品可以是公开的受保护的。 对于受保护的产品,必须先订阅,然后才能使用它们,但公开的产品无需订阅即可使用。 当产品准备就绪可供开发人员使用时,可以将其发布。 产品一旦发布,开发人员就可以查看(如果是受保护的产品,应先进行订阅)。 订阅审批是在产品级别配置的,可能需要管理员审批,也可能自动审批。

组用于管理产品对开发人员的可见性。 产品向组授予可见性,并且开发人员可以查看和订阅对他们所属的组可见的产品。

组用于管理产品对开发人员的可见性。 API 管理具有下列不可变的系统组:

  • 管理员 - Azure 订阅管理员是此组的成员。 管理员管理 API 管理服务实例、创建开发人员使用的 API、操作和产品。
  • 开发人员 - 已经过身份验证的开发人员门户用户属于此组。 开发人员是使用 API 构建应用程序的客户。 开发人员有权访问开发人员门户,并构建调用 API 操作的应用程序。
  • 来宾 - 未经身份验证的开发人员门户用户属于此组,例如,访问某个 API 管理实例的开发人员门户的潜在客户。 它们可以被授予某些只读访问权限,例如能够查看 API,但不能调用它们。

除了这些系统组,管理员还可以创建自定义组或利用关联 Azure Active Directory 租户中的外部组。 可以将自定义组和外部组与系统组一起使用,来允许开发人员查看和访问 API 产品。 例如,可以为隶属于一个特定合作伙伴组织的开发人员创建一个自定义组并仅允许他们从包含相关 API 的产品中访问 API。 一个用户可以是多个组的成员。

有关详细信息,请参阅如何创建和使用组

开发人员

开发人员表示 API 管理服务实例中的用户帐户。 可以让管理员创建或邀请开发人员加入,也可以让开发人员从开发人员门户注册。 每个开发人员是一个或多个组的成员,并且可以订阅授予这些组的可见性的产品。

当开发人员订阅某个产品时,会向其授予该产品的主密钥和辅助密钥。 在调用产品的 API 时使用此键。

有关详细信息,请参阅如何创建或邀请开发人员如何将组与开发人员关联

策略

策略是 API 管理的一项强大功能,允许 Azure 门户通过配置更改 API 的行为。 策略是一组语句,在请求或 API 的响应时按顺序执行。 流行的语句包含 XML 格式转换为 JSON 和调用速率限制,以限制从开发人员传入的呼叫数,还有许多其他策略可用。

在任何 API 管理策略中,策略表达式都可以用作属性值或文本值,除非策略另行指定。 某些策略(如控制流设置变量策略)基于策略表达式。 有关详细信息,请参阅高级策略策略表达式

有关 API 管理策略的完整列表,请参阅策略参考。 有关使用和配置策略的详细信息,请参阅 API 管理策略。 有关创建具有速率限制和配额策略的产品的教程,请参阅如何创建和配置高级产品设置

开发人员门户

开发人员门户是开发人员用来了解 API、视图和调用操作以及订阅产品的地方。 潜在客户可以访问开发人员门户,查看 API 和操作并注册。 开发人员门户的 URL 位于 API 管理服务实例的 Azure 门户中的仪表板上。

可以通过添加自定义内容、自定义样式并添加品牌来自定义开发人员门户的外观。

后续步骤

完成以下快速入门,然后即可使用 Azure API 管理: