当前位置: 首页 > news >正文

NGAC访问控制系列三:低代码产品NGAC运用与算法运用

目录

一、基于NGAC的低代码模型权限管理方案

二、多策略访问控制系统限制内部访问的线性时间算法

1、概述

2、权限控制图遍历算法


一、基于NGAC的低代码模型权限管理方案

NGAC在低代码平台的权限决策模型:功能权限+数据权限

案例:对于七巧低代码开发平台,主策略组里有两个策略类:功能权限数据权限。功能权限策略类,定义用户可以按照RBAC操作。数据权限类,定义用户能访问哪些开发平台资源。

推进方案

1、针对七巧应用配置策略。可配置全局应用策略,也可以配置单独应用的策略。

2、开放策略类定义、策略定义给用户。

3、初期,用户能配置的用户属性、资源属性限制在小范围内,避免性能要求太高,影响系统运行。

4、后期,随着对NGAC的理解加深和用户业务场景深入,逐步增加可配置属性。

需要解决的问题(使用场景):

1、用户u1,是否允许在对象o1上执行操作op1

2、用户u1可以访问对象的集合是什么,能对每个对象执行什么操作

3、哪些用户可以访问到对象o1,这些用户能对对象o1执行什么操作

4、审计—访问控制可视化(权限控制图展示)

为解决上述问题,我们学习了ANSI推出的一个权限控制算法。

二、多策略访问控制系统限制内部访问的线性时间算法

1、概述

美国国家标准协会(ANSI)通过标准化一种交流过程控制方法,即下一代访问控制(NGAC)[2,3],已经解决了这一需求。NGAC源于并与策略机器(PM)[11]保持一致,这是美国国家标准与技术研究所(NIST)的一项研究工作,旨在开发一个基于通用属性的访问控制(ABAC)框架[13]。NGAC旨在实现在单个访问控制机制中同时实例化多个访问控制策略,从而实现统一的访问控制决策和用户访问功能的重新­视图。关于如何使用NGAC来执行DAC、MAC、RBAC和中国墙政策的例子可以从[10]获得。NGAC规范描述了使用集理论符号构成有效实现,但没有提供实现指导。这种方法为多种相互竞争的方法和实现留下了空间。虽然合适,但这就留下了一个重要的问题,即NGAC是否可伸缩。在这项工作中,我们发现现有的参考实现是低效的(使用三次算法),这表明NGAC可能是不可扩展的。主要的NGAC参考模型版本1.5 [20]只能扩展到一个包含几百个节点的测试模型,此时需要几分钟来可视化只有一个用户可用的对象集。回答NGAC的这个可伸缩性问题是至关重要的,因为NGAC是唯一一种可用的访问控制方法,可以同时为多个访问控制策略的实例化提供有效的决策和审查。

唯一可用的其他多策略访问控制方法是当前的市场领导者,即来自OASIS [22]的可扩展访问控制标记语言(XACML)标准[21]。其他相关的基于逻辑的策略ABAC模型(没有引用实现或不是多策略)包括ABACα [13]、HGABAC [26]和ABAC for Web服务[29]。XACML已经被经验证明缺乏可伸缩性在[27]3不同的XACML实现所有经验每­性能问题在访问控制决策的性能下降随着策略数量的增加(XACML中的每个策略包含一组目标对象的访问规则)。此外,所有这些基于逻辑的策略ABAC模型都被证明是np完备的,它们只需确定用户访问特定资源[7]所需的访问属性(映射到可满足性问题)。因此,这些方法不能满足我们所说的对一个同时提供有效决策和审查的多政策系统的需要。因此,在确保限制内部人员访问敏感数据,以避免内部人员泄露信息方面,它们对于大型企业系统来说是不可取的。

在这项工作中,我们通过为访问控制决策和用户访问权限的审查提供线性时间算法,证明了NGAC是可扩展的。为了提供高效的决策能力,我们从图论的观点设计了一种有效的访问控制确定算法。我们首先将NGAC集理论转换为图表示(这很简单,因为规范本身经常使用图来说明示例)。不幸的是,合成的图表上有不寻常的特性和约束(有五种不同类型的节点,每种节点都有自己的语义)。因此,主要的挑战是如何将标准的图算法应用到这种表示中。我们的解决方案通常是使用宽度第一搜索(BFS)和深度第一搜索(DFS)变量执行一种拓扑排序原始操作,允许我们级联信息从一种类型的节点到另一个和渗透信息通过图,直到最终的答案。多次搜索的摊摊成本可以显示是线性的,从而产生线性时间复杂度算法。此外,它与整个访问控制图不是线性关系,而仅仅是与特定用户相关的图的部分。这可以提供更大的加速,避免甚至需要遍历整个图。

