什么是 API 生命周期?

应用程序编程接口 (API) 已成为数字经济的重要组成部分。通过使不同的软件组件能够轻松地相互通信,API 对于实现创新、快速软件开发和跨平台共享数据的能力至关重要。

API 生命周期是设计、构建、管理并最终停用 API 的过程。API 生命周期涵盖了从初始构想到最终弃用的全过程,其中主要包括设计、开发、测试和部署等各个阶段。生命周期的每个阶段都有助于确保 API 保持正常运行、安全可靠并且能为用户创造价值。

API 生命周期管理

API 生命周期管理是指在 API 生命周期的每个阶段对 API 进行战略监督和管理。通过协调 API 开发和部署的各个阶段,API 生命周期管理可确保 API 提供高质量的功能、能够抵御网络威胁并满足 API 利益相关者的需求。

API 生命周期管理通常由多个团队负责:

  • 开发团队负责 API 的设计、开发和测试。

  • DevOps 团队专注于部署、自动化和生产环境的维护。

  • 产品经理可能会参与制定 API 策略和定义应用场景。

API 生命周期的各个阶段

完整生命周期 API 管理的各个阶段的示意图。

对于完整的生命周期 API 管理的各个阶段,目前没有一个统一的定义。但是,大多数 API 程序都包括以下阶段:

1.规划和设计

API 生命周期的初始设计阶段旨在制定 API 策略、定义 API 的用途、确定潜在的应用场景并概述 API 的功能。API 设计需要针对 API 架构做出相关决策。API 架构是关于 API 整体结构一种宏观规划,用于确定 API 与其他系统和组件的交互方式,尤其是在微服务架构中。API 协定概述了 API 的预期行为。API 设计还包括创建 API 规范和架构,通常使用 OpenAPI for REST API、SDL for GraphQL API 以及 Swagger 等工具来记录和测试不同类型的 API。

2.开发

在开发阶段,开发团队按照 API 协定中概述的规范编写 API 代码。团队还使用各种设置和参数来配置 API,以定义 API 的运行方式以及与其他系统的交互方式。配置包括指定端点、方法、身份验证机制、速率限制、响应格式以及用于确保 API 正常安全运行的其他关键方面。

3.测试

在此阶段中,API 将被部署到运行时环境中进行严格测试,以识别并修复软件中的任何漏洞或错误。API 测试可确保 API 符合既定规范并且能够按预期与端点配合工作。质量保证测试人员会手动测试每个 API 的功能、性能和安全性。企业应在开发生命周期的早期开始测试 API,以便:

  • 确保每个 API 都采用适当的安全控制措施进行构建

  • 在 API 进入生产环境之前解决潜在漏洞,例如代码编写错误和错误配置

API 测试也可以从不同的地理区域或在 CI/CD 管道内自动运行。各种 API 测试包括:

  • 协定测试,用于确保 API 能够满足设计阶段概述的期望

  • 性能测试,用于确认 API 是否可以在指定时间内提供响应

  • API 安全测试,用于查找和修复 API 漏洞

有关 API 安全测试的更多信息,请参阅下面的“API 安全的关键功能”。

4.部署

在成功完成测试后,API 将部署到生产环境中。开发团队可以使用 CI/CD 管道和 API 网关来实现部署流程的标准化及自动化。在部署过程中,公共 API 将向外部用户和开发人员开放。

5.监控和维护

完成部署后,API 的性能、安全性和使用情况将得到持续监控。DevOps 工程师可以配置告警,以便在 API 性能和安全性不符合特定阈值或指标时自动通知他们。此阶段旨在发现安全漏洞、错误和延迟问题,这些问题随后可以通过维护和更新进行解决。

6.版本控制和更新

在 API 中发现了问题时,开发和 DevOps 团队可能会开发并发布新的 API 版本。必须对这些版本进行管理,以确保向后兼容性。

7.弃用和停用

弃用是一个专业术语,它指的是当某个 API 过时或者需要通过新版本来解决重大问题时,替换该 API 的行为。在弃用期间,利益相关者和用户会收到通知并获得相关的停用时间表。在停用阶段,DevOps 团队将停止使用该 API,并确保妥善处理所有的依赖关系,以避免给用户造成功能性问题。

API 安全的关键功能

如今的威胁形势需要一个能够提供 API 发现、态势管理、运行时保护和 API 安全测试的全面 API 安全解决方案。这种全面的方法可作为对企业在整个 API 生命周期内管理和保护 API 的现有工具的重要补充。

API 发现:大多数企业几乎不具备对大部分 API 流量进行监测的能力,往往是因为他们认为其所有 API 都会通过 API 网关路由。但事实并非如此。企业的许多典型 API 都是不受管 API,例如被遗忘但仍在运行并持续接触敏感数据的休眠 API。如果没有完整、准确的清单,您的企业将会面临各种风险。所需的核心功能:

  • 无论配置或类型如何,找到您的所有 API 并将其加入清单中

  • 检测休眠、遗留和僵尸 API

  • 识别被遗忘、被忽视或未知的影子域名

  • 消除监控盲点,发现潜在攻击路径

