freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

细粒度权限治理系列 | ABAC学习
2024-01-10 21:40:23

1. 介绍

1.1. 目的和范围

本文件的目的是提供基于属性的访问控制(ABAC)的定义,并为使用ABAC改进信息共享的同时保持对该信息的控制。本文档描述了ABAC的功能组件,以及在大型企业中使用ABAC的一系列问题,而不直接处理身份验证机制或身份管理的所有方面,从而假设被绑定到可信的身份或身份提供者中。重点是关注ABAC的核心概念,而没有详细讨论诸如属性工程/管理、与身份管理的集成、联合、态势感知(实时或上下文)机制、策略管理和将自然语言策略转换为数字策略等主题。 所讨论的考虑因素不应被认为是全面的。在选择和部署ABAC产品或技术之前,托管组织应该通过测试和独立的产品审查来增加这些考虑因素。

本文档汇集了许多以前独立的ABAC知识机构,以弥合可用技术和最佳实践ABAC实现之间的差距,并努力提供能够在整个组织中一致应用的指导方针。它可以作为正在考虑部署、计划部署或目前正在部署ABAC系统的组织的信息指南。它演示了访问控制(AC)系统的策略、模型和特性的基本概念。

1.2. 受众

本文件旨在帮助和满足两个特定受众的需求:

  • 对访问控制概念有基本理解并希望对ABAC概念有全面理解的人
  • 在访问控制概念方面有经验的专家或经理,正在寻求ABAC的详细部署或操作信息

1.3. 术语说明

逻辑对象:有时称为资源—是要保护不受未经授权使用的实体。

主题:表示请求对该对象执行操作的实体。这个主题有时被称为请求者。

这个主题通常被认为是一个人。一个非个人的实体(NPE),如一个自主的服务或应用程序,也可以填补主体的角色。一般来说,计算机执行的每一个操作都必须代表一个有权执行该操作的个人或组织 (在NPE的情况下)进行。主题用来表示人或NPE。

一个主题的一些特征或属性,如姓名、出生日期、家庭住址、培训记录和工作功能,在单独或合并时,可能包含一个独特的身份,使该人区别于所有其他人。这些特征通常被称为主题属性。主题属性在整个文档中使用一致。

在一个人的生活中,他或她可能为不同的组织工作,可能扮演不同的角色,并可能继承与这些角色相关联的不同特权。该人可以为每个组织或角色建立不同的角色,并积累与每个角色相关的不同属性。 例如,一个人可能在一周内在A公司当门卫,也可能在周末在B公司当轮班经理。每个角色的主题属性都是不同的。虽然她受过A公司的门卫培训和资格,但在周末在B公司担任轮班经理时,她没有权力担任B公司的门卫。

身份验证与访问控制或授权不同。身份验证是验证对象已被可信身份提供者组织授权使用所提供的标识符的行为。另一方面,访问控制或授权是指允许或拒绝主体访问系统对象(网络、数据、应用 程序、服务等)的决定。请注意,ABAC可以在没有标识信息的情况下使用,并且本文中没有提到认证方法。访问控制和授权在本文档中以同义使用。

特权代表主体的授权行为;它们由权威机构定义,并体现在政策或规则中。就本文档而言,特权和授权可互换使用,因为它们旨在传达一个人访问一个或多个对象。

2. 什么是ABAC

完全理解ABAC需要理解逻辑访问控制的基本原理。逻辑访问控制的目的是保护对象(包括数据、服务、可执行应用程序、网络设备或其他类型的信息技术)免受未经授权的操作(这些操作可能包括 发现、读取、创建、编辑、删除和执行对象)。这些物品为个人或组织所拥有,并具有一些内在的价值 , 激励这些所有者去保护它们。作为对象的所有者,他们有权建立一个策略,描述可以对这些对象执行什么操作,由谁执行,以及在什么上下文下执行这些操作。如果主体满足对象所有者建立的访问控制策略,则对象被授权对该对象执行所需的操作——更众所周知的是被授予对该对象的访问权限。如果主题不满足该策略,则它将被拒绝访问该对象。

安全架构师和管理员以逻辑部署访问控制机制(ACM),通过配置来自主题的请求来保护他们的对象。ACM有多种方法来执行并应用于这些对象的访问控制策略。

访问控制机制(ACM)定义为:用于从主体处接收访问请求、进行决定并强制执行访问决策的逻辑组件。

