目前业界主流的权限模型有两种,下面分别介绍下:
- 基于角色的访问控制(RBAC)
- 基于属性的访问控制(ABAC)
基于属性的访问控制(Attribute-Based Access Control,简称 ABAC) 是一种比
RBAC模型
更加灵活的授权模型,它的原理是通过各种属性来动态判断一个操作是否可以被允许。这个模型在云系统中使用的比较多,比如 AWS,阿里云等。、例如场景:授权某个人具体某本书的编辑权限,早上九点前禁止 A 部门的人访问 B 系统,可以发现上述的场景通过
RBAC模型
很难去实现,但这恰恰是 ABAC模型
的长处,ABAC模型
的思想是基于用户、访问的数据的属性、以及各种环境因素去动态计算用户是否有权限进行操作。在 ABAC模型
中,一个操作是否被允许是基于对象、资源、操作和环境信息共同动态计算决定的。
- 对象:对象是当前请求访问资源的用户。用户的属性包括 ID,个人资源,角色,部门和组织成员身份等
- 资源:资源是当前用户要访问的资产或对象,例如文件,数据,服务器,甚至 API
- 操作:操作是用户试图对资源进行的操作。常见的操作包括“读取”,“写入”,“编辑”,“复制”和“删除”
- 环境:环境是每个访问请求的上下文。环境属性包含访问的时间和位置,对象的设备,通信协议和加密强度等
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)