2、权限控制图遍历算法

使用NGAC规范[3]集理论定义,我们可以形成如下的访问控制图。需要创建5种类型的节点:用户(u) 、对象(o)、用户属性(ua)、对象属性(oa)和策略类(pc)。所有边都是定向的。根据每个规范,所有对象节点都是对象属性节点,但可能存在一个不是对象的对象属性。对象属性节点可能具有到oa节点和pc节点的边。但是,没有一个对象属性节点可以指向对象节点。用户节点是具有边到ua节点的源。用户属性节点可能具有到ua、oa或pc节点的边2.策略类节点是接收节点。禁止进行循环和自循环。对象属性的用户属性的边缘被标记为a一个或多个允许的操作(操作)(例如读取或写)。所有其他边都未标记。所有节点必须有至少一个pc节点的路径(不使用任何亚→o边)。为了达到复杂度评估的目的,u、o、ua和oa节点的数量是无界的。然而,假设pc节点的数量和ops集的基数是较小的常数。

这些连接性限制导致了我们可以利用的几个特性。整个图是一个有向无环图(DAG),它可以分为两个DAG:一个用户DAG(带有u和ua节点)和一个对象DAG(带有o和oa节点)。u个节点集作为用户DAG的源,o个节点集作为对象DAG的源。ua到oa边缘的集合桥接两个dag,这座桥是唯一一个标记边缘的地方,有操作(ops)。我们将这些桥接边两侧的节点集称为边界节点。pc节点集作为两个dag的接收器。所得到的整体图是弱连通的。现在可以表示一个任意的访问控制图,如图1所示。集合内的箭头表示该类型的节点可以有到该类型的其他节点的边,不允许循环。这意味着在pc节点集合中的节点之间没有边(u节点的集合和o节点的集合也是如此)。从ua节点集到oa节点,节点的箭头表示桥的边(它们包含ops标签,并连接用户和对象的dag)。桥边是确定用户权限的焦点(请参见下面的定义1)。

对于用户,u1,执行操作,操作1,对某个物体,o1,必须存在一组具有标签op的ua到oa边

缘1这样每条边的尾巴都能从u处到达1每个边的头都可以从o到达1其中,从头节点集可达的pc节点集是从o可达的pc节点集的超集1. 此定义有三个数据收集组件:

1、确定“活动的”ua到oa桥的边缘。这是具有标签op的桥接边缘集1以及从你可以到达那里的尾

巴1并且头部可以从o连接到1.这些活动的边缘是使u1可能有特权的操作1在o上1.

2、确定从每个活动桥边的头部可到达的pc节点集。这些pc节点的联合是op的“覆盖”策略类的

集合1.

3、确定从o中可访问的pc节点集1.这些是“需要”要被覆盖的策略类。

点点关注,下期精彩继续。

道一云七巧-与你在技术领域共同成长

更多技术知识分享:https://bbs.qiqiao668.com/

相关文章:

NGAC访问控制系列三:低代码产品NGAC运用与算法运用

目录 一、基于NGAC的低代码模型权限管理方案 二、多策略访问控制系统限制内部访问的线性时间算法 1、概述 2、权限控制图遍历算法 一、基于NGAC的低代码模型权限管理方案 NGAC在低代码平台的权限决策模型:功能权限数据权限 案例:对于七巧低代码开发平台&…...

Unity3D 面试题收录

Unity3D 客户端面试题收录(持续更新~) 面试题收录 本文收录一些对于 Unity3D 客户端可能遇到的面试题(持续更新~),答案仅出于个人理解,如有偏差,希望指正。 Unity3D MonoBehaviour 生命周期…...

Jrebel热部署不生效解决

打开setting找到build底下的complier勾选 build project automatically 设置自动构建项目 打开setting找到Advanced Setting勾选Complier中的第一项 Jrebel panel中勾选需要热部署的项目模块 项目配置信息:Edit Configuration中进行编辑,配置如下图…...

