NGAC权限访问控制模型

我的理解

NGAC模型就是将一个对象(关联)的某种属性与另一个对象(关联)的某种属性之间建立起一种访问控制策略。对象关联的节点也可以看作是这个对象的属性。

前言

随着“云大物移”的不断兴起,企业IT架构正在从“有边界”向“无边界”转变,传统的安全边界逐渐瓦解。而以5G、工业互联网为代表的新基建的不断推进,更进一步加速了“无边界”的进化过程。与此同时,零信任安全逐渐进入人们的视野,成为解决新时代网络安全的新理念、新架构、新解决方案。


零信任安全

为什么 NGAC 的细粒度授权策略现在至关重要

由于物联网、BYOD、云和 SaaS 等技术的发展和广泛采用,访问控制概念的根本改变变得非常必要。原因很明显。

虽然旧的访问控制方法旨在满足集中管理所有用户的企业的授权需求,但当今的 IT 现实要求公司处理他们不管理身份的用户,并在不断变化和分布的情况下保护数字资产环境。

著名程序员 Alan Perlis 曾经说过:“简单不先于复杂,而是跟随它。” 在访问控制的背景下,他的话是正确的。随着企业采用新技术并将越来越多的资源转移到云端——NGAC,专为基于云的分布式部署而设计——简化了访问控制并应对当今无边界网络的安全挑战。

下一代访问控制(NGAC)是对传统访问控制的重新发明,以适应现代、分布式、互联企业的需求。NGAC的设计是可扩展的,支持广泛的访问控制策略,同时执行不同类型的策略,为不同类型的资源提供访问控制服务,并在面对变化时保持可管理。NGAC遵循一种基于属性的构造,其中特征或属性用于控制对资源的访问,并描述和管理策略。

该标准规定了NGAC框架的体系结构、安全模型和接口,以确保其在不同类型的实现环境中在一系列可伸缩性级别上实现,并获得必要级别的内聚和功能,以在系统级别上正确有效地操作。

什么是NGAC?

NGAC,即下一代访问控制,采用将访问决策数据建模为图形的方法。NGAC 实现了一种系统的、策略一致的访问控制方法,以高粒度授予或拒绝用户管理能力。NGAC 由NIST(美国国家标准与技术研究院)开发,目前用于Tetrate QTetrate Service Bridge

NGAC架构图
  • COPS协议简介:COPS协议是由IETF资源分配工作组(RAP)制定的维护管理协议。
    COPS定义了三个逻辑实体:策略决策点(PDP)、策略执行点(PEP)、本地策略决策点(LPDP),其中LPDP备份PDP的决策,当PDP与PEP的连接中断时,LPDP可代替PDP做出决策,PDP具有最终裁决权。PDP与PEP的关系可以看作是服务器与客户机的关系,PEP向远端的PDP发送配置、更新、删除等请求,PDP收到后,将决策响应回送给PEP,PEP执行相关的操作。
交互流程
  • Policy Class:某些用户、用户属性、对象和对象属性与访问控制策略的从属关系
    ua---ars---at:ua是一个用户的属性,ars是一组访问权限,at是一个属性(可能是用户属性或对象属性)

有几种类型的实体;它们代表您要保护的资源、它们之间的关系以及与系统交互的参与者。实体是:

  1. 用户
  2. 对象
  3. 用户属性,例如组织单位
  4. 对象属性,例如文件夹
  5. 策略类,例如文件系统访问、位置和时间

NIST 的 David Ferraiolo 和Tetrate的 Ignasi Barrera在旧金山 2019 年服务网格日的下一代访问控制演示中分享了 NGAC 的工作原理。

NGAC 是基于这样的假设:您可以在一个图表中表示您想要保护的系统,该图表代表您想要保护的资源和您的组织结构,以一种对您有意义并且符合您的组织语义的方式。在这种对您的组织非常特殊的模型之上,您可以覆盖策略。在资源模型和用户模型之间,定义了权限。通过这种方式,NGAC 提供了一种优雅的方式来表示您想要保护的资源、系统中的不同参与者,以及这两个世界如何通过权限绑定在一起。

NGAC策略权限模型

通过线性时间算法使用多策略访问控制系统限制内部访问的图像

NGAC 示例

以下示例描述了一个简单的 NGAC 图,其中一个用户 DAG 表示组织结构,一个对象 DAG 表示文件系统中的文件和文件夹,文件的分类,以及两个不同的策略 - 文件系统和范围 - 可以组合起来访问决策。两个 DAG 之间的关联边定义了参与者对目标资源的权限。

DAG示例图

在此图中,我们可以看到“/hr-docs”文件夹中两个文件的表示,“resume”和“contract”,每个文件都链接到一个类别(“public/confidential”)。还有两个策略类,“文件系统”和“范围”,其中附加了图中的对象——需要满足这些才能访问每个文件。

