Appsflyer API token 数据泄露风险 (人为因素)
通过API token可以拿到AF账号的大部分数据,定时刷新push api的token,保证token不被泄露,避免数据被窃取的风险!
API token + Push API /pull api的用处:
主要是用于自己开发内部的BI,可以通过Appsflyer的push api或者pull API,直接拿到自己APP的大部分安装用户的设备信息,渠道来源等,也可以直接把面板的数据抓回去再按照自己的需求重新做一个dashboard。通过Push API 或者Pull API 拿书的时候都会需要使用到API token。
Api token 这个是在AF的admin权限下,点击个人信息出来的安全中心中。API token分1.0token和2.0token,使用1.0拿到的信息比2.0的少一些,但是1.0也基本能完成大家绝大部分的需求,当初我们自己在做的时候是有一部分数据必须通过2.0实现,但是如果大家只是想做个简单的内部BI,实现一些定制化的数据分析,1.0的token足够,可以让技术去评估你的需求是否有必要用到2.0。
API token的使用:
在AF的后台菜单中直接找到API access,进去可以配置push api的接口或者如何用Pull api的方法,Push API可以配置多个,但是我记得是只能拿到实时的数据,不能拿到历史数据,想要历史数据是在raw data里面可以下载到90天(或则更短),至于里面要配置的POST方式还是GET方式,以及配置要多少字段,以及多少event这些也都直接给技术那边去研究就好。Pull api是可以把一些面板的数据直接再抓下来自己做个自定义dashboard,包含历史的数据。
这些细节优化同学知道有这么个事情就好,毕竟对接push api肯定会有自己的服务端同学和数据同学能把这些搞明白,具体文档直接Google搜索Appsflyer Push API,进官方网站查询细节对照解决即可。
最大的风险:
拿到API token之后可以直接拿到整个AF账号下的所有数据,通过API token知道包名就能按照pull api接口把很多数据抓下来。当有技术离职带着你的API token走了,随时都可以再把你数据抓下来分析,或者干脆有技术对接的时候直接在群里面发Api token。
如何规避风险:
定期刷新API token,尤其是有人离职之后,刷新token让原来的token失效后,自己把新的token加进去即可。
改进:
1,设置定期更新token的提醒(自己写一个工具提示更新),但是这个治标不治本,懒了还是不会去换。
2,AF开发限定IP访问,限定只有特定的IP地址可以访问请求api token,在安全中心设置,这样即便token被人知道,也无法直接使用。
关于Appsflyer的数据安全问题,其实不只是单纯的token泄露的问题,人员流动,离职后权限没处理的问题也很严重,尤其是在项目特别多的情况下,分配出去的权限没及时回收问题也非常严重。项目少的时候人员少还比较容易找到,项目多的时候经常出现,大家也不那么重视。