软件测试学习笔记丨Selenium键盘鼠标事件ActionChains

本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/22515 本文为霍格沃兹测试开发学社的学习经历分享,写出来分享给大家,希望有志同道合的小伙伴可以一起交流技术,一起进步~ 说明:本篇博客基于sel…...

CI/CD(持续集成与持续交付)流水线

集成 Jenkins、GitLab Webhook、Nexus 和 RabbitMQ 可以形成一个全面的 CI/CD(持续集成与持续交付)流水线,结合消息队列可以创建事件驱动的工作流。以下是配置这四个工具以实现一个基本的 CI/CD 流程的详细步骤。 前置条件 Jenkins、GitLab、…...

分布式光伏发电有什么优劣势

分布式光伏发电是指在离电力消费地点较近的地方,通过安装光伏发电系统来发电。这种系统通常用于屋顶、地面或其他建筑物上,相比于集中式光伏发电系统,它有一些独特的优势和劣势: 优势: 地理适应性: 分布式…...

Spring Boot框架中的IO

1. 文件资源的访问与管理 在 Spring Boot 中,资源文件的访问与管理是常见的操作需求,比如加载配置文件、读取静态文件或从外部文件系统读取文件。Spring 提供了多种方式来处理资源文件访问,包括通过 ResourceLoader、Value 注解以及 Applica…...

DBeaver连接Hive教程

hive shell:通过hive shell来操作hive,但是至多只能存在一个hive shell,启动第二个会被阻塞,也就是说hive shell不支持并发操作。 基于JDBC等协议:启动hiveserver2,通过jdbc协议可以访问hive,hi…...

Vue-Router源码实现详解

1.Hash模式 hash就是url中#后面的部分hash改变时,页面不会从新加载,会触发hashchange事件,去监听hash改变,而且也会被记录到浏览器历史记录中vue-router的hash模式,主要是通过hashchange事件,根据hash值找…...

程序员节日的日期是10月24日‌程序员日

‌程序员节日的日期是10月24日。‌ 这一天被称为‌中国程序员日或‌1024程序员节,由‌博客园、‌CSDN等自发组织设立,旨在纪念程序员对科技世界的贡献。 程序员节日的由来和意义 1024程序员节的由来可以追溯到2010年,最初由网友提出设立一个…...

联邦学习中的数据异构性

在联邦学习(Federated Learning, FL)领域中, 异构数据(Heterogeneous Data) 是指不同客户端所持有的本地数据在特征分布、类别分布、数量等方面存在差异的数据。这种数据的异质性是联邦学习面临的一大挑战,…...

Python小程序 - 替换文件内容

1. 写入文件c:\a.txt 1)共写入10行 2)每行内容 0123456789 # 1 ls 0123456789 ln 10 with open("c:/a.txt", w,encodingUTF-8) as f:for i in range(ln):f.write(ls\n)######################################### 2 ln 10…...

k8s备份恢复(velero)

velero简介 velero官网: https://velero.io/ velero-github: https://github.com/vmware-tanzu/velero velero的特性 备份可以按集群资源的子集,按命名空间、资源类型标签选择器进行过滤,从而为备份和恢复的内容提供高度的灵活…...

LED户外屏:面对复杂环境的七大挑战

户外LED显示屏作为现代城市广告和信息传播的重要媒介,其应用范围越来越广泛。然而,与室内环境相比,户外环境的复杂多变对LED显示屏提出了更高的要求。本文将探讨户外LED显示屏在设计和应用过程中必须考虑的七个关键问题。 1. 高分辨率 户外LE…...

LabVIEW自动化流动返混实验系统

随着工业自动化的不断发展,连续流动反应器在化工、医药等领域中的应用日益广泛。传统的流动返混实验操作复杂,数据记录和处理不便,基于LabVIEW的全自动流动返混实验系统能自动测定多釜反应器、单釜反应器和管式反应器的停留时间分布&#xff…...

【性能优化】安卓性能优化之CPU优化

【性能优化】安卓性能优化之CPU优化 CPU优化及常用工具原理与文章参考常用ADB常用原理、监控手段原理监控手段多线程并发解决耗时UI相关 常见场景排查CPU占用过高常用系统/开源分析工具AndroidStudio ProfilerSystraceBtracePerfettoTraceView和 Profile ANR相关ANR原理及常见场…...

