前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >RBAC:基于角色的权限访问控制

RBAC:基于角色的权限访问控制

作者头像
看、未来
发布于 2022-05-11 06:21:18
发布于 2022-05-11 06:21:18
1.8K10
代码可运行
举报
运行总次数:0
代码可运行

文章目录

RBAC模型概述

RBAC模型(Role-Based Access Control:基于角色的访问控制)模型是20世纪90年代研究出来的一种新模型,但其实在20世纪70年代的多用户计算时期,这种思想就已经被提出来,直到20世纪90年代中后期,RBAC才在研究团体中得到一些重视,并先后提出了许多类型的RBAC模型。其中以美国George Mason大学信息安全技术实验室(LIST)提出的RBAC96模型最具有代表,并得到了普遍的公认。

RBAC认为权限授权的过程可以抽象地概括为:Who是否可以对What进行How的访问操作,并对这个逻辑表达式进行判断是否为True的求解过程,也即是将权限问题转换为What、How的问题,Who、What、How构成了访问权限三元组;


RBAC的组成

在RBAC模型里面,有3个基础组成部分,分别是:用户、角色和权限。

RBAC通过定义角色的权限,并对用户授予某个角色从而来控制用户的权限,实现了用户和权限的逻辑分离(区别于ACL模型),极大地方便了权限的管理 :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
User(用户):每个用户都有唯一的UID识别,并被授予不同的角色
Role(角色):不同角色具有不同的权限
Permission(权限):访问权限
用户-角色映射:用户和角色之间的映射关系
角色-权限映射:角色和权限之间的映射

它们之间的关系如下图所示:

管理员和普通用户被授予不同的权限,普通用户只能去修改和查看个人信息,而不能创建创建用户和冻结用户,而管理员由于被授 予所有权限,所以可以做所有操作。

例如下图,管理员和普通用户被授予不同的权限,普通用户只能去修改和查看个人信息,而不能创建创建用户和冻结用户,而管理员由于被授予所有权限,所以可以做所有操作。


RBAC支持的安全原则

RBAC支持三个著名的安全原则:最小权限原则、责任分离原则和数据抽象原则

最小权限原则:RBAC可以将角色配置成其完成任务所需的最小权限集合 责任分离原则:可以通过调用相互独立互斥的角色来共同完成敏感的任务,例如要求一个计账员和财务管理员共同参与统一过账操作 数据抽象原则:可以通过权限的抽象来体现,例如财务操作用借款、存款等抽象权限,而不是使用典型的读、写、执行权限


RBAC的优缺点

(1)优点:

简化了用户和权限的关系 易扩展、易维护

(2)缺点:

RBAC模型没有提供操作顺序的控制机制,这一缺陷使得RBAC模型很难适应哪些对操作次序有严格要求的系统


RBAC的3种模型

(1)RBAC0

RBAC0,是最简单、最原始的实现方式,也是其他RBAC模型的基础。

在该模型中,用户和角色之间可以是多对多的关系,即一个用户在不同场景下是可以有不同的角色,例如:项目经理也可能是组长也可能是架构师。同时每个角色都至少有一个权限。这种模型下,用户和权限被分离独立开来,使得权限的授权认证更加灵活。

(2)RBAC1

基于RBAC0模型,引入了角色间的继承关系,即角色上有了上下级的区别。 在这里插入图片描述

角色间的继承关系可分为一般继承关系和受限继承关系。一般继承关系仅要求角色继承关系是一个绝对偏序关系,允许角色间的多继承。而受限继承关系则进一步要求角色继承关系是一个树结构,实现角色间的单继承。

这种模型适合于角色之间层次分明,可以给角色分组分层。

(3)RBAC2

RBAC2,基于RBAC0模型的基础上,进行了角色的访问控制。

在这里插入图片描述

RBAC2中的一个基本限制是互斥角色的限制,互斥角色是指各自权限可以互相制约的两个角色。对于这类角色一个用户在某一次活动中只能被分配其中的一个角色,不能同时获得两个角色的使用权。

