译者 | 李睿
审校 | 重楼
51CTO读者成长计划社群招募,咨询小助手(微信号:CTOjishuzhan)
设计良好的API治理框架可以帮助组织建立开发、部署和管理API的指导方针和优秀实践。
API治理指的是一组策略、过程和实践,组织采用这些策略、过程和实践来确保对其应用程序编程接口(API)的有效管理和控制。设计良好的API治理框架可以帮助组织建立开发、部署和管理API的指导方针和优秀实践。它为API开发提供了一种结构化的方法,并有助于确保提供给内部和外部利益相关者的API的一致性。有效的API治理还有助于组织识别和减轻与API相关的风险,例如安全漏洞、合规性问题和性能问题。通过实现API治理优秀实践,组织可以优化他们的API组合,改善团队之间的协作,并增加从API投资中获得的价值。
下图说明了组成API治理框架的各种组件。该图的中心是API治理委员会,它负责监督和管理治理过程。董事会由来自组织内不同业务单元和技术团队的代表组成。
API治理框架由多个关键组件组成,这些组件协同工作以实现跨组织的有效API管理。这些组件包括安全性、技术、利用率、教育、监控、标准、性能和合规性。
1、API的安全
安全组件对于确保API的设计和实现具有健壮的安全特性以防止未经授权的访问、数据泄露和其他安全风险至关重要。技术组件侧重于为API选择最合适的技术堆栈,并确保它与其他现有系统无缝集成。
API安全是API治理的一个关键组成部分,因为它涉及保护API免受未经授权的访问、滥用和其他安全威胁。为了确保API的安全性,可以采取各种措施,例如OWASP测试、渗透测试、API使用监控、代码审查以及身份验证和授权机制。
OWASP测试是一个标准化的安全测试过程,旨在识别API中潜在的安全漏洞。它涉及各种安全测试,例如注入攻击、跨站点脚本和访问控制问题等等。
渗透测试是另一种用于识别API中潜在安全漏洞的技术。它涉及对API的模拟攻击,以识别可能被网络攻击者利用的潜在弱点。
API使用监控是检测API使用中不寻常或不自然模式的过程。这种监视可以帮助识别潜在的安全威胁,以防止API的误用和滥用。
代码审查也是API安全性的一个重要方面。通过彻底检查API代码,开发人员可以识别潜在的安全缺陷和漏洞,并在它们成为威胁之前解决。
身份验证和授权机制对于保护API免受未经授权的访问至关重要。这些机制确保只有被授权的用户才能访问API,并且用户只能访问他们被授权访问的资源。此外,API端点的设计必须区分用户和管理员,以防止未经授权的访问。
总之,实现健壮的安全措施(例如OWASP测试、渗透测试、API使用监控、代码审查以及身份验证和授权机制)对于确保API的安全性和完整性至关重要。通过实施这些措施,组织可以保护API免受潜在的安全威胁,并确保API服务安全可靠地交付给用户。
2、API技术
API技术是API治理的重要组成部分,它涉及为API选择和管理适当的技术堆栈。为了确保技术的有效使用,可以采取几种措施,例如对所有现有技术进行编目录,确定引入和淘汰过时技术的新技术,检查Gartner Magic Quadrant,确定生产事件并为其贴上技术标签,在确定淘汰过时技术的最后期限的同时促进新技术的适应。
对所有现有技术进行编目,可以让组织对用于API开发和管理的技术有一个清晰的理解。这些信息可以帮助识别技术堆栈中的潜在差距、重叠和冗余。
确定新技术以引入和淘汰过时技术是API技术的另一个重要方面。它确保技术堆栈保持最新,并与最新的行业标准和优秀实践保持一致。此外,检查Gartner魔法象限可以帮助组织识别新兴技术,并评估其对API开发和管理的适用性。
在评估当前技术堆栈的有效性时,识别生产事故并为其贴上技术标签也是至关重要的。它有助于识别潜在的改进领域,并识别无法满足业务需求的技术。
最后,促进新技术的适应和确定淘汰过时技术的最后期限可以帮助确保技术堆栈保持最新并与组织的业务目标保持一致。它还确保组织使用最合适的技术进行API开发和管理。
总的来说,有效的API技术管理包括仔细选择和管理适当的API技术堆栈。通过实施诸如对现有技术进行编目、识别新技术、评估生产事故和促进新技术的适应等措施,组织可以确保高效和有效地使用技术进行API开发和管理。
3、API的利用率
API的利用是API治理的一个关键组件,它涉及到监视和优化API的使用,以确保最大的价值和效率。为了实现这一点,可以采取一些措施,例如在仪表板上集中使用API,退役或合并未使用的API,扩展和优化高度使用的API,公开API Catalog以提高利用率,在整个组织中发布API并实现货币化,计算API成本并实施成本优化。
在仪表板上集中使用API可以让组织清楚地了解各种应用程序和服务之间的API使用情况。这个仪表板可以帮助识别潜在的瓶颈、过度利用或未充分利用的API,以及需要优化的领域。
退役或合并未使用的API是API利用的另一个重要方面。它确保API不会消耗不必要的资源,并降低API生态系统的整体复杂性。
要确保API能够有效地处理增加的流量和使用,缩放和优化使用率高的API也是必不可少的。通过识别高度使用的API,组织可以优化其性能,增加可扩展性,并改善整体用户体验。
公开API目录(例如Swagger Hub)可以使开发人员更容易发现和重用现有API,而不是构建新的API,从而提高API的利用率。这不仅节省了时间和资源,还提高了一致性,降低了API生态系统的整体复杂性。
在整个组织中发布API并将其使用货币化是提高API利用率的另一种有效方法。通过将API使用货币化,组织可以鼓励开发人员使用现有API,并减少冗余API的开发。
最后,计算API成本并实施成本优化对于管理API使用的总体成本至关重要。通过确定运行时成本(例如CPU、网络和日志量),组织可以实施成本优化措施,并将不必要的成本降至最低。
总之,有效的API使用管理包括监控和优化API使用,以确保最大价值和效率。通过实施一些措施,例如集中使用API、退役未使用的API、优化高度使用的API、公开API目录、发布API、实现使用货币化和实施成本优化,组织可以确保高效和有效地使用API,同时将成本降至最低。
4、API的监控
API监视是API治理的一个关键方面,它涉及跟踪和分析API的性能、可用性和安全性。为了确保有效的API监控,组织可以引入优秀实践并实施一些措施。
首先,建立API监测的优秀实践是必要的。这包括建立一个专用的监视系统,并定义监视指标和阈值,以确保API的健康和性能。该系统应该跟踪关键性能指标,例如响应时间、错误率和正常运行时间。
发布日志保留和卷号是API监视的另一个重要方面。它可以帮助组织识别API使用和性能的趋势和模式,这可以帮助决策和优化。例如,组织可以使用此数据来识别需要优化的过度使用的API,或者检测未经授权的访问或安全漏洞。
为不寻常的模式、峰值和其他异常设置警报可以帮助组织快速识别和响应问题。这确保了任何问题都能及时得到解决,并降低了长时间停机或服务中断的风险。
最后,监视API的SQL注入和其他攻击对于确保API安全性至关重要。组织应该实施预防和检测此类攻击的措施,例如输入验证、加密和访问控制。这有助于将未经授权的访问或数据泄露的风险降至最低,并确保API是安全和合规的。
总之,有效的API监视包括实现优秀实践、发布日志保留和卷号、为异常模式设置警报以及监视SQL注入和其他攻击。这些措施有助于确保API的健康、性能和安全性,最大限度地减少停机时间和中断,并最大化它们对组织的价值。
5、API标准
API标准是API治理的重要组成部分,因为它们确保API在整个组织中得到一致的开发和维护。为了确保遵守API标准,组织可以实施一些措施。
应该遵循的一个关键标准是OpenAPI标准,该标准定义了描述RESTful API的标准方法。遵循这个标准可以确保API有良好的文档记录,易于理解,并可与其他API互操作。
为了使审计过程自动化并发现问题,组织可以使用一些工具。这些工具可以扫描API代码和配置,以发现潜在的问题,例如安全漏洞或违反法规。这有助于确保API是安全的、兼容的和高质量的。
另一个重要的标准是要求团队提交API YAML文件和Postman集合。这确保了API文档和测试工件是最新的,并且易于其他团队访问。它还有助于确保API经过良好的文档记录、测试和使用准备。
最后,支持金丝雀、蓝色/绿色版本和版本控制对于确保API能够有效地部署和管理至关重要。金丝雀版本涉及将新功能部署给一小部分用户,在向更广泛的用户发布之前测试其影响。蓝色/绿色发布涉及维护两个相同的运营环境(蓝色和绿色),并在它们之间切换流量,以确保更新顺利推出。版本控制包括为每个API分配一个唯一的版本号,以确保对一个版本的更改不会影响其他版本。
总之,API标准对于API治理是至关重要的,组织可以实施一些措施来确保遵守这些标准,包括遵循OpenAPI标准,自动化审计过程,要求团队提交API YAML文件和Postman集合,以及支持Canary、Blue/Green发布和版本控制。这些措施有助于确保API经过良好的文档记录、测试、安全、兼容以及有效地部署和管理。
6、API的性能
API性能是API治理的一个关键方面,因为它直接影响用户体验和组织API组合的运营成本。为了确保API以最佳方式执行,可以实行一些措施。
一个关键措施是使用Kibana、AppDynamics或Nginx等工具监控API性能。这些工具可以洞察API响应时间、错误率和其他性能指标。通过监控API性能,组织可以快速发现问题并采取纠正措施。
另一个重要措施是为低性能API设置警报,并通知团队采取行动。这可以确保及时发现和解决性能问题,最大限度地减少对用户的影响,降低运营成本。
低性能API会导致高消耗成本和客户不满。用户希望API能够快速响应,任何延迟或错误都可能导致挫败感和业务损失。通过优化API性能,组织可以提供更好的用户体验并降低运营成本。
总之,API性能是API治理的一个关键方面,组织可以实施一些措施来确保API以最佳方式执行,包括使用Kibana、AppDynamics或Nginx等工具监控API性能,为性能较低的API设置警报并通知团队采取行动,以及优化API性能以提供更好的用户体验并降低运营成本。
7、API合规性
API合规性是API治理的一个关键方面,因为它确保API遵守公司内部策略和监管需求。合规性主要有两种类型:组织合规和监管合规。
组织合规性指的是遵守管理组织内API开发和使用的内部策略和标准。这些策略可以包括数据安全、隐私和治理。确定并同意遵循哪些公司法规遵循策略,并确保API遵守这些策略是很重要的。
合规性指的是遵守管理API开发和使用的外部法规和标准。这些法规可以包括特定于行业的标准,例如用于医疗保健的HIPAA或用于支付卡数据的PCI DSS。确定哪些合规性标准适用于组织的API并确保API遵守这些标准是很重要的。
为了确保API合规性,可以执行连续扫描,例如静态和动态扫描,以确定潜在的技术合规性问题。例如,静态扫描可以分析代码的安全漏洞,而动态扫描可以模拟对API的攻击,以识别潜在的漏洞。通过在早期将合规性扫描集成到开发过程中来左移API安全性是很重要的,因为这可以帮助在开发周期的早期识别和解决合规性问题。
总之,API合规性是API治理的一个关键方面,组织可以实施一些措施来确保API遵守组织合规性策略,包括确定并同意遵循哪些合规性策略,执行连续扫描以识别潜在的合规性问题,以及通过在早期将合规性扫描集成到开发过程中来左移API安全性。
8、结语
API治理是一个复杂的、多方面的规程,涉及许多组件,包括安全、技术、合规性、利用、监视、性能和教育。通过在这些领域中实现优秀实践,组织可以确保他们的API是安全、高效和兼容的,并为用户提供最大的价值。
API安全性对于防止潜在的攻击和漏洞至关重要,组织可以实现诸如OWASP和PEN测试、身份验证和授权等措施,以确保其API的安全性。
API技术在不断发展,组织可以对现有技术进行编目,确定要引入的新技术,并淘汰过时的技术,以保持API的最新和高效。
API合规性对于遵守公司内部政策和外部监管要求是至关重要的,组织可以实施持续扫描来识别潜在的合规性问题,并确保其API遵守相关的政策和标准。
API利用包括监控API使用模式、退役未使用的API、扩展高度使用的API以及公开API目录以提高利用率和货币化。
API监控包括为异常模式设置警报,识别SQL注入和攻击,以及在API监控中推广优秀实践。
API性能对于确保API高效运行至关重要,组织可以使用Kibana、AppDynamics和Nginx等工具监控API性能,为低性能API设置警报,并优化API以降低消耗成本并提高客户满意度。
原文链接:https://dzone.com/articles/API-governance-best-practices-and-strategies-for-e