为vue开发的api管理系统,助力您的项目开发
494
2022-06-13
管理API的需求源自于Web API开展业务。从2006年开始,而后逐渐成熟,并在2016年以前进入市场。不管是经过代理现有API的管理网关、自己做为用于部署API自己的网关的一部分,仍是做为链接层在代码中,API管理就是针对API进行编辑、测试、发布、身份验证,计量,分析报告、监控等。在过去十年中,API管理提供商共同定义了一些使用Web API完成业务的经常使用方法。虽然API技术很是技术化,但它依旧与API业务密切有关,而且经过使用Web提供对数据,内容,算法和其余数字资源的访问所产生的价值。下面将经过几个关键词的形式说明API管理的重要性和实现方式。算法
若是你常常向合做伙伴提供API访问权限,那限制API访问合做伙伴IP地址的防护力(白名单)很是强大。但你仍须要进行身份验证和速率限制,只要将流量减小到只有已知的合做伙伴,这会消除在对更普遍的互联网开放的API上看到的大量恶意流量,例如蛮力企图获取访问权限和拒绝服务攻击。即使使用IP白名单,创建API网关仍然是最佳作法。这有助于身份验证并确保后端仅接收正确返回的API调用。
最多见的是OAuth和OAuth2,用于在API之间进行通讯和保护通讯。即使使用OAuth,其余人的Token也多是一个问题。如何管理Token的生命周期?Token是否获得刷新?在一些成功的基础架构中,使用了一次性Token来严格限制正在尝试的操做类型,它是一种归结为安全Token管理和基于证书的身份验证。
在受权以前始终对API进行身份验证 ,有许多方法能够进行API身份验证,但多因素身份验证是经常使用的方法。对于API,使用外部进程(例如经过OAuth协议)获取访问Token是很常见的。身份验证密钥最敏感,必须保持安全,建议使用管理存储来自动执行整个过程。
也就是说,仅凭身份验证不足以授予对API的访问权限,应该有一个受权步骤来肯定哪些资源能够访问API。检查受权的各类方法包括基于内容的访问控制(CBAC),基于角色的访问控制(RBAC)或基于策略的访问控制(PBAC),这些方法可确保业务数据保持彻底受到保护,以防止未经批准的访问。
保护API环境涉及每一个API接触点,对API客户端(第三方应用程序和开发人员或微服务)进行身份验证和受权,限速API调用以缓解分布式拒绝服务(DDoS)攻击并保护处理后端应用程序API调用。
用于保护API的一些技术和工具是:
1)使用JSON Web Token(JWT)来验证和受权API客户端,JWT包括有关客户端的信息,例如管理权限或到期日期。当客户端向JWT提供其API请求时,API网关会验证JWT并验证其中的声明是否与你为客户端请求的资源设置的访问策略相匹配。
2)定义和实施访问控制策略,仅容许某些类型的客户端执行写入操做或访问敏感数据(如订价)。
3)定义基于角色的访问控制,该控制仅容许某些用户(例如特定组织内的开发人员)发布敏感信息(如订价或库存水平)的API。
4)经过应用速率限制策略来保护API自己,该策略设置API网关从指定源(例如客户端IP地址)每秒(或其余时间段)接受的请求数量的阈值。
5)使用HTTPS保护后端应用程序 - 应该在API网关和处理API请求的后端系统之间使用HTTPS协议。
限制和配额的断路器,一个好的作法是强制执行每一个应用程序的数据使用配额,以便在DoS,DDoS攻击或防止未经受权的用户不正当使用API时,后端不会受到影响。每一个资源的节流和配额不只能够做为断路器,还能够防止系统产生负面影响。具备配额和限制等策略的复杂API管理平台可提供此功能。
咱们的API安全方法的三个关键领域:
1)采用说明性方法。客户转向OAuth 2并使用Open ID Connect进行覆盖,OAuth 2有不少选择,Open ID虽然限制了选择但也指导出最佳实践。
2)仔细考虑应用程序ID如何与用户身份相关联。
3)从最普遍的意义上考虑API安全性,以减小入侵企图。能够采起分发安全实施的方法。默认状况下,API管理专一于提供API网关,而API网关应该专一于流量的身份验证和受权。建议采用多层方法,并在Apache Mod Security的单独层中包含Web应用防火墙。
部署API有许多重要元素,包括身份验证,保护/可用性和货币化。可是若是不使用API,其中许多都可有可无。易于使用和成功完成用例是被使用的关键。咱们的集成平台使API易于使用。
经过咱们的应用程序链接器,咱们能够简化许多API的使用。后端
API中的最后一个字母是“界面”,所以明肯定义该界面如何工做是十分重要的。客户如何使用你的API,以及开发人员如何将这些API推向市场,你须要提早作出一些重要的架构决策。随着API数量的增加,保持命名和数据格式的一致性变得很重要。当你提供5-10个API时,这并非什么大问题,可是当数量超过100时,你可能有多我的(或多个团队)在不一样的时间段建立它们,做为不一样产品的一部分引入等等,让全部团队轻松了解并执行现有规范相当重要。若是这些规范不统一且难以阅读,那它必定会致使问题。api
具备如下四个主要元素:安全
1.API生命周期管理,提供管理API整个生命周期的能力,从API的设计、开发、发布和管理(包括维护和版本控制),从而容许公司经过撰写创新解决方案来加速创新,提升开发效率,促进企业数据的更好安全性,并容许用户轻松发现和使用API。
2. API网关,API网关充当一组API的入口点。使用API网关的好处是为每一个客户端提供最佳API,减小客户端须要进行的请求数量并实施适当的安全性和控制。
3.文件,Developer Portal是提升API采用率和粘性的关键。这是开发人员学习和使用API的第一点,也是开发人员了解身份验证/受权机制的地方。此外,他们还将了解哪些API可供使用,并利用每一个API请求的描述和示例。
4. API分析/监控,API分析和监控可帮助了解和理解其API的使用状况,从而提供有关各类API使用的看法。或者,开发者能够强制执行API配额,限制和API流量,以阻止/限制与你的业务目标不一致的使用。
在国内的API接口管理工具中,能完整实现API管理全流程而且体验较好的平台和工具就是 EOLINKER了,包括接口文档编辑、API测试、自动化测试和API监控和网关等功能,能体验到完整的API研发方案。而国外的诸如POSTMAN、Swagger功能也是强大,可是前者注重测试,后者注重接口管理,可能并不全面,并且全英的语言对国人也不是很友好。所以有需求或者感兴趣能够各自了解下EOLINKER、POSTMAN、Swagger。架构
在选择API管理解决方案时,最好的建议是始终保持关系简单,模块化,强独立性并与API生命周期中的其余模块分离,并保持业务参与度有限,使得能够在没有冗长合同的状况下不断使用成长。API生命周期中的每一阶段都应该反映API的理念,并保持小巧,分离,专一作好该阶段目标。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~