应用身份服务的客户痛点最开始都不痛(或无关紧要),随着企业不断的发展会越来越痛,越来越紧急。
为什么不痛,主要是因为没有业务应用或应用太少,员工也少,也就体现不出来问题。
从企业信息化说起
企业信息化的进程,也就是一场不断创建信息系统(业务应用)的过程。
剖析任何一个业务应用,会发现业务应用都是有两部分组成:业务与安全。如下图:
延伸:应用安全整体上包括网络安全,硬件安全,人员安全,身份安全。此文中的安全默认指身份安全。
- 安全整体上说包含两部分内容:认证与授权,具体来说有:登录/退出,密码管理,密码策略,账户权限,账户管理,操作审计等
- 业务是与企业管理,企业流程紧密关联的部分,如OA流程,报销流程等。
业务是一个应用最核心的功能,安全是必不可少,但又觉得像是额外的成本(不会直接产生价值),作为管理者往往对应用安全有一种“食之无味,弃之可惜”的感觉,甚是难受。业务与安全是一对相生相克的,对立统一的整体。若企业仅有一两个业务应用,安全部分变的只要有即可(一般企业中都有一个叫“信息技术部”或“IT部”的部门,这部门常处于冷落的边缘)。此时的安全是:有账号密码能登录即可,明文存储,大家相同的密码,相互可能借账号登录。
但“发展才是硬道理”,随着企业的发展,规模越来越大,信息化技术的不断提高,业务系统随之越来越多(企业邮箱,OA系统,报销系统,审批系统,门禁系统,ORM),遍地开花。如下图:
此时有多少套业务系统,也附带多少套安全需求(甚至安全需求几乎一样),此时的安全是:一个员工多个账户,入职需要给多系统增加账户,离职要删除多系统中账户(或者不删除忽略),IT管理人员天天做的最多的是帮大家重置密码或找回账号(IT变的有点重要但也没有多大业务价值)。
如果业务应用继续增加,员工数量继续增多,一些简单的事变得重复机械(如创建账户,重置密码)且乏味无聊。信息化走向何方,业务系统如何高效管理,减少重复建设等提上话题。
如何破局
深入去剖析企业信息化中的各类问题,会发现一些特点:
- 业务模型(或业务流程)很少或几乎不会重复建设(很多是业务的升级或流程优化,如使用更好的OA系统)
- 最苦恼或重复建设最多的是应用中的“安全”部分,通俗点讲就是每个应用都会搞一套登录/退出,账户管理等(不管乐意不乐意,新上一业务系统都得开发一次,有时也会想沿用已有的)
- 移动化办公发展要求内部网络开放到公网,物理局域网局限性越来越大(大部分的观点都是局域网内部网就是安全的),网络边界越来越模糊
如果说这是一道难题,那总有人去尝试解答,至于如何破局,各有特点:
- VPN通过代理(porxy)将内部业务系统暴露在公网,业务系统安全约等于VPN安全,问题是VPN支持的用户数量不能太大且对网络要求高
- 不少2E厂商将业务系统云化,直接部署在公网中,完全忽略传统的内部局域网(很多企业会觉得这一步太大,容易扯着蛋)
- 对于有IT开发能力的企业,自建或通过与2E厂商合作建设统一认证中心(或简称4A),在企业内部建立服务各业务系统(往往没解决移动办公)
- 。。。
应用身份服务如何解
应用身份服务(https://www.aliyun.com/product/idaas,简称IDaaS)如何解,在开始这话题之前我们先搞清楚一个基本概念----身份是什么?仔细想想身份到底是什么。
在企业中,一个员工是一个身份(好比一个人有一张身份证),这应该是有共识的;如果再深究,会进入一个深奥的哲学问题----如何证明我是我的(讲远了)。员工是身份的主体,但现实中身份需要一种方式体现出来,最常见的就是账号+密码(多个业务应用中有多个账号+密码,但实际上都是一个身份),再有就是授信的设备(如手机),更高级的方式就是生物特征,如指纹(最常见),脸庞(扫脸),虹膜等。
若有多个业务应用,那对应的身份就一个一个传递复制到应用中。
延伸:广义来说任何授信的主体或终端都可认为是身份来源。在物联网环境中,设备会更多代替人成为身份主体。
应用中确认身份的目的是解决信任,确保操作行为是授信的。
其次我们来聊聊应用,什么是应用?是指一个网站,一个CRM系统,一个OA系统?对,这些都是应用,但企业中的应用不仅仅是这些。IDaaS中的应用是指任何与企业运转需要的系统,设备或服务器等。具体来说包括以下几大类:
- WEB应用(最常见),一般指通过浏览器或H5进行访问操作的系统
- PC应用,指通过客户端安装在终端PC电脑上的软件
- 网络应用,企业网络需要的各类设备或终端,如WIFI路由器,AC控制器,VPN设备,堡垒机
- 移动设备应用,一般指通过手机访问的应用系统,也包括如智能机器人,打卡设备等
- 主机服务应用,主要指企业使用的主机服务器,云服务器等主要由运维人员操作的系统
IDaaS如何解,分以下几步尝试解答。
第一步是将安全与业务分离
将安全与业务分离,让懂业务的团队更关注业务,与安全相关的问题全交IDaaS来处理。
“闻道有先后,术业有专攻”。分离了安全与业务的应用,更关注与处理业务逻辑与业务优化等,当需要任何与安全相关的操作时(如:是否已登录,是否有权限),通过API(或集成SDK)与IDaaS进行通信,全全转交给IDaaS来处理。
延伸:或许分离这一步很多4A厂商也提供了此能力,对,IDaaS是要升级4A,比4A做的更好更强,但基础要先有4A的能力。
第二步建立统一的身份服务中心
对于企业来说,一个员工一个身份就足够了,当别处需要身份时,把已有的身份复制过去即可(而不是再让员工认证一次)。安全的第一步是确定身份的来源以及可信度,在IDaaS中,首先通过多渠道的方式(如扫码认证,证书登录,账号+密码登录,指纹登录)将用户身份传递给IDaaS,在身份授信的有效期内,当各业务系统需要身份鉴权时,都来将IDaaS的身份复制传递过去即可(此步骤一般通过SSO机制实现),从而达到“一次授信,多次使用”的目的。
IDaaS的统一的身份服务中,提供了以下主要的功能:
- 员工账户全生命周期管理(从入职到离职,包括账户创建,转岗,移动,禁用,删除等)
- 企业组织机构(部门)管理,以及多种数据导入/导出支持
- 多渠道的身份认证服务。提供几十种身份认证来源,如常用的钉钉扫码,微信扫码,支付宝认证,AD域认证,CA认证,并提供认证插件化机制可供企业定制扩展认证
- 增强的认证机制,基于当前国家等保要求等,提供二次认证,多因素安全检查等增强功能
第三步把各应用也管理起来
应用作为企业活动的主要载体,任何企业的活动(或业务)都离不开各类应用的支撑。IDaaS中把各应用集中进行管理,各种与业务应用相关的功能或操作都挂载在应用中,如下图:
- 通过单点登录,把身份复制到应用中,实现统一认证
- 通过权限管理,授权应用中的各操作行为是否合法,决定什么员工能访问什么应用
- 通过数据同步,将应用中必要数据(如账户数据)与IDaaS打通
- 通过行为分析,跟踪与审查应用中的每一个重要操作安全性
- 通过账户适配,将旧应用中账户与IDaaS账户进行关联
- 通过Radius支持,可广泛接入各类网络设备,如WIFI,VPN,将其身份统一到IDaaS
- 通过Tacacs+支持,将思科的各类设备身份统一到IDaaS管理
- 通过API服务,将各类应用能力对外开放,扩展适应范围
除以上功能外,IDaaS中还会对应用进行常规管理,包括应用创建/更新/启用/禁用/删除等。
扩展:应用的基本属性只需要应用ID,应用AK,应用LOGO等即可
第四步增加操作审计与行为追踪提供全方位的安全机制
传统的安全机制只需要一次认证成功,后续的操作都认为是安全的,除非退出或会话过期需要重新认证,但在互联网已经成熟发展的今天,是远远不够的,危险无处不在,安全不是一个点,而一个面,一个立体,要有纵深。不能仅认证一次即可,而是随时在一些重要的点(checkpoint)判断是否可信,是否合法。
IDaaS中引入用户和实体行为分析(简称UEBA)机制,在传统安全的基础上,通过机器学习与用户行为数据(主要指用户的操作审计日志,失败行为日志,终端设备信息等)结合,以数据驱动来对安全进行全方位的分析与提前预警,在用户操作过程中实时判断与检查行为,将可能存在的危险尽早发现并及时采取措施来制止或提供必要的二次认证来提升安全性。
通过UEBA能力输出,提供可视化系统安全评估分析,通过消息预警,行为阻断(如强制退出或弹出二次认证)等来实现全方位的安全。
延伸:UEBA当前还是一门新兴学科,处于高速发展中
第五步如何无缝对接或迁移业务系统到IDaaS中
企业信息化发展中最大的问题是重复建设,最不想的也是避免重复建设,如何在给企业解决当前痛点或已有痛点的基础上,避免未来的重复建设,也是IDaaS团队始终关注并尝试去解决的重点问题之一。以信息化发展的历史角度来看,我们尝试把业务应用划分为:
- 历史应用:企业已经上线使用的业务应用,正在为企业创造价值
- 建设中应用:正在进行开发或测试中的应用,即将为企业创建价值
- 未来应用:正在规划或尚未规划的未来随企业发展新加的应用,价值未明
在作以上划分后,我们需要在IDaaS中提供一种既兼顾历史,又着眼未来,还能服务现在的功能机制,来使企业无缝对接或迁移到IDaaS产品中,我们尝试这样解:
- 对于历史应用:我们不尝试去修改或重新开发集成到IDaaS中,而是保留现状,通过应用已有的能力(如已有的API或集成文档),在IDaaS中使用应用插件机制将历史应用接入,实现身份统一(使用SSO与账户适配)到IDaaS中;若应用无任何能力,刚通过登录代填,模拟WEB登录或PC登录(使用IDPAgent插件)等实现身份统一到IDaaS中;若需要将数据同步到IDaaS中,我们提供ETL,Connector等数据中间件,将已有应用数据与IDaaS打通,做到应用统一管理。
延伸:历史应用我们分析主要包括两类:WEB应用与PC应用
- 对于建设中的应用:若已经部署IDaaS产品(支持私有云部署),通过IDaaS开发者服务(使用开发者角色账户登录),应用插件化机制以及对外提供的API接口,将建设中的应用统一接入到IDaaS产品中,提供所有业务应用能力(详见第三步内容);若尚未部署IDaaS产品,则建议直接申请使用线上IDaaS产品,与建设中的应用集成(线上IDaaS与线下IDaaS能力一样)。
- 对于未来应用:当已经有IDaaS产品后,通过开发者服务或API给新业务应用提供统一安全接入标准(包括相关文档,集成SDK等),使未来应用更关注业务,将安全相关完全交由IDaaS打理,重用已有的各项能力,减少重复建设。
第六步我们也在努力探索中
欢迎留言一起共创探讨。
欢迎进入IDaaS世界 https://www.aliyun.com/product/idaas