该模型有以下几种约束:

  • 互斥角色 :同一用户只能分配到一组互斥角色集合中至多一个角色,支持责任分离的原则。互斥角色是指各自权限互相制约的两个角色。对于这类角色一个用户在某一次活动中只能被分配其中的一个角色,不能同时获得两个角色的使用权。常举的例子:在审计活动中,一个角色不能同时被指派给会计角色和审计员角色。
  • 基数约束 :一个角色被分配的用户数量受限;一个用户可拥有的角色数目受限;同样一个角色对应的访问权限数目也应受限,以控制高级权限在系统中的分配。例如公司的领导人有限的;
  • 先决条件角色 :可以分配角色给用户仅当该用户已经是另一角色的成员;对应的可以分配访问权限给角色,仅当该角色已经拥有另一种访问权限。指要想获得较高的权限,要首先拥有低一级的权限。就像我们生活中,国家主席是从副主席中选举的一样。
  • 运行时互斥 :例如,允许一个用户具有两个角色的成员资格,但在运行中不可同时激活这两个角色。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-05-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
1 条评论
热度
最新
感谢博主分享,超详细教程。
感谢博主分享,超详细教程。
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
CentOS7.9 利用 KubeKey 扩容 Kubernetes v1.26 Worker 节点实战
上一期,我们实战讲解了使用 KubeKey v3.0.10 自动化部署 3 Master 和 1 Worker 的 Kubernetes 集群和 KubeSphere。
运维有术
2023/08/25
3420
CentOS7.9 利用 KubeKey 扩容 Kubernetes v1.26 Worker 节点实战
41 张高清大图带你抢先体验 KubeSphere v3.4.0 和 Kubernetes v1.27
首先声明,我不是标题党,本文初始目标是要体验用 KubeKey v3.0.9 部署最新版的 KubeSphere v3.4.0 和 Kubernetes v1.27,无奈部署过程中发现了自认为的 Bug,进行不下去了,不得不改换 Kubernetes v1.26。
运维有术
2023/07/29
1.6K1
41 张高清大图带你抢先体验 KubeSphere v3.4.0 和 Kubernetes v1.27
KubeKey 离线部署 KubeSphere v3.4.1 和 Kubernetes v1.26 实战指南
KubeKey 从 v2.1.0 版开始新增了清单 (manifest) 和制品 (artifact) 的概念,为用户离线部署 KubeSphere 和 Kubernetes 集群提供了一种简单便捷的解决方案。
运维有术
2023/12/13
2K0
KubeKey 离线部署 KubeSphere v3.4.1 和 Kubernetes v1.26 实战指南
基于 KubeSphere 玩转 Kubernetes 第二季|KubeKey 扩容 Kubernetes v1.24 Worker 节点实战
本文是 openEuler 22.03 LTS SP2 基于 KubeKey 扩容 Kubernetes Worker 节点实战一文的更新版。
运维有术
2023/07/20
3980
基于 KubeSphere 玩转 Kubernetes 第二季|KubeKey 扩容 Kubernetes v1.24 Worker 节点实战
基于 KubeSphere 玩转 k8s 第二季|openEuler 22.03 基于 KubeSphere 安装 k8s v1.24 实战入门
本文是 openEuler 22.03 LTS SP2 基于 KubeSphere 安装 Kubernetes 的更新版。
运维有术
2023/07/18
8410
基于 KubeSphere 玩转 k8s 第二季|openEuler 22.03 基于 KubeSphere 安装 k8s v1.24 实战入门
ARM 版 OpenEuler 22.03 部署 KubeSphere v3.4.0 不完全指南
本文介绍了如何在 openEuler 22.03 LTS SP2 aarch64 架构服务器上部署 KubeSphere 和 Kubernetes 集群。我们将使用 KubeSphere 开发的 KubeKey 工具实现自动化部署,在三台服务器上实现高可用模式最小化部署 Kubernetes 集群和 KubeSphere。
运维有术
2023/10/18
7620
ARM 版 OpenEuler 22.03 部署 KubeSphere v3.4.0 不完全指南
基于 KubeSphere 玩转 k8s 第二季|openEuler 22.03 安装 KubeSphere 实战入门
基于 KubeSphere 玩转 K8s 第二季系列文档,基于开源国产化操作系统 openEuler 全新打造,也算是在推进国产化浪潮、CentOS搞事情不能用等综合原因下的一种新的尝试。
运维有术
2023/07/16
8870
KubeKey 升级 Kubernetes 次要版本实战指南
上一期我们完成了 KubeSphere 和 Kubernetes 补丁版本升级实战 , 本期我们实战如何利用 KubeKey 实现 Kubernetes 次要版本升级。
运维有术
2023/12/06
3840
KubeKey 升级 Kubernetes 次要版本实战指南
基于 KubeSphere 玩转 k8s 第二季|KubeKey 扩容 Kubernetes Worker 节点实战
上一期,我们实战讲解了使用 KubeSphere 开发的 KubeKey 工具自动化部署 3 Master 和 1 Worker 的 Kubernetes 集群和 KubeSphere。
运维有术
2023/07/16
5340
KubeKey 升级 KubeSphere 和 Kubernetes 补丁版本实战指南
KubeSphere v3.4.1 已于 2023 年 11 月 10 日正式发布,升级说明详见 Releases-v3.4.1 发布说明。该发布版修复了 v3.4.0 中存在的许多问题,建议所有人更新。
运维有术
2023/12/05
5160
KubeKey 升级 KubeSphere 和 Kubernetes 补丁版本实战指南
ARM 版 Kylin V10 部署 KubeSphere v3.4.0 不完全指南
本文介绍了如何在 麒麟 V10 aarch64 架构服务器上部署 KubeSphere 和 Kubernetes 集群。我们将使用 KubeSphere 开发的 KubeKey 工具实现自动化部署,在三台服务器上实现高可用模式最小化部署 Kubernetes 集群和 KubeSphere。
运维有术
2023/11/09
1.3K1
ARM 版 Kylin V10 部署 KubeSphere v3.4.0 不完全指南
KubeSphere 最佳实战:征服 Docker 镜像访问限制!KubeSphere v3.4.1 成功部署全攻略
近期,KubeSphere 社区的讨论中频繁出现关于 Docker 官方镜像仓库访问受限的问题。 尽管用户尝试通过设置 KKZONE=cn 来解决,但部署 KubeSphere 时仍面临失败的情况。
运维有术
2024/07/29
7740
KubeSphere 最佳实战:征服 Docker 镜像访问限制!KubeSphere v3.4.1 成功部署全攻略
KubeSphere 最佳实战:KubeKey 助力 Kubernetes 扩容控制节点实战指南
在近期的技术分享中,我们实战讨论了Kubernetes 集群 Worker 节点的扩容。文章发布后,我收到了社区成员的反馈,询问控制节点的扩容是否可行。我的回答是:绝对可以。
运维有术
2024/07/20
1440
KubeSphere 最佳实战:KubeKey 助力 Kubernetes 扩容控制节点实战指南
ARM 版 OpenEuler 22.03 部署 KubeSphere v3.4.0 不完全指南(2)
本文是 ARM 版 OpenEuler 22.03 部署 KubeSphere v3.4.0 不完全指南 的续集,受限于字符数量限制,无奈只能将完整的文档拆成了两篇。
运维有术
2023/10/19
8570
ARM 版 OpenEuler 22.03 部署 KubeSphere v3.4.0 不完全指南(2)
KubeSphere 最佳实战:征服 Docker 镜像访问限制:KubeSphere v3.4.1 成功部署全攻略
近期,KubeSphere 群里讨论中频繁出现关于 Docker 官方镜像仓库访问受限的问题。 尽管用户尝试通过设置 KKZONE=cn 来解决,但部署 KubeSphere 时仍面临失败的情况。
运维有术
2024/07/18
3700
KubeSphere 最佳实战:征服 Docker 镜像访问限制:KubeSphere v3.4.1 成功部署全攻略
KubeSphere 最佳实战:征服 Docker 镜像访问限制:单节点 KubeSphere v3.4.1 部署攻略
KubeSphere 是在 Kubernetes 之上构建的面向云原生应用的分布式操作系统,完全开源,支持多云与多集群管理,提供全栈的 IT 自动化运维能力,简化企业的 DevOps 工作流。
运维有术
2024/07/29
3900
KubeSphere 最佳实战:征服 Docker 镜像访问限制:单节点 KubeSphere v3.4.1 部署攻略
KubeSphere 最佳实战:KubeKey 扩容 Kubernetes Worker 节点实战指南
今天分享的内容是 KubeSphere 最佳实战「2024」 系列文档中的 KubeKey 扩容 Kubernetes Worker 节点实战指南。
运维有术
2024/07/16
3411
KubeSphere 最佳实战:KubeKey 扩容 Kubernetes Worker 节点实战指南
KubeSphere 最佳实战:征服 Docker 镜像访问限制:单节点 KubeSphere v3.4.1 部署攻略
KubeSphere 是在 Kubernetes 之上构建的面向云原生应用的分布式操作系统,完全开源,支持多云与多集群管理,提供全栈的 IT 自动化运维能力,简化企业的 DevOps 工作流。
运维有术
2024/07/19
4340
KubeSphere 最佳实战:征服 Docker 镜像访问限制:单节点 KubeSphere v3.4.1 部署攻略
KubeSphere 最佳实战:KubeKey 部署 Kubernetes v1.28.8 实战
今天分享的内容是 KubeSphere 最佳实战「2024」 系列文档中的 KubeKey 部署 Kubernetes v1.28.8 实战。
运维有术
2024/04/25
6170
KubeSphere 最佳实战:KubeKey 部署 Kubernetes v1.28.8 实战
手把手教你离线部署 KubeSphere v4.1.2 和 k8s v1.30.6,超详细指南!
今天分享的主题是:如何在离线环境部署 Kubernetes v1.30.6 和 KubeSphere v4.1.2 高可用集群。
运维有术
2025/01/22
5661
手把手教你离线部署 KubeSphere v4.1.2 和 k8s v1.30.6,超详细指南!
推荐阅读
CentOS7.9 利用 KubeKey 扩容 Kubernetes v1.26 Worker 节点实战
3420
41 张高清大图带你抢先体验 KubeSphere v3.4.0 和 Kubernetes v1.27
1.6K1
KubeKey 离线部署 KubeSphere v3.4.1 和 Kubernetes v1.26 实战指南
2K0
基于 KubeSphere 玩转 Kubernetes 第二季|KubeKey 扩容 Kubernetes v1.24 Worker 节点实战
3980
基于 KubeSphere 玩转 k8s 第二季|openEuler 22.03 基于 KubeSphere 安装 k8s v1.24 实战入门
8410
ARM 版 OpenEuler 22.03 部署 KubeSphere v3.4.0 不完全指南
7620
基于 KubeSphere 玩转 k8s 第二季|openEuler 22.03 安装 KubeSphere 实战入门
8870
KubeKey 升级 Kubernetes 次要版本实战指南
3840
基于 KubeSphere 玩转 k8s 第二季|KubeKey 扩容 Kubernetes Worker 节点实战
5340
KubeKey 升级 KubeSphere 和 Kubernetes 补丁版本实战指南
5160
ARM 版 Kylin V10 部署 KubeSphere v3.4.0 不完全指南
1.3K1
KubeSphere 最佳实战:征服 Docker 镜像访问限制!KubeSphere v3.4.1 成功部署全攻略
7740
KubeSphere 最佳实战:KubeKey 助力 Kubernetes 扩容控制节点实战指南
1440
ARM 版 OpenEuler 22.03 部署 KubeSphere v3.4.0 不完全指南(2)
8570
KubeSphere 最佳实战:征服 Docker 镜像访问限制:KubeSphere v3.4.1 成功部署全攻略
3700
KubeSphere 最佳实战:征服 Docker 镜像访问限制:单节点 KubeSphere v3.4.1 部署攻略
3900
KubeSphere 最佳实战:KubeKey 扩容 Kubernetes Worker 节点实战指南
3411
KubeSphere 最佳实战:征服 Docker 镜像访问限制:单节点 KubeSphere v3.4.1 部署攻略
4340
KubeSphere 最佳实战:KubeKey 部署 Kubernetes v1.28.8 实战
6170
手把手教你离线部署 KubeSphere v4.1.2 和 k8s v1.30.6,超详细指南!
5661
相关推荐
CentOS7.9 利用 KubeKey 扩容 Kubernetes v1.26 Worker 节点实战
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验