访问控制模型DAC,MAC,RBAC

本文涉及的产品
访问控制,不限时长
简介:
访问控制
     访问控制是指控制对一台计算机或一个网络中的某个资源的访问。没有它,所有人都可以访问任何资源。有了访问控制,用户在获取实际访问资源或进行操作之前,必须通过识别、验证、授权。
     换言之,访问控制控制着一个主体(subject)可以访问哪些对象(objects)。主体和对象是访问控制模型和技术中的两个重要术语。主体是指可以授予或拒绝访问某个对象的人或事物,如用户,程序,系统进程。对象的例子如文件、打印机、程序、系统进程等。
访问控制模型
     开发者需要在他们的软件和设备中实现访问控制功能,访问控制模型为之提供了模型。有三种不同的模型:DAC,MAC,和RBAC。
Discretionary Access Control(DAC)
     主体对它所属的对象和运行的程序拥有全部的控制权。例如,Alice拥有一个叫mywork.doc的文件。她许可Bob和Sales group的成员来读这个文件,除此之外别的人都不可以。改进的DAC实现提供了一个基于“need-to-know”的访问授权的方法,默认拒绝任何人的访问。访问许可必须被显式地赋予访问者。
     被某个用户执行的程序拥有与该用户相同的权限。这意味着系统安全依靠运行的程序,因此,当一个程序中发生安全裂缝,会影响到该用户能访问的所有对象。这使得DAC在特洛伊木马前特别脆弱。例如,假设Alice对文件file1.doc拥有读写权限。Charlie,一个恶意攻击者,写了一个程序,这个程序在执行时生成文件file2.doc.这个程序授予Alice写权限和Charlike读权限。Charlie把这个程序伪装成合法的程序发给Alice。当Alice运行这个程序是,它就具有了和Alice相同的权限。它可以拷贝file1.doc到file2.doc,这样charlie就窃取了file1.doc的内容。如果一个管理员执行这个程序,攻击者会获取最大的特权,危害整个系统的安全。
Mandatory Access Control(MAC)
     在MAC这种模型里,管理员管理访问控制。管理员制定策略,用户不能改变它。策略定义了哪个主体能访问哪个对象。这种访问控制模型可以增加安全级别,因为它基于策略,任何没有被显式授权的操作都不能执行。MAC被开发和实现在最重视保密的系统中,如军事系统。主体获得清楚的标记,对象得到分类标记,或称安全级别。
     最早的MAC模型,参照Bell and LaPadula,访问权根据主体的数字化的访问级别和对象的访问级别标记来授予。例如,管理员的访问级别65535,Alice的是100,客人(Guest)是1,有两个文件,file1级别2,file2级别200,这样Alice只能访问file1,客人不能访问file1和file2,管理员两个文件都可以访问。用户的访问级别需要比他想访问的对象的级别高或者相等。Bell and LaPadula模型,后来扩展为“多级安全”(Multi-Level Security,MLS)。MLS典型地应用到军事领域中,对每个对象使用标记(如top secret,secret,confidential,unclassfied)实现了一个外部安全层。只有位于相同层或更高层的用户能访问对象。工作机制是“need to know basis”,即最少的特权,用户只能访问他工作需要的对象。同时,主体不能向下写,即他们不能写或创建低于自己级别的标记的对象。这防止了主体把秘密和低于它的级别的主体共享,从而保证信息保密。
Role Based Access Control(RBAC)

     管理员定义一系列角色(roles)并把它们赋予主体。系统进程和普通用户可能有不同的角色。设置对象为某个类型,主体具有相应的角色就可以访问它。这样就把管理员从定义每个用户的许可权限的繁冗工作中解放出来。
     基于角色的访问控制模型RBAC,有时成为基于规则的基于角色的访问控制(Rule-Based Role-Based Access Control,RB-RBAC)。它包含了根据主体的属性和策略定义的规则动态地赋予主体角色的机制。例如,你是一个网络中的主体,你想访问另一个网络中的对象。这个网络在定义好了访问列表的路由器的另一端。路由器根据你的网络地址或协议,赋予你某个角色,这决定了你是否被授权访问。
