.

扪心自问,我们真的还需要IDbbS吗

01向云而生,IAM到IDaaS

IAM是“IdentityandAccessManagement”的缩写,即“身份识别与访问管理”。IAM是一套通过全面建立和维护数字身份,并提供有效地、安全地IT资源访问的业务流程和管理手段,从而实现组织信息资产统一的身份认证、身份授权和身份数据的集中管理与审计。

通俗地讲:IAM是让合适的人在恰当的时间通过统一的方式访问授权的信息资产,提供集中式的数字身份管理、认证、授权、审计的平台。

我们为什么还需要IDaaS?是因为传统的IAM有几点不足:

1)运营能力弱,传统IAM账号中心的运营能力较弱,难以满足大型组织在业务方面的需求,例如,筛选出六个月内未登录过的用户,并向他们发送营销短信;或找到那些高频使用的用户并交由客户经理转化商机。

2)缺乏伸缩性和扩展性,当企业的用户量不断上升时,用户系统承载的压力也会不断增加,传统的IAM主要靠堆积服务器和设置负载均衡来优化,但登录失败的次数总是随着用户量的增长而增长,这对企业和用户来说都是灾难。

3)运维费用高,大多数IAM专家难以雇佣并且费用高昂。而且当企业计划将内部员工训练成专家时,他们面临着将训练好的员工流失到咨询公司或竞争对手那边。

4)安全性欠佳,数据资产正在逐渐超越实体资产成为企业最有价值的核心。而针对数据资产的盗窃和攻击也呈不断上升趋势。传统的IAM在本地构建,难以保障混合云环境下的企业安全,权限管理颗粒度较粗,访问控制策略单一。

5)难以更新换代,大多数企业的IAM系统需要消耗巨大的人力物力去更新换代,而当企业耗尽千辛万苦将系统更新好了之后,市面上又出现了新的技术和系统。

IDaaS是在IAM基础上加上了云计算,相比IAM增加很多优势:

多种认证与访问控制策略、灵活高效;基于云原生架构、天然适应,海量数据存储;多维度保障数据安全;在IAM的基础上实现全面拓展。02Authing就是身份云

云计算有IaaS、PaaS和SaaS三层。

Authing的能力是一种可复用的身份基础设施,是以身份作为基础设施的一种来看待我们这个产品。

从云计算角度看IDaaS,Authing更多是PaaS和SaaS之上的一层,面向应用和用户侧。近年来联网的设备爆炸性增长,企业级的数据量也在增长,企业所用到的应用也在增长,我们是在这之上提供了统一的组件,它包含登录、注册、身份鉴权、用户交互这些功能,在PaaS和IaaS之上SaaS层提供了云的统一身份管理解决方案。

软件发展初期,“身份是软件一部分”的方案由于成本和复杂性的限制。如今,我们使用Facebook的社交账户去登录其他平台。未来我们希望看到通过Authing这种统一的身份平台去连接任何组织和任何应用。

「ECUGMeetup第2期」活动中,AuthingCTO尚斯年提到,我们面对客户有不同的交付环境,私有云、混合云、公有云,我们是如何交付我们的产品?在这之上我们提出了“云中立”的概念,我们的产品交付在用户任何云环境上。

比如这个客户只30个人,没有必要太复杂架构,在我们平台一个SQLite就可以跑起来。如果这个用户是-人的规模,需要一定可靠性、安全性的保障。

未来必须要有个统一的或者中心化的平台来解决所有身份问题,这同样也是我们的愿景。Authing作为一个通用平台,既能支持云应用、IoT应用;也能支持设备、私有云平台以及不同的组织;不仅如此,我们还能支持统一的面向私有云、公有云、混合云身份解决方案。

私有化方案这一点上,我们可以使用开源组建进行替换。我们开发者用户或者中小企业说没有必要私有化部署,直接用公有云平台,我们是在公有云之上提供公有云的解决方案和组件,这些东西都是可以替换的,我们做一套适配层Adapter,可以在任何云平台上部署我们的产品。我们的产品已经部署在腾讯云、阿里云、AWS、Google和用户的私有云上。

Authing在公有云上也有一套高可用的架构设计,这也是比较经典的一套,就是多Region的概念。

03面向服务的认证与授权

在微服务架构,尤其云原生倡导微服务时,如何进行服务治理?服务之间是如何完成认证和授权的?有没有统一的方案?

Authing基于OpenID的标准协议实现M2M的身份授权解决方案,M2M是Machine-to-Machine的缩写,指的是服务之间的认证与授权。

举个简单的例子,如果你是个外包商,需要将业务API提供给业务方,几个外包商给客户开发一个大屏的数据展示,你希望将某些非核心的API访问授权给外包商,外包商完成非核心部分应用开发需要授权,过程中不需要用户参与,只需要确定来访者是哪些外包商以及哪些接口。

授权就像左图的服务A调用服务B和服务C,B允许服务A调用时,有让服务A调用服务B的权限,C没有这样的权限。我们发现这种模式有一个问题,就是对代码有侵入性和耦合性,像服务B时、服务C有个专门认证模块,去判断服务A是否能调用,这些与业务无关的认证模块很有必要,我们可以在中间加一个统一的中间件Authing,所有的认证控制都是通过Authing。

04开发者友好的身份云

我们做身份云平台之中非常


转载请注明:http://www.abachildren.com/xgyy/7620.html