本文来说下数据权限设计之从RBAC到ABAC的演变

文章目录

  • 概述
  • 数据权限的发展历史
  • 从RBAC到ABAC
  • 本文小结

概述

名词解释

  • ACL:Access Control List
  • RBAC:Role-Based Access Control
  • ABAC:Attribute-Based Access Control

权限设计从ACL和RBAC发展而来,ABAC现在已经成为各组织的标准模式,以确保员工只有在适当的情况下才能获得他们需要的信息。

举一个制造业的例子,就是物联网数据中心。制造商正在收集物联网设备的数据,以提高生产效率。通过收集工厂现场出现的不合格事件的数据点,制造商可以缓解造过程中的潜在问题,确保有缺陷的产品永远不会到达客户手中。然而,这些都是企业不希望向竞争对手传播的专有信息,只有参与制造过程的特定人员需要这些信息。

为了安全地共享和使用数据,用于治疗病人、改善制造过程或跨行业的各种其他用途,所有组织都需要一个现代数据访问控制模型。在讨论现代访问控制之前,我们有必要先看看访问控制是如何发展到现在这个地步的。


数据权限的发展历史

随着时代的发展,每个组织需要保护的信息量迅速增加。而以前需要保护的数据少时,访问控制模式就简单。

在过去,数据访问控制被可以纳为三个阶段。首先,我们有访问控制列表(ACL),这是一种早期的数字访问控制形式,允许根据用户身份访问数据。最终,组织要求加强对数据的保护,从而产生了一种新的访问控制模式,即基于角色的访问控制(RBAC)

角色使管理员能够将用户分配给不同的组,并赋予特定的访问权限。角色通常是基于工作职能、位置和头衔,以方便用户访问信息。由于角色的简单性,开发人员在执行内部应用程序访问检查时,可以使用各种编码技术,很容易参考。RBAC的工作效果很好,直到组织和应用的增长,数据量成倍增长,数据、微服务和API的保护需求出现了。

这张图是一个仅针对三个用户的 "角色爆炸 "的例子。下图角色为一家拥有1万名员工的企业。


随着这种指数级的增长,所需的角色数量变得无法管理,导致角色爆炸和职责分离(SoD)失败。最后,一种新的、更动态的访问控制形式被引入,称为基于属性的访问控制(ABAC)


从RBAC到ABAC

从RBAC到ABAC,数据访问控制的演变

在数字时代,数据访问控制最好采用ABAC模型。与RBAC模型不同,ABAC可以使用用户属性、动作属性、上下文属性(如时间、设备和位置)、资源属性(如记录的敏感度)等等。事实上,我们可以使用多种属性(数据)来描述用户、资源和上下文,这使得ABAC具有多维度,几乎可以支持任何访问控制场景。

我们可以看一下策略

ABAC提供了一个多维度的访问控制系统----通过使用属性和策略----防止角色爆炸,提高可扩展性,建立关系,消除SoD冲突,并将授权外部化,便于管理控制。

这在一个医疗场景中意味着什么(基于上面的策略),授权决策过程,即用户是否应该被授予访问资源的权限,是一个动态的决策过程,要对整个上下文进行评估。