实际使用
     现代操作系统组合使用了上述的访问控制模型。尽管Windows NT没有实际使用RBMC,它使用内建的组实现了类似的模型,如Power Users,Server Operators,Backup Operators。管理员可以根据作业的行为增加额外的角色。拥有适当权限的用户可以分享资源,如文件和打印机,而且与DAC模型相应的,自主决定给与其它用户和组访问权。
将权限管理、工作流管理做到我能力的极致,一个人只能做好那么很少的几件事情。





本文转自 jirigala 51CTO博客,原文链接:http://blog.51cto.com/2347979/451590,如需转载请自行联系原作者
相关实践学习
消息队列+Serverless+Tablestore:实现高弹性的电商订单系统
基于消息队列以及函数计算,快速部署一个高弹性的商品订单系统,能够应对抢购场景下的高并发情况。
云安全基础课 - 访问控制概述
课程大纲 课程目标和内容介绍视频时长 访问控制概述视频时长 身份标识和认证技术视频时长 授权机制视频时长 访问控制的常见攻击视频时长
相关文章
|
4天前
|
安全 数据库 数据安全/隐私保护
|
4天前
|
安全 数据安全/隐私保护 开发者
|
1月前
|
存储 Shell API
Casbin是一个强大的、开源的访问控制库,支持访问控制模型如ACL、RBAC、ABAC等。
Casbin是一个强大的、开源的访问控制库,支持访问控制模型如ACL、RBAC、ABAC等。
|
3月前
|
人工智能
苹果加入开源大战,官宣端侧小模型OpenELM!参数2.7亿到30亿一台M2 Mac可跑
【5月更文挑战第10天】苹果开源高效语言模型OpenELM,采用层级缩放策略,参数量2.7亿至30亿,可在M2 Mac上运行。相比OLMo,OpenELM在10亿参数下精度提升2.36%,只需一半预训练标记。苹果提供了完整的训练、评估框架及设备推理代码,促进开放研究,源代码和模型可在项目网站及HuggingFace找到。然而,OpenELM尚处早期阶段,性能有待验证,且苹果保留知识产权。论文链接:https://arxiv.org/abs/2404.14619
79 5
|
3月前
|
算法 数据安全/隐私保护 流计算
信道划分&介质访问控制&ALOHA协议&CSMA协议&CSMA/CD协议&轮询访问MAC协议
信道划分&介质访问控制&ALOHA协议&CSMA协议&CSMA/CD协议&轮询访问MAC协议
232 1
|
3月前
|
Kubernetes 数据安全/隐私保护 容器
k8s学习-CKA真题-基于角色的访问控制-RBAC
k8s学习-CKA真题-基于角色的访问控制-RBAC
197 0
|
存储 安全 小程序
哪一个权限控制模型呢?(DAC|MAC|RBAC|RuBAC|ABAC)
哪一个权限控制模型呢?(DAC|MAC|RBAC|RuBAC|ABAC) 前言 最近想给自己的小程序的GPT调用接口增加一个权限控制,比如可以是这类策略:普通用户智能免费调用10次该接口,然后用户可以购买VIP会员,然后就可以无限次调用该接口。 社区中听得最多的权限控制模型就是RBAC,比如Nest的官方文档中介绍权限控制的章节就是以该模型为例。
479 0
|
Web App开发 机器学习/深度学习 物联网
ChatGPT平替「小羊驼」Mac可跑!2行代码单GPU,UC伯克利再发70亿参数开源模型
ChatGPT平替「小羊驼」Mac可跑!2行代码单GPU,UC伯克利再发70亿参数开源模型
349 0
|
人工智能 自然语言处理 监控
针对对话式交互的访问控制模型探讨
现如今,越来越多的用户界面可以让人和计算机之间进行自然而流畅的交流。这些界面通常被称为对话式用户界面(CUI),它们本身正在变得越来越复杂,其中包括一些支持自然语言处理(NLP)功能的人工智能软件组件。 CUI(对话用户界面)被越来越多地应用于不同的领域,例如电子商务、客户服务、电子健康或内部企业流程支持等等。在这些应用场景中,很容易出现用户和系统的安全风险。例如,在需要保护用户和系统安全的情况下,需要增加安全措施。
189 0
|
4天前
|
NoSQL 数据可视化 Redis
Mac安装Redis
Mac安装Redis
15 3