3月9日,阿里云宣布 IDaaS 重磅升级,在发布会上,阿里云高级技术专家鸿逸为大家介绍了新版IDaaS 在技术上,如何助力企业以极低研发成本,轻松拥有安全且高级的企业身份管理服务。详细分享内容如下:
一、企业身份服务
企业身份服务的基本组成包含账户管理、认证管理、授权管理和审计管理。
1.账户管理。企业自研企业身份服务,需要保证账户能进行集中统一管理。它需要提供以下几个方面的能力:
① 员工账户生命周期管理:需要对员工的账户生命周期做统一管理,员工从入职到离职全周期,包括员工的账号泄露、密码安全保护等。
② 企业目录服务对接与集成:受限于目前国内现状,大部分的企业无法在原有的系统上自研账户管理中心,而是选择采购第三方服务,常见的有 AD/LDAP 、钉钉、企业微信、飞书等。选择自研企业身份服务,则需要将账户管理中心于它们做对接与集成。
③ 账户数据的流通与业务应用:实现账户统一管理后,账户需要在企业的业务系统里被应用。每个业务系统都需要与企业身份服务的账户管理做集成和对接,需要保证账户的业务数据能够流通,使业务运行。
2.认证管理。保证企业所有业务系统的安全性,它也是最重要的一部分。所有的业务系统最终都需要通过企业身份服务做认证管理,以知晓员工是不是合法员工、员工是谁等等。它需要提供以下几个基本能力:
① 员工单点登录的身份认证:提供身份认证服务,用于认证员工是否是合法员工。
② MFA 多因素认证支持:为了应对员工密码泄露或遭遇黑客暴力攻击,需要启用 MFA多因素认证,以保证单点登录身份认证以及员工进入到企业身份服务的安全性。在安全等级要求比较高的场景下,甚至可能需要提供生物识别的认证能力。
③ 业务系统单点登录集成:需要提供业务系统的单点登录对接能力,以保证员工身份的合法传输。
3.授权管理。它需要提供以下几个基本能力:
① 支持集中式的授权管理。
② 能够精准地控制所有业务系统能被哪些员工访问,以及哪些员工能访问哪些业务系统。
③ 应用系统功能控制和集成。
4.审计管理。它需要提供以下几个基本能力:
① 员工行为审计:员工在企业的业务流转中,需要对员工的行为进行审计,比如他是如何登录企业身份服务的,以及他通过企业身份服务登录之后访问了哪些业务系统等。
② 管理员操作审计:需要审计管理员对企业身份服务做哪些管理操作,以及他的操作有没有触发员工行为的安全泄露。
③ 等保合规分析报表:发现企业的身份服务以及业务系统的一些访问风险。
自研企业身份服务,将面对诸多技术挑战,其中主要的挑战有以下几个方面:
第一, 标准多、复杂。
很多企业的业务形态多元化,它们可能有自研的业务系统,也可能有采购三方SaaS 化服务或云产品和云厂商服务。企业自研业务系统可以统一用一套标准去实现 SSO 登录,但是三方 SaaS 化服务肯定有自己的标准,因此企业需要适配多种标准。
与此同时,企业大概率不会自己建账户服务中心,而是选择采购或集成第三方的用户目录服务,因此也需要适配和对接不同的目录服务。此外,还需要提供多种 MFA 去满足不同用户的访问诉求以及不同安全等级的保护诉求。
综上,企业需要实现多种标准,对接很多不同的基础服务,这会给业务带来极高的复杂性。
第二, 集成能力、可扩展。
如何将三方服务很好地集成进自研系统?随着业务的发展,业务系统对企业身份服务的开放诉求和扩展诉求会越来越高,也不可避免地会加大企业身份服务建设的技术挑战和难度。此外,云计算逐渐普及,企业在大量采购云服务。
微服务技术的发展使得企业的业务系统越来越的原子化,会采用多样的技术栈和开发语言。因此,部分企业身份服务对外提供扩展能力的时候,需要支持多种业务场景、多种开发大语言,这也会为扩展带来很大的挑战。
第三,缺乏防护、安全隐患。
疫情之下,远程办公越来越普及,企业的网络边界也变得越来越模糊,不再是为企业内网筑起防火墙就能满足安全诉求。远程办公会将企业身份服务暴露于公网,极易面临黑客的安全攻击。
二、阿里云 IDaaS 技术实践
阿里云 IDaaS 技术架构分为两部分: IDaaS 身份服务的管理员视角和 IDaaS 身份服务的企业员工使用视角。管理侧主要在阿里云控制台使用;针对员工侧,IDaaS 提供了员工的统一登录门户网站。两个入口统一集成于阿里云的接入网关。阿里云统一接入网关能力能够提供全球加速和安全保护,满足企业客户的安全访问。
阿里云 OpenAPI 以 RAM 体系做身份访问控制, IDaaS DevelopAPI 主要面向员工侧的访问以及后续业务系统的集成。此部分参考了 OAuth 2.0 标准,基于 OAuth 2.0 迅速安全访问控制和授权。
开放平台对外开放了三个能力:将所有能力以 API 的模式开放给客户,满足客户在管理员侧和应用开发者视角的集成;提供了事件订阅和一些核心流程的Hook机制,满足业务系统事件的及时响应诉求,以及核心流程的扩展诉求。
核心能力提供了企业服务的基本诉求:账户认证、授权和审计。同时提供登录的统一中心,预置集成大量的身份提供方,包括应用开发者管理的应用管理平台。此外还提供了同步中心,满足生命账号的统一流转。
基础能力在单点登录的时候,预置了 OIDC/SAML 以及其他的业界标准,满足用户的业务系统与三方 SaaS 化服务快速对接。授权控制部分参考了 OAuth 2.0,便于用户理解和了解对应的集成。账号同步部分,会在未来的版本里对接 schema 标准协议,方便三方服务快速同步账户。身份提供方部分内置了 AD 、钉钉、企业微信和飞书等常见业务,方便用户快速集成。此外,还内置了表达式引擎,提供了大量的函数库满足用户的灵活映射。
架构的最下层是云底座。阿里云的云服务能够提供弹性伸缩的能力来满足小量客户和大量客户,同时伴随着业务规模增长,能够平滑地做扩容和升级,对用户业务无感知。还提供了多地容灾中心满足客户的 SLA 保证。并利用阿里云沉淀多年的风控大脑,满足业务的风控实时检测和安全防护。最后利用大量的基础云服务提高阿里云 IDaaS 的基础服务保障。
企业身份服务公开到公网后会面临很多安全挑战,因此 IDaaS 着重进行了一些安全设计和思考,主要分为如下三个部分:
1. 默认安全。希望用户在使用 IDaaS 的时候默认即使安全的,用户不需要在安全上花更多的思考和经理。
① 提供默认网络防护:利用阿里云的统一接入基础网关,提供 Dedos 和 WAF 防护,保障用户抵御 4 层和 7 层的网络攻击。
② 提供默认暴力破解防护:利用到阿里云的统一接入防护能力以及风控大脑能力,为用户提供人机防护识别、账密暴力扫描破解,保证用户的数据安全和账号安全。
③ 提供默认安全模式:所有内置的、需要感知的安全配置能力,都是默认的。用户修改的时候,会对其进行标注和风险提示。
2. 安全控制。企业身份服务统一集中管理后,需要灵活授权和控制。
① 灵活授权:在管理员视角对接了 RAM 授权访问控制能力,因此 RAM 的授权控制用户能做到什么样的粒度,就能提供到什么样的粒度。针对开发者提供了 OAuth 2.0,实现了精准的授权控制,针对管理员能控制和企业开发者能够操作哪些 API 能力以及对应的数据权限范围,都能精实现准控制。
② 灵活认证强度:内置了常见的认证能力,比如短信、邮件、动态令牌,后续还会提供生物识别。提供大量的认证能力后,企业管理员可以基于自己的业务诉求灵活控制需要哪种能力以及为员工提供哪种能力,满足不同的安全诉求和不同的体验诉求。
③ 当前版本已经内置了数据密钥,靠加密机去做硬件保护,满足用户业务数据的安全保护和加密诉求。在未来的版本,为了保证用户数据安全的可控性,也会支持 BYOK 让用户能够自定义数据加密密钥,对自己再 IDaaS 上所有的业务数据做加密和管理。业务数据加密之后,一旦自定义密钥禁用或被取消,数据就无法被解开,这能够保证业务数据不被泄露。
3. 智能安全。一旦涉及到安全,很可能会牺牲用户的体验。因此在这方面,我们花费了很大精力来提高用户体验,保证安全的前提下,使得用户在使用过程中是无感的。
① 智能二次认证:满足用户在安全的环境和设备下能够做标准的免认证登录。但一旦检测到非法的操作、不安全的环境或者不安全的设备,则会马上触发二次认证。既能保证用户的使用体验,也能保证安全防护。
② UEBA 和风控大脑实时检测:为用户提供了对应的用户行为审计和操作审计之后,会对用户行为进行分析,同由时风控大脑会进行实时检测,加固智能二次认证的用户分析模型,同时保证实时检测到风险。
阿里云 IDaaS 提供l了 OpenAPI 和 DevelopAPI ,用于满足企业客户在管理上做定制化集成和应用对接做定制化集成的诉求。
企业客户既然提供了统一的身份管理体系,因而账号在企业身份服务里必然也是统一的,但每个业务系统账户对应的字段和格式诉求可能会有区别。因此,阿里云 IDaaS 提供了表达式引擎,用户可以在表达式引擎上做灵活的规则映射,能够降低企业的应用服务在账户对接时候的改造成本。
此外,虽然 IDaaS 给用户提供了 API ,但 API 毕竟需要用户主动对接和集成。而业务系统需要能够及时感知账户生命周期的变化,因此,IDaaS 提供了应用事件的扩展能力,方便用户对接和集成,满足实时订阅和实时消费诉求。
IDaaS最核心的两部分是账户同步和单点登录,为了保证客户的业务系统能按标准协议对接至上述核心功能,未来 IDaaS 还会提供 hook 的能力。此外,员工离职入职的核心流程需要与业务系统做强管理,比如审批机制或业务系统集成机制,也可以通过 Hook 机制来满足。
IDaaS 账户的流动与统一分为三部分。
第一部分:打通身份孤岛。企业的身份可能会用到大量的三方身份服务或目录服务,需要内置常见的身份服务,方便用户快速将账户导入进来。与此同时,有些客户使用的是自建或非常小众的身份服务,这类用户可以通过 OpenAPI 或 DevelopAPI 将账户快速导入进来。同时在未来的版本里面,IDaaS 会提供 schema 标准协议,满足支持 schema 标准的三方 IDP 的快速导入。
第二部分:IDaaS 身份孤岛。IDaaS 账户管理功能会对账户生命周期管理做全流程的管理。同时,在未来的版本,还能够对生命周期管理的核心流程做外部 Hook 的插桩机制,满足用户核心业务流程的管理、扩展和设计,同时还会提供内置的账户字典和表达式引擎能力。统一的账户字典能够满足不同业务场景的不同诉求,表达式引擎可以实现灵活映射,降低下游业务系统对接时账户属性映射的改造成本。
第三部分:访问业务应用。账户通过身份服务导入到 IDaaS 后,需要让下游业务系统将账户应用起来。此环节的开放和扩展主要体现在三个部分:
① 应用事件:用户可以接入应用事件并订阅事件。比如员工离职,接入应用事件之后,即可订阅员工删除或员工离职事件,能够对事件作出快速做联动和响应。
② Schema 标准:针对能够对接 Schema 的三方 SaaS 化服务,企业管理员经过 schema 的简单配置,即可将账户导入到三方 SaaS 化服务。
③ DevelopAPI :企业的自研应用也可以通过集成 DevelopAPI 来满足业务账户的管理和定制诉求。
IDaaS 是非常复杂的业务系统,不管是开发者还是企业的管理者,都希望能够降低对接 IDaaS 的复杂性,让业务流转变得更便捷。而这,就需要依赖 IDaasS 的便捷设计。
针对管理员,IDaaS 内置了很多 IDP 集成能力,比如钉钉。在未来的版本里,会内置AD/LDAP、飞书、企业微信等常见的 IDP 服务,方便企业的管理员一键将原来的账户导入到 IDaaS 。
企业的业务服务形态会采购很多三方业务系统,这些三方云厂商大概率都是按照业界标准来实现业务系统。内置业界标准后,企业管理员可以很方便地与三方 SaaS 化服务对接使用。比如 SAML、OIDC 为核心的 SSO 标准,SCIM、OpenAPI 为核心的同步标准等。
此外,IDaaS 还将常见的三方 SaaS 化服务或云产品内置成应用模板,方便企业的员工开箱即用。管理员不需要了解 SaaS 化服务的 IDC 对接、SSO 的对接标准等,大大简化了他的配置流程。
基于以上三个标准的便捷设计,能够极大降低企业管理员使用三方 SaaS 化服务,同时我们也提倡用户在自研应用上按业界标准实践。
上图为 OIDC 的标准 SSO 登录。
开发者按 OIDC 标准在 IDaaS上创建自研应用,只需要完成以下三个步骤,即能完成 OIDC 的 SSO 登录。
第一步:引入 OAuth 依赖。IDaaS 预集成了数十个常见应用模板,提供了极简化的配置流程,开箱继用。
第二步:配置安全策略。通过OIDC 、SAML等标准 SSO 协议,配置化实现数百种应用的单点登陆。
第三步:实现 SSO。开发者声明需要做 SSO 登录认证的业务系统,提供 user 接口, 通过 user 接口的前端业务集成即能获取到单点登录的用户信息。
因此,如果企业的自研应用按照标准来实现,它的接入成本会极大降低。
限时免费体验 IDaaS :https://www.aliyun.com/product/idaas