首页 > 其他分享 >权限管理模型

权限管理模型

时间:2023-05-12 14:11:21浏览次数:41  
标签:ABAC 角色 管理 模型 用户 文档 权限 属性

一般指根据系统设置的安全规则或安全策略,对用户权限进行分配,确定其能访问哪些资源。

权限管理是在用户进行认证之后进行的,认证指的是识别请求者身份的过程(比如使用密码,微信,手机号验证码等手段),在成功识别了用户身份后,接下来要做的就是管理,分配权限。

权限模型种类较多,目前被广泛采用的有两种权限模型:

  • 基于角色的访问控制(RBAC)
  • 基于属性的访问控制(ABAC)

二者的区别:

  • RBAC模型构建起来更简单,缺点无法做到对资源细粒度地授权(都是授权某一类资源而不是授权某一个具体的资源);
  • ABAC模型构建相对复杂,但优点是细粒度可以根据上下文动态执行(可以细化到某一个具体的资源);

RBAC

RBAC:Role-based access control,基于角色的访问控制。

通过创建角色(Role),为角色授予权限,然后对用户绑定所需权限对应的角色。这种方式相比直接授予用户权限,更加的的灵活,简单,高效,具有可扩展性。

当使用RBAC时,通过分析用户的实际情况,授予他们不同的角色。一个用户具有一个或多个角色,每个角色具有一个或多个权限。这种 用户-角色、角色-权限 的形式,可以让我们不用再单独管理单个用户,用户可以从授予的角色里面继承所需的权限。

举例说明:

以一个简单的场景(Gitlab 的权限系统)为例,用户系统中有 Admin、Maintainer、Operator 三种角色,这三种角色分别具备不同的权限,比如只有 Admin 具备创建代码仓库、删除代码仓库的权限,其他的角色都不具备。

我们授予某个用户「Admin」这个角色,他就具备了「创建代码仓库」和「删除代码仓库」这两个权限。

ABAC

ABAC:Attribute-Based Access Control,基于属性的访问控制。

ABAC是一种非常灵活的授权模型,它通过各种属性来动态判断一个操作是否可以被允许。

组成部分

在ABAC中,一个操作是否被允许是基于对象、资源、操作、和环境共同动态计算决定的。

  • 对象:请求资源的用户。用户的属性有:ID、个人资源、角色、部门、组织成员等;
  • 资源:用户要访问的资产或对象(如:文件、数据、服务器、甚至API)。资源的属性有:文档、图片、数据等;
  • 操作:用户试图对资源进行的操作。操作具有的属性有:读取、写入、编辑、复制、删除等;
  • 环境:环境是每个访问请求的上下文。环境的属性有:访问的时间、位置、对象的设备、通信协议、加密强度等;

决策过程

在ABAC的决策语句执行过程中,决策引擎会根据定义好的决策语句,结合对象、资源、操作、环境等因素动态计算出决策结果。

每当发生访问请求时,ABAC决策系统就会分析属性值是否与已建立的策略匹配。如果有匹配的策略,访问请求就会被通过。

举例说明:

策略:[当一个文档的所属部门跟用户的部门相同时,用户可以访问这个文档。],会被以下属性匹配:

  • 对象(用户)属性:部门 = 资源(文档)的所属部门;
  • 资源属性 = "稳当";
  • 操作属性 = "访问";

策略:[早上九点前禁止 A 部门的人访问B系统。],会被以下属性匹配:

  • 对象属性 ="A部门" ;
  • 资源属性 = "B系统";
  • 操作属性 = "访问";
  • 环境属性 = "时间早上9点";

应用场景

在 ABAC 权限模型下,你可以轻松地实现以下权限控制逻辑:

  1. 授权 A 具体某部门的编辑权限;
  2. 当一个文档的所属部门跟用户的部门相同时,用户可以访问这个文档;
  3. 当用户是一个文档的拥有者并且文档的状态是草稿,用户可以编辑这个文档;
  4. 早上九点前禁止 A 部门的人访问 B 系统;
  5. 在除了上海以外的地方禁止以管理员身份访问 A 系统;

上述的逻辑中有几个共同点:

  • 具体到某一个而不是某一类资源;
  • 具体到某一个操作;
  • 能通过请求的上下文(如时间、地理位置、资源 Tag)动态执行策略;

