问题标签 [abac]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
349 浏览

permissions - 基于角色的访问控制,通过某些属性进行权限限制

每个用户都有一个或多个角色,每个角色都有一个或多个权限。到目前为止,我可以通过角色收集与用户关联的所有权限。

问题

一些权限有一些限制。例如:

用户可以编辑属于他的站点的所有帖子,但不能编辑其他帖子。

因此,“编辑帖子”权限应该有这个约束。

关于模型:如果约束与权限相关,我无法确定哪些约束对特定用户有效。

用户模型可以具有像“站点”这样的属性,但不是所有属于一个站点的用户都应该具有上述约束。他们中的一些人应该能够编辑所有帖子。

问题

确定哪个约束对特定用户处于活动状态的最佳方法是什么。我是否必须将其拆分为单独的权限并将约束集成到权限模型中,还是有更好的解决方案?我偶然发现了基于属性的访问控制,但我不确定是否应该切换到完全不同的方法

任何帮助表示赞赏:)

0 投票
1 回答
802 浏览

authorization - 使用开源 XACML 实现来模拟 PDP、PEP 和 PAP

我正在开发一个 ABAC 项目,并在 Eclipse 中使用 ALFA 插件来编写策略并通过 java 程序执行相同的策略。相反,我想利用可用于模拟 PDP、PAP 和 PEP 的开源 XACML 实现。如何解决问题?

0 投票
2 回答
5762 浏览

asp.net - 角色/声明访问控制系统的替代方案

我正在为不断增长的系统开发 REST API。一般来说,角色/声明访问控制就像这样完美地工作。

例如,当我的用户可以更深入地控制访问权限时,就会出现问题,如下图所示。这是系统的一个抽象示例。

用户类型

如果我需要查询某个区域中的某些内容,这很简单,但是当我需要从中获取所有内容时ItemsDepartments我必须编写相同的丑陋代码,我无法真正重用。不是真正的代码,但看起来像这样。

它显然很难看而且很难维护,尤其是当我需要在系统中引入另一个级别时。

是否有任何框架可以处理这个问题或我可以实现的正式架构?

0 投票
1 回答
465 浏览

xacml - 使用 ABAC 安全性时,如何查找规则?

在实现 ABAC/XACML 时,规范表明您应该使用 PEP 拦截对敏感数据的请求,PEP 将请求路由到 PDP(在调用 PDP 时,PEP 包括有关主题、环境、资源和操作的属性)。

然后,PDP 确定需要为访问决策评估哪些规则。

来自维基百科: https ://en.wikipedia.org/wiki/XACML

XACML 提供了一个目标,[5] 它基本上是一组针对主题、资源和操作的简化条件,策略集、策略或规则必须满足这些条件才能应用于给定请求。一旦发现策略或策略集适用于给定请求,就会评估其规则以确定访问决策和响应。

策略集、策略和规则都可以包含目标元素。

我的理解是,PDP 如何决定 PIP 中的哪些规则适用是特定于实现的,但这似乎是流程中非常重要的部分——例如,如果您错过了一条规则,您将无法正确评估请求。人们以什么方式实现了这一点?什么有效,什么无效?(我不情愿地倾向于针对 EAV 表进行查找。)

0 投票
1 回答
874 浏览

authorization - 使用 ABAC/XACML,您如何保护报表/大型结果集中的资源?

人们在运行报告甚至只是从数据库中选择多条记录时是如何使用

例如,如果您的政策规定:

医生只能在他们的医院查看病人

显然,实现这一点的有效方法是在查询中包含一个过滤器 ( where hospital = XXX),但这似乎与 ABAC 的原则相违背,因为它将规则烘焙到 SQL 本身中。

我知道Axiomatics提供了一种反向查询机制,它显然会根据规则为您生成过滤器——但我的系统有很多复杂的 sql,必须对其进行大量重构才能使用。

其他人是如何处理这个问题的?

0 投票
1 回答
146 浏览

time - XACML 3.0 中的时间数学和时区支持

我想了解有关 XACML 版本 3 的 PDP 流程决策的一些见解,其中涉及基于时间窗口的决策的处理,特别是它如何与作为规范一部分的时区字段支持一起工作。

对于策略,我使用这样定义时间事件:HH:MM:SS-Tz:00

例如,我们可以谈论一个位于纽约市的数据中心,目前在东部夏令时 (EDT) 下运行在 UTC -4 小时,而在西海岸、旧金山地区在 UTC -7 小时存在客户,也使用 DST 调整。此外,我们可能会在没有 DST 的情况下在 UTC-3 看到来自圣保罗的访问。

如何定义授权访问窗口以覆盖每个地点工作时间内的所有服务交付?我们应该在 UTC (+00:00) 下声明它还是 PDP 在策略处理期间进行所需的转换,例如在 18:00:00-07:00(旧金山的一天结束),这将映射到01:00:00 UTC 作为服务交付的最终限制,转换回纽约为 21:00:00-04:00。

我假设请求将在本地时间生成,也参考本地时间。

我们能否在 XACML PDP 下推动基于中央时间的决策,或者在每个办公室和时区基础上应用多个策略更好,例如为每个城市使用单独的策略,例如:旧金山、圣保罗和新约克?然而,类似的担忧是对显示几分之一小时的亚洲时区的支持。是否有可用的文档来澄清 XACML 下与时间数学相关的疑问?

时间窗口决策的示例规则

0 投票
2 回答
359 浏览

authorization - XACML 与 WSO2 身份服务器

我刚开始用 wso2 学习 xacml,我浏览了这个示例帖子,它运行良好。我的问题是如果我使用 tomcat 部署我的战争文件而不是 wso2,那么我如何保护我的受保护页面。

谢谢你

0 投票
0 回答
109 浏览

authorization - 多级授权

我需要对一些公共托管的 API 实施授权。应允许外部实体在认证和授权后使用 API。基本身份验证将用于执行身份验证。授权应基于角色,并且必须在多个级别进行:

  1. 如果标识的用户具有 system_user 角色,则允许 API 访问 else
  2. 如果识别的用户没有 system_user 角色,则找出在数据库中映射到哪个设备(试图从哪个用户访问)的帐户。识别帐户后,确定该帐户是否属于该用户,并且用户已获得该帐户的正确角色。

实现此逻辑的一种方法是我使用数据库和代码创建所有专有的东西。但在我这样做之前,我想知道是否有一些工具可以通过 XACML 等规则帮助实现这个逻辑

0 投票
1 回答
73 浏览

authorization - XACML 中的元素 CombinerParameters 和 CombinerParameter

我正在阅读 XACML 标准并且看到了这些元素,但是文档非常技术性,我找不到有关这些元素的示例。

XACML中的元素CombinerParametersCombinerParameter作用是什么?

谢谢。

0 投票
1 回答
364 浏览

authorization - 使用 XACML 策略 wso2is-5.1、wso2esb-4.9 和 wso2as-5.3 的身份验证和授权示例

我是 wso2 环境的新手。我正在做一个使用 wso2 技术进行身份验证和授权的示例应用程序。在http://wso2.com/library/articles/上,我找到了相同的示例应用程序,但这些示例应用程序基于旧版本的 wso2 软件。

我正在为我的应用程序使用 XACML-3.0、wso2is-5.1、wso2esb-4.9 和 wso2as-5.3。我主要是配置问题。

如果有人有示例应用程序或知道链接,我可以在哪里获得,请告诉我。

谢谢