什么是 Azure API 管理?

本文概述了 Azure API 管理的常见方案和关键组件。 Azure API 管理是一种混合式多云管理平台,适用于所有环境中的 API。 作为平台即服务,API 管理支持完整的 API 生命周期。

提示

如果已熟悉 API 管理并准备好启动,请参阅以下资源:

方案

API 可实现数字体验,简化应用程序集成,支持新的数字产品,并使数据和服务可重复使用且可广泛访问。 随着对 API 的依赖日益增加,组织需要在整个生命周期中将其作为一流资产进行管理。

Diagram showing role of APIs in connected experiences.

Azure API 管理有助于客户应对以下挑战:

  • 抽象化 API 使用者后端体系结构的多样性和复杂性
  • 安全地将托管在 Azure 上和 Azure 外部的服务公开为 API
  • 保护、加快和观察 API
  • 允许内部和外部用户发现和使用 API

常见方案包括:

  • 解锁旧版资产 - API 用于抽象化和现代化旧版后端,并使其可从新的云服务和新式应用程序进行访问。 API 支持在没有迁移风险、成本和延迟的情况下进行创新。
  • 以 API 为中心的应用集成 - API 是易于使用的、基于标准的自描述机制,用于公开和访问数据、应用程序和进程。 它们简化并降低了应用集成的成本。
  • 多通道用户体验 - API 通常用于实现用户体验,例如 Web 应用程序、移动应用程序、可穿戴设备或物联网应用程序。 重复使用 API 以加快开发和 ROI。
  • B2B 集成 - 向合作伙伴和客户公开的 API 降低了集成业务流程和在业务实体之间交换数据的障碍。 API 消除了点到点集成中固有的系统开销。 特别是在启用了自助式发现和加入的情况下,API 是缩放 B2B 集成的主要工具。

API 管理组件

Azure API 管理由 API 网关、管理平面和开发人员门户组成。 这些组件是 Azure 托管的,默认情况下是完全托管的。 API 管理在各种中都有提供,这些层的容量和功能都不同。

Diagram showing key components of Azure API Management.

API 网关

来自客户端应用程序的所有请求首先到达 API 网关,然后 API 网关将它们转发到各自的后端服务。 API 网关充当后端服务的外观,使 API 提供者能够抽象化 API 实现并改进后端体系结构,而不会影响 API 使用者。 网关支持路由、安全、限制、缓存和可观察性的一致配置。

具体而言,网关执行以下操作:

自承载网关

对于自托管网关,客户可以将 API 网关部署到托管其 API 的相同环境中,以优化 API 流量并确保符合当地的法规和指导原则。 使用自托管网关,具有混合 IT 基础结构的客户可以从 Azure 中的单个 API 管理服务管理本地和云中托管的 API。

自托管网关打包为基于 Linux 的 Docker 容器,通常部署到 Kubernetes,包括 Azure Kubernetes 服务。

详细信息:

管理平面

API 提供者通过管理平面与服务进行交互,后者提供对 API 管理服务功能的完全访问权限。

客户通过 Azure 门户、Azure PowerShell、Azure CLI、Visual Studio Code 扩展、REST API 或客户端 SDK 等 Azure 工具与管理平面进行交互,这些工具使用多种常用编程语言。

使用管理平面可以:

  • 预配和配置 API 管理服务设置
  • 定义或导入来自各种源的 API 架构,这些源包括 OpenAPI、WSDL、OData 定义、Azure 计算服务、WebSocket、GraphQL 和 gRPC 后端
  • 将 API 打包到产品中
  • 设置策略,如 API 的配额或转换
  • 从分析中获得见解
  • 管理用户

开发人员门户

开放源代码开发人员门户是一个自动生成的、可完全自定义的网站,其中包含 API 的文档。

Screenshot of API Management developer portal - administrator mode.

API 提供者可通过添加自定义内容、自定义样式并添加品牌来自定义开发人员门户的外观。 通过自托管进一步扩展开发人员门户。

应用开发人员使用开放源代码开发人员门户发现 API,加入 API 以供使用,并了解如何在应用程序中使用它们。 (API 还可导出到 Power Platform 供平民开发者发现和使用。)

使用开发人员门户,开发人员可以:

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

与 Azure 服务集成

API 管理与许多互补的 Azure 服务集成以创建企业解决方案,包括:

详细信息

关键概念

API

API 是 API 管理服务实例的基础。 每个 API 表示一组可供应用开发人员使用的操作。 每个 API 包含对实现 API 的后端服务的引用,而其操作映射到后端操作。

API 管理中的操作高度可配置,可控制 URL 映射、查询和路径参数、请求和响应内容以及操作响应缓存。

详细信息

产品

产品是如何将 API 提供给开发人员。 API 管理中的产品有一个或多个 API,可处于“打开”或“受保护”状态。 受保护的产品需要订阅密钥,而开放产品可自由使用。

产品可以供开发人员使用时,就会发布。 产品一旦发布,就可供开发人员通过开发人员门户查看或订阅。 在产品级别配置订阅批准,也可由管理员批准或被自动批准。

详细信息

组用于管理产品对开发人员的可见性。 API 管理具有下列内置组:

  • 管理员 - 管理 API 管理服务实例、创建 API、操作,以及开发人员所使用的产品。

    Azure 订阅管理员是此组的成员。

  • 开发人员 - 经过身份验证的开发人员门户用户,使用你的 API 构建应用程序。 开发人员有权访问开发人员门户,并构建调用 API 操作的应用程序。

  • 来宾 - 未经身份验证的开发人员门户用户,如访问开发人员门户的潜在客户。 它们可以被授予某些只读访问权限,如能够查看 API,但不能调用它们。

管理员还可创建自定义组或使用关联的 Microsoft Entra 租户中的外部组,使开发人员能够查看和访问 API 产品。 例如,为合作伙伴组织中的开发人员创建自定义组,以访问产品中的特定 API 子集。 用户可以属于多个组。

详细信息

开发人员

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

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

详细信息

工作区

工作区使分散式 API 开发团队能够管理和产品化自己的 API,同时由中央 API 平台团队维护 API 管理基础结构。 每个工作区都包含仅供工作区协作者访问的 API、产品、订阅和相关实体。 访问通过 Azure 基于角色的访问控制 (RBAC) 进行控制。

详细信息:

策略

使用策略时,API 发布者可通过配置更改 API 的行为。 策略是一组语句,在请求或 API 的响应时按顺序执行。 流行的语句包括从 XML 到 JSON 的格式转换,并调用速率限制来限制从一名开发人员的传入调用。 有关完整列表,请参阅 API 管理策略

在任何 API 管理策略中,策略表达式可以用作属性值或文本值,除非该策略另外指定。 某些策略(如控制流设置变量策略)基于策略表达式。

策略可应用于不同的范围,具体取决于你的需求:是全局(所有 API)、某个工作区、某个产品、某个特定 API,还是某个 API 操作。

详细信息:

后续步骤

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