原文地址:http://www.woshipm.com/pd/3745592.html
1 概述
角色权限作为大型系统必不可少的功能,控制着业务中各个部门用户的权限,引导着业务操作,本次竞品分析,选用阿里的两款产品应用身份服务(IDaaS)和RAM访问控制服务进行深入的体验分析。
1.1 产品定位
1)应用身份服务(IDaaS)
应用身份服务(IDaaS)是一个集中式身份管理服务,为政企客户提供统一的应用门户、用户目录、单点登录、集中授权、以及行为审计等中台服务。 IDaaS 支持 SAML、OIDC、CAS 等常见身份联邦协议,也可以与钉钉通讯录、AD、HR 系统等身份源打通,做到统一的身份权限管理和应用访问控制。
2)RAM访问控制服务
RAM 能够安全地集中管理对阿里云服务和资源的访问。可以使用 RAM 创建和管理用户和组,并使用各种权限来允许或拒绝他们对云资源的访问。
1.2 目标人群
1)应用身份服务(IDaaS)
阿里云为企业用户提供的一套集中式身份、权限、应用管理服务,帮助客户整合部署在本地或云端的内部办公系统、业务系统及三方SaaS系统的所有身份,实现一个账号打通所有应用服务。
2)RAM访问控制服务
访问控制(RAM)是为阿里云用户提供身份与资源访问权限的服务。
2 功能分析
2.1 产品功能概述
1)应用身份服务(IDaaS)
2)RAM访问控制服务
2.2 核心功能点
作为阿里云的服务内容,在产品功能上,除了没有对组织架构实现很好的支持外,用户、角色和权限都有着良好的解决方案。
2.2.1 IDaaS
2.2.2 ARM
3 结构分析
3.1 架构分析
两款产品都采用了RBAC的设计模式:
IDaaS
说明:用户集合的支持,在服务的API中有支持。
RAM
3.2 权限系统分析
在系统层面,将权限分为三级:
- 一级:访问控制,用于访问不同的应用系统。
- 二级:菜单权限、按钮权限。
- 三级:数据权限,包括展示的数据信息,API接口数据字段。
(1)IDaaS 权限
(2)ARM权限
权限策略(Policy)相当于传统的教科书式角色,它用于描述一组权限集。
RAM 支持两种类型的权限策略:由阿里云管理的系统策略和由客户管理的自定义策略。
- 系统策略,统一由阿里云创建,您只能使用而不能修改,系统策略的版本更新由阿里云维护;
- 自定义策略,您可以自主创建、更新和删除,自定义策略的版本更新由您自己维护。
RAM 角色不同于传统的教科书式角色。RAM 角色颁发短时有效的访问令牌(STS 令牌),使其成为一种更安全的授予访问权限的方法。
4 交互分析
4.1 IDaaS 交互
4.1.1 应用系统管理
说明:
- 支持不同的应用系统接入权限管理服务。
- 支持维护应用系统的权限、角色等。
4.1.2 权限管理
说明:
- 需要定义和维护不同的权限,支持菜单、按钮、数据、API等权限,定义为资源。
- 支持批量的维护资源。
4.1.3 角色管理
说明:
- 支持角色信息的新建、编辑、维护。
- 支持角色关联权限。
- 支持角色授权(关联)到个人账户。
4.1.4 授权管理
按账户授权:
- 为账户单独选择权限授权:勾选权限为账户配置不同的权限;
- 为账户关联角色授权:账户关联角色,账户即可继承角色的所有权限;
可以查看账户的所有权限,包括单独配置的,和从角色中继承的权限。
按角色授权:
- 配置角色所拥有的各项权限;
- 角色关联到账户;
可以查看每个角色所拥有的权限,同时可以查看哪些账户关联继承了角色。
4.2 ARM 交互
4.2.1 用户组管理
- 通过用户组对职责相同的RAM用户进行分类并授权,可以更加高效地管理用户及其权限。
- 对一个用户组进行授权后,用户组内的所有用户会自动继承该用户组的权限。
- 如果一个用户被加入到多个用户组,那么该用户将会继承多个用户组的权限。
4.2.2 用户管理
RAM 用户是一个身份实体,它通常代表您的组织中需要访问云资源的人员或应用程序。
创建用户,并为用户设置密码以及认证方式。
添加用户到用户组或者管理角色,完成对用户的授权。
4.2.3 角色管理
RAM 角色不同于传统的教科书式角色(其含义是指一组权限集)。RAM 角色颁发短时有效的访问令牌(STS 令牌),使其成为一种更安全的授予访问权限的方法。
4.2.4 权限策略管理
权限策略(Policy)相当于传统的教科书式角色,它用于描述一组权限集。
RAM 支持两种类型的权限策略:由阿里云管理的系统策略和由客户管理的自定义策略。
- 系统策略,统一由阿里云创建,您只能使用而不能修改,系统策略的版本更新由阿里云维护;
- 自定义策略,您可以自主创建、更新和删除,自定义策略的版本更新由您自己维护。
4.2.5 授权管理
授权管理支持为用户、用户组、ARM角色授权,权限以权限策略为单位授权。
5 竞品问题
(1)两款产品在用户(账户)层面管理较为简单,由于IDaaS面向企业的应用,ARM面向C端个人用户,均没有引入组织的概念管理多用户关系。
(2)ARM由于产品服务的场景不同,引入了ARM角色和权限策略概念,在权限管理上更加灵活,但同时也带来了更复杂的管理难度。
6 总结
角色权限通用的设计模式: