当前位置:文档之家› RBAC角色的权限管理系统简介分解

RBAC角色的权限管理系统简介分解


RBAC权限ቤተ መጻሕፍቲ ባይዱ理
• RBAC(Role-Based Access Control,基于角色的访问控制),就是 用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色, 每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授 权模型。在这种模型中,用户与角色之间,角色与权限之间,一般者 是多对多的关系。(如下图)
T-ARBAC权限管理
• SaaS平台用户类型 • 1、平台管理用户。负责管理平台的规则用 户,包括该部分用户的授权等工作,其工 作与租户完全没有交集。 • 2、平台规则用户。即前文提到的平台管理 员,负责平台日常维护,包括对企业租户 的各种管理,但是平台规则用户无权干涉 租户的具体业务,避免服务提供商对租户 业务干涉带来的安全问题。
T-ARBAC权限管理
• 3)租户管理用户:访问SaaS平台的企业 用户,在SaaS平台中,各租户之间信息是 相互隔离的。租户信息(如企业名称等) 主要起到区别不同的企业租户的作用,并 且由平台管理员对租户状态进行管理。 • 4)租户规则用户:根据租户管理员分配的 权限以及自己的角色进行相关的业务管理 的企业管理人员。
RBAC权限管理
• RBAC2,也是基于RBAC0模型的 基础上,进行了角色的访问控制。 a,RBAC2中的一个基本限制时互 斥角色的限制,互斥角色是指各自 权限互相制约的两个角色。对于这 类角色一个用户在某一次活动中只 能被分配其中的一个角色,不能同 时获得两个角色的使用权。常举的 例子:在审计活动中,一个角色不 能同时被指派给会计角色和审计员 角色;b,是指角色的权利权利是有 限的,用户有用的角色也是有限的, 当然分配用户时也是有限的,不能 进行无限制的分配用户,例如公司 的领导人有限的;c,是指要想获得 较高的权限,要首先拥有低一级的 权限。
• 2)无法满足系统用户类型的增加的要求 • 传统的基于角色的访问控制模型中,系统角色又 可分为规则角色与管理角色,其中规则角色用来 执行系统的业务功能,而管理角色则用来管理系 统中角色的创建、权限的分配等工作。而在多租 户环境下,每个租户都有各自的规则角色,管理 角色,租户间的规则、管理角色是分开,同时应 用的提供者具有更高层次的平台规则角色、平台 管理角色,平台规则角色用来对所有的租户进行 管理,如资源分配,费用收取等,而这种管理角 色在普通的RBAC是没有的。
RBAC权限管理
• RBAC1,基于RBAC0 模型,进行了角色的分 层,也就是说角色上有 了上下级的区别,存在 了继承包含关系,也就 是前边说过的适合于用 树展现的哪种自关联的 结构,这种模型合适于 角色之间的层次明确, 包含明确。但是认为用 第一种模型也是可以的, 只不过第一种可能会有 数据冗余,没有这种更 加面向对象化而已。
RBAC权限管理
当用户的数量非常大时,要给系统每 个用户逐一授权(授角色),是件非 常烦琐的事情。这时,就需要给用户 分组,每个用户组内有多个用户。除 了可给用户授权外,还可以给用户组 授权。这样一来,用户拥有的所有权 限,就是用户个人拥有的权限与该用 户所在用户组拥有的权限之和。(下 图为用户组、用户与角色三者的关联 关系)
T-ARBAC权限管理
• 为使SaaS服务具有统一的权限管理模型,本文将 服务提供商与租户的权限管理进行了统一,并且 由于SaaS服务的用户类型较以往变得丰富多样 (包括平台管理用户、平台规则用户、租户管理 用户、租户规则用户),提出了一个两层的访问 控制模型,包括平台层(服务提供商)和租户层 (企业用户),从而有效地对不同类型的用户进 行了区分,使得他们通过松耦合关系统一在同一 个访问控制模型中,使得平台对租户的管理即得 以轻松进行,又使得其不会由于权限过大而对租 户的业务产生干扰,实现平台管理者对租户的不 可干预,有效保障各租户的隐私。
T-ARBAC权限管理
• 1)无法满足租户访问控制策略的多样性要 求 • 传统情况下,不同企业间应用的部署是分 开实施的,并且根据企业的不同需求制定 不同的权限管理统。而在多租户环境下, 传统的访问控制模型的使用会使得整个系 统资源的分配、角色等级都是全局性的, 不能满足租户个性化需求。
T-ARBAC权限管理
RBAC权限管理
• 权限管理,这是每个软件系统都会涉及到的,而且权限管 理的需求本质往往都是一样,无论角色拥有怎样的权限, 只要你充当了这个角色,你就拥有了这些功能。
• 举个简单例子:一个老师在学校教室他就拥有教书育人的 权利义务,一个丈夫在家就有呵护妻子支撑家庭的权利义 务,而一个父亲在孩子面前就有保护孩子,教育孩子的权 利义务……而作为一个男生,我们很可能在不同的场所, 成为这些角色,从而拥有了这些权利义务。而抽象出来就 是用户,角色和权利三个方面。所以经过前人对权限方面 的总结抽象,总结出来RBAC(Role-Based Access Control )基于角色的访问控制。
RBAC权限管理
• RBAC认为权限授权实际上是Who、What、How的问题。在RBAC模 型中,who、what、how构成了访问权限三元组,也就是“Who对 What(Which)进行How的操作”。 • Who:权限的拥用者或主体(如Principal、User、Group、Role、 Actor等等) • What:权限针对的对象或资源(Resource、Class)。 • How:具体的权限(Privilege,正向授权与负向授权)。 • Operator:操作。表明对What的How操作。也就是 Privilege+Resource • Role:角色,一定数量的权限的集合。权限分配的单位与载体,目的 是隔离User与Privilege的逻辑关系. • Group:用户组,权限分配的单位与载体。权限不考虑分配给特定的 用户而给组。组可以包括组(以实现权限的继承),也可以包含用户, 组内用户继承组的权限。User与Group是多对多的关系。Group可以 层次化,以满足不同层级权限控制的要求。
相关主题