何时使用 Azure API 管理
现在,让我们来讨论一些场景来说明何时适合使用 Azure API 管理。 以食品配送服务为例,让我们从标准化 API、集中进行 API 管理和公开以及增强 API 安全性方面研究 API 生命周期管理。 我们可以使用以下标准来帮助确定 Azure API 管理是否适合管理和发布组织 API 清单的条件:
决策条件
条件 | 分析 |
---|---|
API 数量 | 需要考虑的关键是要管理的 API 数量。 部署的 API 越多,对 API 控制的部署标准化和集中化的需求就越大。 |
API 更改速率 | 下一步要考虑的是组织实现 API 修订和版本的速度。 创建 API 修订和发布新 API 版本的速度越快,对可靠且灵活的版本控制系统的需求就越大。 |
API 管理负载 | 最后需要考虑的是应用于 API 的策略开销。 策略包括使用配额、调用速率限制、请求转换和请求验证。 API 所需的配置和选项越多,对标准化和集中化的策略实现的需求就越大。 |
应用条件
如果有大型 API 部署需要经常更改和大量策略开销,则 Azure API 管理是管理 API 整个生命周期的正确选择。 但是,这些条件并不同样适用于所有用例。 让我们来设想一下这些条件如何应用于自己场景中的用例。
是否应该使用 Azure API 管理来实现 API 的标准化?
通过从单个管理界面实现对多个 API 的管理,Azure API 管理使得在多个 API 之间创建一致性变得更加容易。 可以实现许多 API 功能的标准化,其中包括:
- 规范。 实现 API 规范的标准化(例如,将 REST 用于所有 API,将一致的命名方案用于 JSON 名称/值对)可减少开发时间、减少错误,从而让组织能够更快地响应客户建议和市场压力。
- 文档 实现 API 文档的标准化有助于开发人员快速使用 API。 还减少了技术支持查询,鼓励开发人员使用更多 API。
- URL。 实现 API 的基 URL 的标准化可减少使用者错误,并为 API 部署提供更专业的外观。
- 分析。 通过实现 API 分析的标准化,管理团队和工程师可以比较多个 API 的使用情况和性能。
- 法规。 对于必须满足政府或行业法规的 API,标准化有助于确保所有 API 的合规性。
在大多数情况中,标准化需求会在以下条件下增加:
- API 数量增加。
- API 修订速率加快。
- API 管理负载变大。
此需求适用于食品配送平台场景,需要在移动应用、Web 应用和合作伙伴餐馆的 API 之间保持一致性。
是否应该使用 Azure API 管理来集中 API 操作?
通过让多个 API 受单个管理的保护,Azure API 管理增强了所有 API 操作的集中化。 如果没有 API 管理服务,每个 API 在管理、部署和开发人员访问方面都是独立的。 这种分散式模型通常会导致重复的工作和开销增加。 集中 API 操作可带来以下优势:
- 管理。 在一个位置(如 Azure API 提供的管理界面)应用管理操作,例如策略创建、用户管理和分析。 集中管理任务可以更简单、更高效地运行这些任务。
- 部署。 通过一个基 URL(例如 Azure API 管理网关创建的终结点)路由所有 API 请求。 集中部署可以更轻松地强制实施策略和应用转换。
- 开发人员访问。 将文档、代码示例、测试和订阅等所有开发人员资源放在一个位置,例如 Azure API 管理中的开发人员门户。 集中开发人员访问有助于开发人员更轻松地查找和使用 API。
集中 API 操作产生的效率往往随 API 数量和对 API 施加的总体管理负载大小而增加。 如果 API 经常更新,使用集中的 API 将提供极大的帮助,因为它会为所有产品提供单个版本控制方案。
所有这些因素都非常适用于我们的食品配送平台场景。 例如,通过开发人员门户集中使用者访问可以更轻松地注册新开发人员,从而提升了平台 API 的盈利。
是否应该使用 Azure API 管理保护对 API 的访问?
Azure API 管理设计时考虑了 API 安全性。 许多组织依赖 API 在应用和设备之间进行内部和外部的数据交换。 实现安全性的方法随机或不一致只会自找麻烦。 正确的 API 安全策略包括以下基本内容:
- 权限。 控制谁可以使用 API,以及他们可以执行的操作。 在 Azure API 管理中,将所有 API 使用者作为用户并能够将这些用户组织到组中,可以更轻松、更高效地应用权限来控制 API 访问。
- 访问。 仅允许授权用户提交请求。 在 Azure API 管理中,开发人员门户会为用户提供订阅密钥,你可以使用多种身份验证和 JSON Web 令牌来限制对 API 的访问。
- 保护。 保护 API 免受恶意使用。 通过 Azure API 管理,你可以使用速率限制和使用配额来限制 API 访问,以帮助防止使用者(有意或意外)误用 API。
- 合规性。 请确保 API 满足公司或政府的所有安全策略。 将所有 API 集中在 Azure API 管理中,可以更轻松地使用实现合规性的安全策略配置这些 API。
管理的 API 越多,对安全性的需求就越大。 更多的 API 意味着更大的攻击面,意外数据漏洞或泄漏的风险就越大。 此外,修订 API 的频率越高,修订或新版本发现安全漏洞的可能性就越大。
这些安全问题在我们的食品配送场景中至关重要。 我们的平台生成并存储大量的敏感数据,其中包括餐馆付款、客户姓名和地址以及配送车辆位置。