以上3种API的安全机制都是基于在不同的业务场景中使用,通俗来讲,就是谁可以访问这个接口,通过什么样的方式访问,访问的权限范围有哪些。差异在于不同安全机制的成本和身份验证的方式不同(对应的要求不同)。
举个简单例子,你想进一个相对不那么封闭的场所,只需要和里面认识的人打个招呼,就会放你进去。但是像坐飞机这样对身份识别要求比较高的“场所”,需要你有相关的证件(身份公证)才能进入,以及你登机之后由于你的身份是乘客你只能在客舱,是不能进入驾驶舱操纵飞机。
六、API接口速率限制我们要考虑的最后一种安全机制是用来防御恶意或偶然的DoS攻击,确保可用性的机制。DoS攻击的原理是发送大量合法请求,导致API需要的资源被耗尽。这些资源包括CPU时间、内存和磁盘使用率、电源等。
通过向API中注入大量的虚假请求,这些资源将全部被用于服务这些请求,而无暇顾及其他。除了发送大量的请求外,攻击者还可能发送消耗大量内存的超大请求,或者发送慢速请求,这些都会导致资源长时间被占用,并且恶意用户不需要花费太多精力。
抵御这些攻击的关键是要能识别出一个客户端(或一组客户端)使用的资源(时间、内存、连接数等)超过了它的合理份额。通过限制用户可使用的资源,就可以降低这种攻击风险。一旦用户通过身份验证,应用程序就可以强制为用户指定配额(quota)资源,限制他们可以执行的操作。
比如,你可以限制每个用户每小时只能发送一定数量的API请求,防止他们发送大量的请求来冲击系统。采用计费的方式来限制用户请求,既有商业目的,也有安全方面的考量。
七、API接口文档前面讲到的关于接口的请求方式、类型、原理、安全机制等,产品经理能够简单了解一些就可以满足日常工作中的需要。接口文档是产品经理日常工作中经常会使用到的,特别是做开放平台或B端的产品经理,需要经常的看和写接口文档。
那如何看接口文档呢?首先,看接口文档的场景一般是自身业务模块需要获取外部的数据,但又不想自己重新开发,寻找外部已经实现的有开放能力的供应商(包含企业内部的)。比如淘宝开放平台、微信开放平台等等,需要获取淘宝订单或者使用微信支付,不需要自己开发对应的工具,可以调用对方的开放接口。
接口文档一般包含三个部分,即接口说明(签名获取方法、访问频率和并发、错误码)、接口参数(包括请求参数和返回参数)以及接口代码示例。
其次,是要明确自身的业务需求,需要通过外部接口获取什么能力,具体到需要什么参数。去供应商的开放平台找到对应的接口,查看接口返回参数是否有你想要的信息,注意一些用户个人信息参数都是加密的,还需要通过解密接口获取。
最后,如果在接口满足你诉求的之后,再去看开放平台需要获取这些接口的要求是什么,以及接口开放的权限范围,看下自己是否满足这些要求。如果不去看的话,可能会白白浪费很多调研时间。
写接口文档,接口文档的查看对象一般是研发和测试人员,所以大致内容就包括接口的使用场景、接口请求方式、错误码、接口说明等几个部分。其中接口说明分为请求参数和返回参数,请求参数包含:英文字段、字段类型、示例值、是否必填、字段说明。返回参数包含:英文字段、字段类型、示例值、字段说明。如下图:
八、总结与展望API接口是数字化时代的重要基础设施之一,它为不同应用程序之间的集成和交互提供了强大的支持和便利。未来随着人工智能、物联网等新技术的发展和应用,API接口的作用将会越来越重要。同时,为了更好地满足用户需求和应对安全威胁,API接口的设计和使用也将面临更多的挑战和机遇。因此,我们需要不断地学习和探索新的技术和方法,以推动API接口的发展和应用。
本文由 @Glee 原创发布于人人都是产品经理,未经许可,禁止转载
题图来自 Unsplash,基于 CC0 协议
该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。