如何用各种逻辑访问控制模型来描述这些ACM的功能。这些访问控制模型提供了一个框架和边界条件集合,在此基础上,对象、主题、操作和规则可以组合起来生成和执行访问控制决策。每个模型都有其自身的优点和局限性,但重要的是要注意这些模型的演变,以充分了解ABAC模型的灵活性和适用性。

(1) 强制访问控制(MAC)

MAC是一种基于标签或分类的访问控制模型,它通过给系统资源和用户赋予标签或分类,来控制用户对系统资源的访问。MAC模型通常包括以下基本元素:

主体(Subject):主体是指系统中的实体,可以是用户、程序或进程等。

客体(Object):客体是指系统中的资源,可以是文件、数据库、网络服务等。

标签(Label):标签是指用于标识主体和客体的属性,可以是安全级别、部门、机密性等。

安全策略(Security Policy):安全策略是指用于定义访问控制规则的规则集合,可以通过安全策略来限制主体对客体的访问。

MAC模型的优点是可以提供更细粒度的访问控制,保护系统的机密性和完整性,是对机密信息进行保护的有效方法。

(2) 自由访问控制(DAC)

DAC是一种基于主体的访问控制模型,它通过对用户授予访问权限,来控制用户对系统资源的访问。DAC模型通常包括以下基本元素:

主体(Subject):主体是指系统中的实体,可以是用户、程序或进程等。

客体(Object):客体是指系统中的资源,可以是文件、数据库、网络服务等。

访问控制列表(Access Control List,ACL):ACL是指用于定义资源的访问控制规则,包括用户的身份和访问权限。

DAC模型的优点是可以灵活地控制用户对资源的访问,适用于访问控制管理较为简单的场景,例如个人电脑、小型网络等。

(3) IBAC/ACL

随着网络的发展,限制对特定受保护对象的访问的需求刺激了基于身份的访问控制(IBAC)能力的增长。IBAC使用访问控制列表(ACL)等机制来捕获允许访问对象的对象的身份。如果主题提供的凭证与 ACL中持有的凭证相匹配,则该对象可以访问权限。主体执行操作(读、写、编辑、删除等)的个人权限。将由对象所有者基于单独的基础进行管理。每个对象都需要它自己的ACL和分配给每个主题的权限集。在IBAC模型中,授权决策是在任何特定的访问请求之前做出的,并导致该主题被添加到ACL中。对于要放置在ACL上的每个主题,对象所有者必须根据管理该对象的策略来计算标识、对象和上下文属性 , 并决定是否将该主题添加到ACL中。此决策是静态的,所有者需要一个通知过程来重新评估,并可能从ACL中删除主题,以表示主题、对象或上下文更改。随着时间的推移,未能删除或撤销访问权限,会导致用户积累权限。

(4) RBAC

基于角色的访问控制模型(RBAC)使用预定义的角色,这些角色携带与之相关的特定权限,并分配主题。例如,分配了经理角色的主题将可以访问与分配了分析师角色的人有不同的对象集。在此模型中,访问权限是由向每个个体分配角色的人员隐式地预先确定的,而在确定与每个角色相关联的权限时,访问权限是由对象所有者显式地预先确定的。在访问请求的执行点,访问控制机制评估分配给请求访问的主体的角色,并且在呈现和强制执行访问决策之前,授权该角色对该对象执行的一组操作。注意,角色可以被视为由访问控制机制评估的主题属性,以及围绕对象访问行为生成的对象访问策略。随着RBAC规范的普及,它使企业访问控制能力的中央管理成为可能 , 并减少了对ACL的需求。

(5) ABAC

就所使用的属性而言,ACLs和RBAC在某些方面是ABAC的特殊情况。ACL致力于“身份 ”的属性。RBAC使用“角色 ”的属性。与ABAC的关键区别在于策略表达复杂布尔规则集的概念,它可以评估许多不同的属性。虽然可以使用ACL或RBAC实现ABAC目标,但由于AC需求和ACL或RBAC模型之间需要的抽象级别,满足AC需求是困难和昂贵的。ACL或RBAC模型的另一个问题是,如果AC需求发生了变化,那么可能很难识别出需要更新ACL或RBAC实现的所有地方。

与ABAC相一致的访问控制框架的一个例子是可扩展访问控制标记语言(XACML)。XACML模型使用了诸如规则、策略、规则和策略组合算法、属性(主题、(资源)对象、操作和环境条件)、义务和建议等元素。其参考体系结构包括诸如控制访问的策略决策点(PDP)、策略执行点(PEP) 、策略管理点(PAP)和策略信息点(PIP)等功能。XACML是下

# 访问控制 # 系统安全 # ABAC # 细粒度授权 # 身份和访问管理IAM
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录