这个场景中的属性来自于多个来源。有些是来自应用发送的,这些属性通常是用户和环境相关的属性,如用户的标识符、认证强度(保证级别)、资源标识符(病历#123)和操作(查看、编辑等)。这些关键属性会触发策略,然后评估规则。

授权引擎现在收集决策过程完成所需的属性。这些属性值既来自于病历#123本身,也来自于其他来源。这可能包括从终端用户的保险单中收集数据,验证同意书,或者委托或检查保险代理人的合同有效性。在做出授权决定之前,所有这些方面都会被考虑进去。

除了利用属性来简单地拒绝或授予数据访问权限外,ABAC还利用数据掩盖来保护关键信息,同时也允许共享和利用这些信息。它通过掩盖或完全掩盖敏感的数据项目,如医院患者的保险单号或临床试验参与者的姓名等,来实现对敏感数据的遮盖。

数据访问控制已经发展到可以满足组织在无限数据时代面临的数据保护挑战。由ACL和RBAC演变而来,ABAC现在已经成为组织的标准模式,以确保员工只在合适的情况下才能访问他们需要的信息。


本文小结

本文介绍了数据权限设计之从RBAC到ABAC的演变

数据权限设计:从RBAC到ABAC的演变相关推荐

  1. 数据权限设计的思考(1)

    什么是数据权限? 权限控制是一个系统的核心功能,可以分为两类,一类是功能权限,一类是数据权限.数据权限又可以进一步分为行级权限和列级权限. 功能权限,是指系统用户能进行哪些操作,通常是菜单和按钮权限, ...

  2. 一个页面区分管理者和普通用户如何设计_产品经理要做的操作权限/数据权限设计...

    产品经理在工作中还需要知道一个:用户权限设计能力.权限设计理念贯穿于后台产品.以及用户前端产品. 权限能力包括两类:数据权限.系统操作权限 有的人会好奇,为什么前端产品会有有权限管理的要求?接下来我将 ...

  3. JAVA 数据权限设计

    数据权限设计 序言 在各种系统中,要保证数据对象的安全性以及易操作性,使企业的各业务部门.职能部门能够方便而且高效的协同工作,那么一个好的数据权限管理设计就成为一个关键的问题.虽然企业中各个单元的工作 ...

  4. RBAC模型概述以及功能权限数据权限设计思路

    RBAC模型概述 1. 什么是RBAC RBAC模型:Role-Based Access Control 基于角色得访问控制 通俗说,就是,权限不会直接分配到用户,而是分配到用户所拥有得角色 这样的好 ...

  5. 基于RBAC 权限系统 功能权限 数据权限设计

    目录 功能权限 数据权限 权限设计 RBAC 鉴权管理,即权限判断逻辑. 授权管理,即权限分配过程. 功能权限 权限系统设计方案 权限系统就该这么设计 数据权限 数据权限就该这么实现(设计篇) 数据权 ...

  6. 数据权限设计思路_后台权限管理设计思路:三种模型分析

    编辑导语:任何系统/产品搭建时,最先考虑的都应该是权限管理模块,而且权限管理模块的清晰.稳定是平台产品健康发展的基石,权限管理核心考虑的问题是用户与权限的关系.本文作者对三种不同权限管理的版本展开了梳 ...

  7. 数据权限设计(原创)

    数据权限是针对数据表中行级和列级的控制,相对操作权限,颗粒度更细,复杂度更高,因为在项目中也有相关需求,是直接通过硬编码sql查询条件控制的, 后期维护起来比较困难.所以有了一些想法,后期也将在本人s ...

  8. 转发:关于数据权限设计的思考

    一般来说,权限有许多种,我们经常用到的一般有操作权限和数据权限两种. 所谓操作权限就是有或者没有做某种操作的权限,具体表现形式就是你看不到某个菜单或按钮,当然也有的是把菜单或按钮灰掉的形式.实际上它的 ...

  9. Java数据库行列级数据权限控制_关于数据库表字段的数据权限设计

    吐槽:刚在同事的帮忙下,把maven工程成功导入到eclipse,期间遇到的最大问题就是安装eclipse插件,花费了其中大部分的时间 现在做的研发产品,遇到的一个新的需求是"控制外部系统对 ...

最新文章

  1. 每天导航超4亿公里,百度地图整合AI功能
  2. 使用List中的remove方法遇到的坑,不信你没有踩过!
  3. SAP ABAP实用技巧介绍系列之 使用XSLT替换xml中指定node的value
  4. 使用MeanJS Yeoman Generator
  5. .NET开发者如何使用MyCat
  6. golang 切片追加问题
  7. 搜索引擎的那些事(web遍历)
  8. linux摄像头流媒体开源项目,Github上最受欢迎的10大开源免费的RTSP流媒体项目
  9. 20190914:(leetcode习题)验证二叉搜索树
  10. stone (组合数学 + Lucas定理)
  11. SSDP,简单服务发现技术
  12. 西瓜创客_西瓜创客_西瓜创客下载安装_西瓜创客app安卓版下载_好趣手游网
  13. 嵌入式课程 之 霍尔传感器(编码器)实验
  14. MIT数字经济研究:建平台要以“网络效应”为目标
  15. ios14描述文件无法与服务器连接,苹果手机的信任在哪里设置(ios14描述文件与设备管理)...
  16. 基于sql2014+VS2015的报刊管理系统报告
  17. 超标量处理器设计 姚永斌 第7章 寄存器重命名 摘录
  18. 天梯赛:L2-039 清点代码库 (25 分)
  19. day08学习 Python文件函数、CSV文件读写
  20. 【百度地图API】如何在地图上添加标注?——另有:坐标拾取工具+打车费用接口介绍

热门文章

  1. 两个同一牌子无线路由器连接设置步骤!实用!
  2. 常用传感器讲解五--声音传感器-(KY-037)
  3. 工业智能网关BL110应用之63:如何实现智能楼宇控制BACnet 接入金鸽Modbus云平台
  4. 王万生计算机组成原理第三版,王万生《计算机组成原理》清华大学出版社完整答案...
  5. tomcat报错405
  6. php 正三角塔,以色列,耶路撒冷的中心地段,三角塔楼 / 里伯斯金
  7. 面对百亿数据,HBase为什么查询速度依然非常快?
  8. svg 内部元素scale 缩放不在原位置解决办法
  9. 9. 自制操作系统: risc-v内存相关介绍
  10. mysql导入指定数据库_mysql命令行导入sql文件到指定数据库的方法