在示例中,用户 Allice 对这两个文件具有读取和写入权限,因为路径将 Allice 链接到每个文件,并且这些路径授予对两个策略类的读写权限。但是,用户 Bob 只能访问“resume”文件,因为尽管存在从 Bob 到“contract”文件的路径,该路径满足“文件系统”策略类的“读取”权限,但没有授予权限的路径“范围”策略类。因此,拒绝 Bob 访问“contract”文件。

为什么选择NGAC?

在 ABAC 的情况下,需要跟踪所有对象的属性会造成可管理性负担。RBAC 减轻了负担,因为我们提取了角色的所有访问信息,但是这种范式存在角色爆炸问题并且也可能变得难以管理。借助 NGAC,我们可以在图表中——以紧凑、集中的方式,获得所需的一切。

当访问决策复杂时,ABAC 的处理时间会成倍增加。RBAC 变得特别难以大规模管理,而 NGAC 则可以线性扩展。

NGAC 真正闪耀的地方在于其灵活性。不仅可以根据对象属性,还可以根据其他条件(如时间、位置、天气等)将其配置为允许或禁止访问。

NGAC 的其他主要优势包括能够一致地设置策略(以满足合规性要求)和设置临时策略的能力。例如,NGAC 可以在中断期间授予开发人员对资源的一次性访问权限,而不会留下可能导致安全漏洞的不必要权限。NGAC 可以在单个访问决策中评估和组合多个策略,同时保持其线性时间复杂度。

概括

下表从几个方面比较了 ABAC、RBAC 和 NGAC。

综上所述:

权限模型 优点 缺点
ABAC 灵活 性能和可审计性问题
RBAC 更简单且具有良好的性能 角色爆炸、固定的访问权限、合规需求挑战
NGAC 细粒度、利于审计、灵活、组合权限策略 复杂

NGAC 通过使用一种新颖、优雅的革命性方法来弥补这些差距:在用户提供的现有世界表示之上覆盖访问策略。您也可以对 RBAC 和 ABAC 策略进行建模。


NGAC标准规范

NGAC通过一组标准化的、通用的关系(Relation)和功能(Function)来定义访问控制,这些关系和功能在策略的表达和执行中是可重用的。

1、策略及其属性元素

NGAC的访问控制数据由基本元素、容器(即属性)和可配置关系组成。

2、关系

NGAC不是通过规则来表达策略,而是通过配置4种类型的关系(Relation)来表达策略,这些关系包括:

  • 指派(Assignment,用于定义容器的成员关系)
    使用元组(x,y)来指代将元素x指派给元素y,指派关系通常意味着包含(x包含在y中)。
  • 关联(Association,用于确定特权)
    关联是一个三元组,用ua---ars---at表示,含义是,ua中包含的用户可以对at引用的策略元素执行ars中的访问权限。
  • 禁止(Prohibition,用于指定特权例外)
    u_deny(u,ars,¬pe),ua_deny(ua,ars,¬pe)和p_deny(p,ars,¬pe)是指用户u、被指派给ua的用户和进程p不能对不在pe中的策略元素执行ars中的访问权限。
  • 职责(Obligation,用于动态改变访问状态)
    职责关系以(ep, r)对的形式表示,其含义为“当ep发生时,执行r”,其中ep是事件模式,r是一系列管理操作(称为响应)。

参考:
1、浅谈零信任之访问控制模型:https://www.freebuf.com/articles/network/279497.html
2、为什么您应该选择 NGAC 作为您的访问控制模型:https://thenewstack.io/why-you-should-choose-ngac-as-your-access-control-model/#:~:text=NGAC%2C%20or%20Next%20Generation%20Access%20Control%2C%20takes%20the,administrative%20capabilities%20with%20a%20high%20level%20of%20granularity.
3、XACML与NGAC的分析比较:https://zhuanlan.zhihu.com/p/412634196
4、What is ABAC (Attribute Based Access Control)?:https://frontegg.com/blog/rbac-vs-abac
5、NIST 零信任标准:SP 800-204 系列:https://www.tetrate.io/blog/nist-standards-for-zero-trust-the-sp-800-204-series/?utm_source=thenewstack&utm_medium=website
6、 PM-Masterhttps://pm-master.github.io/pm-master/
7、为什么应该选择使用 NGAC 作为权限控制模型: https://jimmysong.io/blog/why-you-should-choose-ngac-as-your-access-control-model/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,928评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,192评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,468评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,186评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,295评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,374评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,403评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,186评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,610评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,906评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,075评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,755评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,393评论 3 320
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,079评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,313评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,934评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,963评论 2 351

推荐阅读更多精彩内容