如果浓缩到一句话,你可以 细粒度地授权在何种情况下对某个资源具备某个特定的权限。

本文参考:

对用户进行权限管理 | Authing 文档

标签:ABAC,角色,管理,模型,用户,文档,权限,属性
From: https://www.cnblogs.com/joudys/p/17393956.html

相关文章

  • VMware Aria Suite 8.12 - 云管理解决方案 (下载索引)
    VMwareAriaSuite8.12-云管理解决方案(下载索引)请访问原文链接:https://sysin.org/blog/vmware-aria-suite/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org云管理套包VMwareAriaSuite(以前称为vRealizeSuite)和vCloudSuiteVMwareAriaSuite(vRealizeSu......
  • VMware Aria Automation Config 8.12 - Aria Automation 的软件配置管理与安全性
    VMwareAriaAutomationConfig8.12-AriaAutomation的软件配置管理与安全性请访问原文链接:https://sysin.org/blog/vmware-aria-automation-config/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgAriaAutomation的软件配置管理与安全性AriaAutomationConfi......
  • VMware Aria Operations 8.12 - 自动驾驶式 IT 运维管理
    VMwareAriaOperations8.12-自动驾驶式IT运维管理请访问原文链接:https://sysin.org/blog/vmware-aria-operations/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org自动驾驶式IT运维管理VMwareAriaOperations(以前称为vRealizeOperations)借助统一运维平......
  • VMware Aria Operations for Logs 8.12 - 集中式日志管理
    VMwareAriaOperationsforLogs8.12-集中式日志管理请访问原文链接:https://sysin.org/blog/vmware-aria-operations-for-logs/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org集中式日志管理VMwareAriaOperationsforLogs(以前称为vRealizeLogInsight)通......
  • VMware Aria Suite Lifecycle 8.12 - 应用生命周期管理
    VMwareAriaSuiteLifecycle8.12-应用生命周期管理请访问原文链接:https://sysin.org/blog/vmware-aria-suite-lifecycle/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org应用生命周期管理VMwareAriaSuiteLifecycle(以前称为vRealizeSuiteLifecycleManage......
  • Ubuntu下开启MySQL远程连接权限
    一、将用户的访问地址改为%打开终端登录mysql数据库:mysql-uroot-p查看user表mysql> usemysql;Databasechangeedmysql>selecthost,user,authentication_stringfromuser;注意此处网上很多教程写的是password,那是老版的了,现在的MySQL的mysql数据库的user表中已经没......
  • 单相Boost PFC移相全桥整机Matlab Simulink仿真模型 2kwboost单相PFC,
    单相BoostPFC移相全桥整机MatlabSimulink仿真模型2kwboost单相PFC,移向全桥matlab仿真模型,模型说明,详细的计算过程,如变压器电感计算,x电容计算等,pfc设计参考资料,移向全桥参考资料等。ID:8845688094446845......
  • Google I/O 2023发布大语言模型PaLM2
    ·PaLM2模型提供了不同规模的四个版本,其中轻量级的Gecko模型可以在移动设备上运行,速度非常快,不联网也能在设备上运行。谷歌还推出了两个专业领域大模型,其中,Med-PaLM2能回答各种医学问题,是首个在美国医疗执照考试中达到专家水平的大语言模型。 谷歌首席执行官桑达尔·皮查伊......
  • STM32 BMS电池管理系统 主控STM32F103C8T6,具有以下功能:
    STM32BMS电池管理系统主控STM32F103C8T6,具有以下功能:1.具有单体电压、总体电压检测,过充、过放告警及保护功能。常温下静态电压采样精度可达小于20mV。2.具有充放电电流检测,充放电过流告警及保护功能。上位机可以显示充放电状态。3.具有均衡功能,均衡条件程序默认压差大于50mV......
  • bms电池管理系统 锂电池算法SOC代码 获取锂电池SOC采用
    bms电池管理系统锂电池算法SOC代码获取锂电池SOC采用的是电流积分法,电化学阻抗法电流积分法又称为安时积分法或库伦计数,通过将电池电流对时间进行积分来计算电池的荷电状态。这种方法对于计算电池放出的电量有一定的准确度,但缺乏参照点,不能计算电池的初始SOC,也无法预测电池因为......