构建一个saas平台,在满足高性能和可伸缩的条件下,还需要着力保障用户数据的高度安全,这主要体现在以下三个方面:
1多租户数据隔离:多租户架构是saas软件的一个重要评定标准,如何对各个租户的数据进行识别,分割和存储需要在效费比,安全性和性能上取得一个平衡。
2数据备份与恢复:由于各租户订阅服务的组合不同,使用软件的时间段也不尽相同,对不同租户的数据进行备份和恢复的难度也相当大。另外,在操作其中一个租户数据时,需要保障其他所有租户的数据不会受到影响。在发生系统故障时,还需要及时恢复租户数据,面对庞大的数据量,数据恢复的复杂度和难度都比单体应用高很多。
3数据入站和出站校验:saas软件允许用户在任何地点通过浏览器获取服务,这就要求saas软件在数据传输,用户输入,系统输出等环节有着更高的安全性要求。相比于单体架构的应用程序,需要更高级别的安全传输加密/解密手段,更细粒度的用户认证和鉴权措施。另外,对用户的日志的收集,追踪和审计工作比单体软件更难。
保护存储在saas平台中的数据安全,需要仔细的分析平台中每一个业务流程,细化权限下放的粒度,严格把控访问接入设置以及数据的存储规则。即便如此,由于saas系统通常需要面对比单体架构软件更为庞大的数据量,且业务流程更为复杂,更新周期相对较短,因此如何确保存储在saas平台中的数据不易被破坏或者泄露是一个永久存在的工作。