API 态势管理:在有完整 API 清单的情况下,了解哪些类型的数据会流经您的 API 以及这会如何影响您遵从监管要求的能力至关重要。API 态势管理让您可以全面了解流量、代码和配置以评估贵企业的 API 安全态势。所需的核心功能:

  • 自动扫描基础架构,从而发现配置错误和隐藏的风险

  • 创建自定义工作流,从而通知主要利益相关者有关漏洞的情况

  • 确定哪些 API 和内部用户能够访问敏感数据

  • 为检测到的问题分配严重程度评级,从而确定补救工作的优先级

API 运行时安全:毫无疑问,您熟悉“假设入侵”的概念。专门针对 API 的入侵和攻击同样不可避免。对于生产环境中存在的所有 API 来说,您需要能够实时检测和阻止攻击。所需的核心功能:

  • 监控数据篡改和泄露、策略违反情况、可疑行为以及 API 攻击

  • 无需进行额外的网络调整或安装难以部署的代理,即可轻松分析 API 流量

  • 与现有工作流(工单、SIEM 等)进行集成,以便向安全/运营团队发出告警

  • 通过部分自动化或全自动化补救,实时防止各类攻击和滥用行为

API 安全测试:API 开发团队压力重重,需要尽可能快地完成工作。速度对于所开发的每个应用程序都至关重要,这更容易导致漏洞或设计缺陷发生且随后无法被检测到。将 API 发布到生产环境中之前在开发阶段对其进行测试,可以显著降低风险并减少修复易受攻击 API 的成本。所需的核心功能:

  • 运行模拟恶意流量的各种自动化测试

  • 在 API 进入生产环境之前发现漏洞,从而降低攻击得逞的风险

  • 依据已确立的管理策略和规则,对 API 规范进行检查

  • 根据实际需求或在 CI/CD 管道中运行以 API 为重点的安全测试

API 生命周期管理的好处

有效的 API 生命周期管理可以为企业和团队带来一些巨大的好处。

  • 高质量 API:适当的生命周期管理可确保 API 设计合理、安全可靠,而且能够满足用户的需求。

  • 强大的 API 安全防护:生命周期管理使团队能够识别和修复 API 漏洞,以防止攻击者将 API 用作攻击媒介,从而提高 API 安全性

  • 高效开发:高质量的生命周期管理可简化开发流程,使团队能够更快地创建新的 API 和迭代版本。

  • 更出色的性能:API 生命周期中的持续监控有助于优化 API 性能

  • 版本控制:API 生命周期管理使团队能够根据需要将 API 无缝升级到新版本或回滚到先前的版本。

API 生命周期管理带来的挑战

管理 API 生命周期会给 IT 团队带来一些挑战。

  • 安全性:由于 API 通常会暴露敏感数据,并且往往未得到充分保护,因此它们已成为网络犯罪分子的主要攻击媒介。为了防范威胁,安全团队需要具备相应的能力,包括实施速率限制、采用强大的身份验证机制以及识别和根除代码中任何安全漏洞。

  • 版本管理:团队必须确保 API 的每个新版本都向后兼容,以避免给现有集成造成问题。

  • 文档:对于依赖 API 的开发人员和利益相关者来说,维护最新的文档至关重要。在团队争相开发和部署新版本时,这项任务很容易被忽视。

用于管理 API 生命周期的工具

IT 团队可以使用各种 API 管理解决方案来驾驭 API 生命周期。

  • API 管理平台:AWS API Gateway 和 Microsoft Azure API Management 等平台提供了用于管理、保护和监控 API 生态系统的全面解决方案。

  • API 设计工具:Swagger 和 OpenAPI 等解决方案提供了用于创建 API 规范和文档的工具。

  • 自动化工具:在测试和部署 API 时,Jenkins 或 GitLab CI/CD 等工具可以简化工作流程。

  • API 分析:Google Analytics for API 等平台可跟踪 API 使用情况、性能和指标。

  • 开发人员门户:这些门户为 API 文档、测试和社区互动提供了一个集中式枢纽。

常见问题

API 表示 Application Programming Interface(应用程序编程接口),它们提供了一套协议和定义,使不同的软件组件或程序能够相互通信并共享数据。通过定义应用程序的交互方式,API 使不同的应用程序能够请求和共享信息。

API 生命周期是 IT 团队在设计、开发、测试、部署、监控和停用 API 时采取的一系列步骤。

API 优先是一种在整个开发过程中优先考虑 API 的开发模式。API 优先方法将 API 视为开发的基础,并在开发其他应用程序之前为 API 编写代码,而不是将 API 视为事后的补救措施。

客户为什么选择 Akamai

Akamai 是一家致力于支持并保护在线商业活动的网络安全和云计算公司。我们卓越的安全解决方案、出色的威胁情报和全球运营团队可提供深度防御,保护各地的企业数据和应用程序。Akamai 的全栈云计算解决方案可在海外分布广泛的平台上提供高性能且经济实惠的服务。众多全球企业信赖 Akamai,凭借我们卓越的可靠性、扩展性和专业技术,企业能够从容拓展业务。

探索所有的 Akamai 安全解决方案