springboot二手图书交易系统-计算机设计毕业源码88413

目 录 摘要 1 绪论 1.1研究背景 1.2研究意义 1.3论文结构与章节安排 2 二手图书交易系统系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1 数据流程 3.3.2 业务流程 2.3 系统功能分析 2.3.1 功能性分析 2.3.2 非功能性分析 2.4 系统用例分析 2.5本章小结 3 二手…...

解决ElasticSearch启动成功却无法在浏览器访问问题

目录 前言: 问题复现 : 解决问题: 1、修改sysctl.conf文件 2、在sysctl.conf文件增加这段东西 3、 然后保存退出,输入以下命令使其生效 结语: 前言: 这篇文章是小白我今天突然启动es,发现e…...

稀土有色包芯线良好的导电性

稀土有色包芯线是一种结合了稀土元素和有色金属(如铜、铝、镁等)的特殊线材。以下是对稀土有色包芯线的详细介绍: 一、组成与结构 芯线:由稀土元素和有色金属组成的合金制成。稀土元素(如镧、铈、镁等)的添加量在一定范围内,以确保合金性能的…...

SIP 业务举例之 Call Forwarding Unconditional(无条件呼转)

目录 1. Call Forwarding Unconditional 简介 2. RFC5359 的 Call Forwarding Unconditional 信令流程 PS:Dialog 建立条件 Dialog 会话完全建立 3. Call Forwarding Unconditional 过程总结 博主wx:yuanlai45_csdn 博主qq:2777137742 想要 深入学习 5GC IMS 等通信知识…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互

物理引擎(Physics Engine) 物理引擎 是一种通过计算机模拟物理规律(如力学、碰撞、重力、流体动力学等)的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互,广泛应用于 游戏开发、动画制作、虚…...

【HTML-16】深入理解HTML中的块元素与行内元素

HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...

企业如何增强终端安全?

在数字化转型加速的今天,企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机,到工厂里的物联网设备、智能传感器,这些终端构成了企业与外部世界连接的 “神经末梢”。然而,随着远程办公的常态化和设备接入的爆炸式…...

【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)

本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...

实战三:开发网页端界面完成黑白视频转为彩色视频

​一、需求描述 设计一个简单的视频上色应用,用户可以通过网页界面上传黑白视频,系统会自动将其转换为彩色视频。整个过程对用户来说非常简单直观,不需要了解技术细节。 效果图 ​二、实现思路 总体思路: 用户通过Gradio界面上…...

系统掌握PyTorch:图解张量、Autograd、DataLoader、nn.Module与实战模型

本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文通过代码驱动的方式,系统讲解PyTorch核心概念和实战技巧,涵盖张量操作、自动微分、数据加载、模型构建和训练全流程&#…...

数学建模-滑翔伞伞翼面积的设计,运动状态计算和优化 !

我们考虑滑翔伞的伞翼面积设计问题以及运动状态描述。滑翔伞的性能主要取决于伞翼面积、气动特性以及飞行员的重量。我们的目标是建立数学模型来描述滑翔伞的运动状态,并优化伞翼面积的设计。 一、问题分析 滑翔伞在飞行过程中受到重力、升力和阻力的作用。升力和阻力与伞翼面…...

Ubuntu系统复制(U盘-电脑硬盘)

所需环境 电脑自带硬盘:1块 (1T) U盘1:Ubuntu系统引导盘(用于“U盘2”复制到“电脑自带硬盘”) U盘2:Ubuntu系统盘(1T,用于被复制) !!!建议“电脑…...

2.3 物理层设备

在这个视频中,我们要学习工作在物理层的两种网络设备,分别是中继器和集线器。首先来看中继器。在计算机网络中两个节点之间,需要通过物理传输媒体或者说物理传输介质进行连接。像同轴电缆、双绞线就是典型的传输介质,假设A节点要给…...

密码学基础——SM4算法

博客主页:christine-rr-CSDN博客 ​​​​专栏主页:密码学 📌 【今日更新】📌 对称密码算法——SM4 目录 一、国密SM系列算法概述 二、SM4算法 2.1算法背景 2.2算法特点 2.3 基本部件 2.3.1 S盒 2.3.2 非线性变换 ​编辑…...