选择SaaS平台的那些事

将近一年多没有更新博客和自己的订阅号。除了本身有点懒之外,也有幸在上半年花了一些时间考出了CISSP。最近也在研究云平台相关的一些课题。

写这篇文章本身是因为在工作中经常有IT乃至业务的同事会问及企业在选择SaaS平台时的考量以及如何保证其符合企业安全体系。因而我就以自己有限的认知提供一些有限的见解,以供参考。

在这里首先简单介绍一下什么是SaaS。云的服务模式目前主要分为三种(SPI):基础架构即服务(IaaS),平台即服务(PaaS)以及软件即服务。其中SaaS平台供应商将应用软件统一部署在自己的服务器上,客户可以根据工作实际需求,通过互联网向厂商定购所需的应用软件服务,按定购的服务多少和时间长短向厂商支付费用,并通过互联网获得Saas平台供应商提供的服务。

从云平台的责任矩阵角度来解释就是你只需要负责使用供应商提供的公网应用平台,剩下的和都交给供应商负责就行。当然账号,客户端安全以及数据的分类管理还是要客户自己负责的。

 

 

那我们就要问第一个问题就是为什么我们要选择SaaS?

通俗的一些好处往往是敏捷性,弹性以及潜在的经济性。最根本的可能往往是企业可以将更多的资源专注在业务层而不是底层的技术。虽然每个公司的业务模式不尽相同,但大多数都会根据业务的需求可以将非敏感非核心的业务需求通过SaaS的方式实现以节省出大量IT运维方面的成本(当然也有少部分把核心应用如ERP搬上云的)。Office 365就是最好的一个例子,你再也不需花大量的硬件软件人力成本去维护一套exchange,sharepoint或者Skype for business 系统,只需要按用户数以及需求购买相对应的license即可。让专业的供应商做专业的事。

 

其次从架构的角度来看选择SaaS至少需要考虑以下几个方面:

1. 和现有应用的整合是否有问题。比如数据传输,接口调用,以及和企业IAM的整合。

2.平台成熟度和业务功能性是否满足业务需求

3.管理的流程是否符合企业自身要求

4.收费模式的确认

当然可能还有其他因素,企业可以根据自身情况有更多其他的考量。

 

那从安全方面SaaS平台会有那些风险呢?

可能有人会觉得SaaS的安全不是都由供应商全权负责的么?的确如此,但是有人的地方就有风险,工作可以授权或者外包,但责任不行。一旦你使用的平台出现了任何问题,受伤的往往都是公司自己的业务。

以个人的经验来看SaaS的平台往往经常会遇到以下一些问题和风险:

1.数据主权不清。曾有见过公司用供应商平台前连数据所有权都不确认,结果终止合同时极为被动痛苦。

2. 供应商技术人员水平低,平台安全性差,没有BCM。由于平台本身是不透明的,即便安全做的很糟糕,云用户本身也无法察觉。

3 .供应商财务状况不稳定,出现业务变动,跑路或者公司倒闭。也能使得云用户极为被动,可能事后换平台的成本反而还不如当初自己直接开发一套应用部署。

4. 平台锁定,迁移成本高。然后被无良供应商各种牵着鼻子走。

5. 数据生命周期管理-比如在合同终止时,没有按要求清除用户数据。

 

 

既然SaaS本身不透明性决定了用户只能获得平台有限的信息,因此作为SaaS的用户,企业必须谨慎选择云平台,并在依靠一些治理手段对云供应商做一些限制。

总体来说可以使用评估,合规审计,合同等治理方式

1. 合同—-合同是将治理扩展业务合作伙伴和服务提供者的重要工具,把一切落在条款上保证SLA和承诺不会违约的唯一方式。其中至少包括或定义数据主权,数据生命周期(数据删除),隐私适用规则,SLA要求和惩罚措施,责任划分,对平台审计权,由于云平台责任导致的安全事故所要做的财务赔偿等。一般来说小型SaaS提供商的合同谈判可行性更高,但是往往他们无法在复杂环境下满足或超过客户治理和风险管理的要求,最重要的是国内小型互联网公司非常容易亏损跑路。成熟的SaaS供应商往往有自己的合同模板,并且谈判性可能不高。合同的洽谈是一个很复杂的过程,一定要在法务和采购的共同协助下完成此事。

2. 合规报告—主要通过第三方对云平台的安全性进行认证或者合规的报告。一般来说国内最近比较多的等保(SaaS考虑至少三级),国际上的ISO 27001(基础)+ISO 27017(云信息安全), STAR(中国版C-STAR),通用准则(CC),PCI-DSS, HIPPA, SSAE-16, SOC 等。企业本身也可以对平台进行审计,但是这项权限必须在合同内得以体现。一般来说都是通过第三方操作,大的SaaS供应商本身比较少愿意让客户直接审计。

3. 评估—-主要包括一些同行反馈,服务水平,财务水平(考虑跑路的可能性),平台的安全措施,第三方认证,数据导出的可能性(API或者供应商协助),平台的可迁移性(避免供应商过度锁定)。评估的过程也要包括合同以及合规的内容。

 

一般来说企业本身必须要有具体的风险管理和风险接收/缓解的方法,以评估每个解决方案的风险。最后就是剩余风险的处理。由于风险的容忍度根据数据本身的价值和企业的风险偏好都有关,因此具体情况具体分析。

最后强调几个我认为可能比较容易容易忽视的点:

1.尽可能的要考虑平台可迁移性或者可移植性。即便你选择了一个比较靠谱的SaaS提供商,也不能排除由于企业自身内部出现的变化而调整整个企业架构,从而主动更换对应的SaaS平台。

2.必须要有业务连续性方案和流程。虽然有SLA合同的保证但是针对重要的SaaS应用,企业自身还有要相对应的BCM方案。比如定期的将SaaS数据导出自己的内部数据平台,SaaS故障时用其他备用方案推进日常业务流程。

3.合同上的条款尽可能详细,丑话一定要说在前。合同在使用SaaS平台过程中保护企业自身利益最好且唯一有效的工具。

 

总的来说,业务选择上SaaS就像是把孩子交给了寄宿学校。在推进业务上可以根据需要八仙过海各显神通,有时候甚至可以激进一些。但是在安全上则不能当一个“莽夫”,IT部门要利用自己的专业知识帮业务规避风险,深入业务并保驾护航。业务部门在许多控制节点上也必须让专业的IT人员做守门员,因为不同的专业角度所看到的问题不尽相同,切不可保有侥幸心理。

 

 

 

Tags: