将近一年多没有更新博客和自己的订阅号。除了本身有点懒之外,也有幸在上半年花了一些时间考出了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人员做守门员,因为不同的专业角度所看到的问题不尽相同,切不可保有侥幸心理。

选择SaaS平台的那些事的更多相关文章

  1. 记一次构建SaaS平台项目失败后的反思(收集的客户需求太少,且没有区分重点,闭门造车。技术演变要渐进)

    记一次构建SaaS平台项目失败后的反思 前言: 笔者从2017年起开始着手将公司现有的软件系统改造成多租户模式,以降低整个系统的运营成本.但最后这个项目以失败告终.今天,我将对这个SaaS项目是如何走 ...

  2. 构建安全可靠的微服务 | Nacos 在颜铺 SaaS 平台的应用实践

    作者 | 殷铭  颜铺科技架构师 本文整理自架构师成长系列 3 月 19 日直播课程. 关注"阿里巴巴云原生"公众号,回复 "319",即可获取对应直播回放链接 ...

  3. SaaS平台是什么,为什么字节、腾讯等大厂都在抢相关人才

    SaaS平台很多人可能没听说是什么,但是从事TO  B公司的员工来说,SaaS平台应该都有所耳闻.从2016年开始,腾讯开始发力TO B算起,到处在挖TO B公司的骨干人才,而熟悉SaaS平台的人才竞 ...

  4. 多租户SaaS平台的数据库方案

    1.1 多租户是什么 多租户技术(Multi-TenancyTechnology)又称多重租赁技术:是一种软件架构技术,是实现如何在多用户环境下 (此处的多用户一般是面向企业用户)共用相同的系统或程序 ...

  5. 金融SaaS平台之构思篇

    背景介绍 从事过金融服务行业的同学们都知道,业务系统是非常之多的,核心的就有估值.交易.TA.资讯系统,其他类似产品生命周期系统.投后分析系统等待,而且各个业务系统的逻辑非常之复杂,所以一般金融机构都 ...

  6. Spring Boot实现SAAS平台的基本思路

    一.SAAS是什么 SaaS是Software-as-a-service(软件即服务)它是一种通过Internet提供软件的模式,厂商将应用软件统一部署在自己的服务器 上,客户可以根据自己实际需求,通 ...

  7. 为中小企业打造的数字化采购SaaS平台的特点与必要性

    ​激烈的市场竞争.复杂的国际环境.以及疫情的常态化将企业的供应链推向风口浪尖.供应链管理(SCM, Supply Chain Management).供应商关系管理(SRM,Supplier Rela ...

  8. 搭建openstf平台的那些事

    最近老板建议秀下肌肉,搭建一个STF android 真机测试平台,记录一下坑. 1. stf 是node开发的,通过npm即可安静,依赖的数据库是rethinkdb, 如果搭配appium效果更佳, ...

  9. 基于SaaS平台的iHRM项目的前端项目介绍

    1.下载安装node.js 访问https://nodejs.org/en/,然后下载安装即可 2. 查看是否安装成功 打开cmd命令行,输入node -v 如果出现对应的版本号,即为安装成功 3.从 ...

随机推荐

  1. 第2课 - Hello, DTOS!

    第2课 - Hello, DTOS! 1. 主引导程序 主引导程序是软件还是固件?如果是软件,那么由谁开发?如何开发? (1)上一节说到了固件和软件的区别.由于主引导程序没有在出厂前固化到硬件中,因此 ...

  2. yml文件

    博文内容来自https://blog.csdn.net/chang_li/article/details/78667652 项目里用到yml文件作为配置文件,了解下其实挺简单,它的基本语法如下 大小写 ...

  3. 4.Scala语法02 - 函数

  4. json与字典的相互转化

    json格式初学者如果在编辑器中自己编写一个json格式,可能会出错:虽然json格式本质上也是字符串,但是json格式要求,要使用双引号将key和value括起来: 如果要将上面的字符串格式和jso ...

  5. 利用Z.Expressions.Eval表达式求值

    Z.Expression.Eval是一个开源的(OpenSource),可扩展的(Extensible),超轻量级(Super lightweight)的公式化语言解析执行工具包. 使用方法:1.从n ...

  6. 刷题[RoarCTF 2019]Easy Java

    前置知识 WEB-INF/web.xml泄露 java web工程目录结构 Servlet访问URL映射配置 由于客户端是通过URL地址访问Web服务器中的资源,所以Servlet程序若想被外界访问, ...

  7. 安装Angular CLI开发工具

    目前,无论你使用什么前端框架,都必然要用到NodeJS工具,Angular也不例外,与其他框架不同的是,Angular一开始就使用"全家桶"式的设计思路,因此@angular/cl ...

  8. 智慧组织(SO)如何敏捷构建?

    人类社会正处于千年未有之变局的关键时刻--互联网.大数据.AI和实体经济深度融合,数据正在重新定义世界并重构财富体系."新旧交织.破立并存",数字经济方兴未艾,传统势力逐步淡出.各 ...

  9. 深入解析Vue里函数的调用顺序介绍

    今天为大家分享一篇对vue里函数的调用顺序介绍,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下.如有不足之处,欢迎批评指正. method用来定义方法的,比如你@click=& ...

  10. GZip 压缩解压 工具类 [ GZipUtil ]

    片段 1 片段 2 pom.xml <dependency> <groupId>commons-codec</groupId> <artifactId> ...