问题标签 [alfa]

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 回答
609 浏览

authorization - XACML 条件比较主题属性和资源属性,未硬编码

我正在研究 XACML 中的一项策略,其中应将具有安全分类和类别的主题与对象的分类和类别进行比较。请求可能是:

  • 主题:
    • 分类: 秘密,
    • 类别:北约,欧盟。
  • 资源:
    • 分类: 秘密,
    • 类别:北约。

这应该是允许的。如果资源的分类高于主题,或者主题没有正确的类别,则结果应被拒绝。所以,我需要以某种方式对分类进行排名(使用 in-bag 函数?)以查看主题是否具有正确的分类。我还需要比较主体和客体的一个或多个类别。

我只能使用分类对其进行硬编码,并且我在此站点上看到的类似问题使用 3.0 和。我无法对类别部分进行编码。这是我在硬编码属性策略中的条件。

有什么帮助吗?

此代码适用于硬编码属性。

0 投票
1 回答
49 浏览

authorization - ALFA 和 XACML 的命名和大小写指南

是否有使用 ALFA 语言命名和封装命名空间、属性、规则、策略等的指南或至少是最佳实践?

由于 ALFA 依赖于 XACML,那么 XACML 有什么类似的吗?

0 投票
1 回答
72 浏览

xacml - ALFA 中的 1:n 关系和复杂属性类型

我正在尝试将我们的数据库模型输入 ALFA 以检查 ALFA 和 XACML 的功能。

像下面这样的属性可能吗?届时如何看待规则?

1:n 按字符串列表

1:n 按复杂类型列表

0 投票
1 回答
35 浏览

authorization - 一个属性可以用于 ALFA 中的多个类别吗?

Adoctor可以属于subjectCat(尝试访问的用户)或resourceCat(对象尝试访问的医学检查的转诊医生)。

在我看来,为了支持这两种情况,我需要分别doctor为每个类别定义:

这很麻烦,而且有很多冗余。我能做些什么来避免这种情况吗?

0 投票
1 回答
63 浏览

authorization - 只需检查 ALFA 目标子句中是否存在

我想写一个目标子句,上面写着“如果设置了某个属性(oneAndOnly),那么该策略适用”。我见过 [mustbepresent] 的东西,但是,它总是需要一个比较器(如==)。

这是我的方法,但语法检查器抱怨......

我见过你定义了一个字符串属性“resourceType”,但我不喜欢定义这样的元属性。我宁愿检查某些属性的存在。

0 投票
1 回答
43 浏览

authorization - ALFA 中的常量(常量变量)

2015 年 3 月 10 日的 ALFA (alfa-for-xacml-v1.0-wd01) 的 OASIS 工作草案 01 谈到了常数值

3.15 常数值

常量值可以出现在策略表达式中。ALFA 直接支持字符串、整数、双精度和布尔类型的常量。字符串用单引号或双引号引起来。整数由一个数字和一个可选的减号组成。Double 由一个带小数点的数字和可选的减号组成。布尔值由值 true 和 false 组成,不带引号。其他数据类型使用后跟冒号和数据类型名称的字符串表示。

这意味着,您可以使用该示例中的常量值(虽然report是常量值):

但问题是,一旦 ALFA 文件增长并且您已将常量值report全部写入,您可能希望将常量值更改为my.company.attributes.medicalReport. 为此,您必须查找并替换所有出现的常量值。

因此(为了避免冗余)constants已经在其他语言中发明了,您可以在其中定义 smth. 像

甚至更高效:

甚至更优雅:

定义了这些常量后,我可以编写我的目标,例如:

ALFA 是否支持常量或者有办法“模拟”它们(可能是返回所需值的函数)?

0 投票
1 回答
54 浏览

authorization - 在 ALFA 中使用数学

如何获得这样的规则:

语法荧光笔抱怨它不知道这些项目:

  • & (这是一个二进制数学运算)
  • 0x00000040(这是整数的十六进制表示)

编辑

(在问题中添加 OP 的评论)

我想尽可能多地保留在我当前的应用程序中。意思是,我不想对我的数据库模型进行太多更改。我只想实现新的 PEP 和 PDP 部分。所以,目前用户的权限是存储在一个 Long 中的。数字中的每一位代表一个权利。为了得到正确的结果,我们做了一个二进制 & 操作,它掩盖了 Long 中的其他位。我们可能会重新设计这部分,但仍然很高兴知道对数学运算的支持有多远

0 投票
2 回答
406 浏览

security - 如果无法解析属性,ABAC PIP 应该怎么做?

如果 PIP 和整个 ABAC 引擎无法解析属性,它应该如何表现。有几种情况:

  1. 找不到我们用来解析属性的目标对象
  2. 无法解析属性,因为提供的属性不足以请求附加信息。就像我们传递单个 userId 和没有 id 的资源名称一样。
  3. 如果在属性解析链中(当某些属性依赖于另一个属性时)缺少某些东西,使得目标属性解析变得不可能。
0 投票
1 回答
281 浏览

authorization - 在 WSO2 身份服务器管理控制台上使用策略编辑器创建 XACML 策略时出错 - wso2is-km-5.3.0

我正在使用预打包的 IS WSO2IS-km-5.3.0 将 IS 作为密钥管理器与 WSO2 AM 2.1.0 集成。当我尝试使用 WSO2 Identity Server 管理控制台上的策略编辑器创建策略时,策略创建失败并显示以下消息:

添加权利策略时出错。无效的权利政策。根据 XACML 模式,策略无效

无论我尝试使用任何编辑器选项(基本策略编辑器、简单策略集编辑器、策略集编辑器)创建策略,都会发生这种情况。

当我们将值设置为时,策略已成功添加

位于IS_HOME/repository/conf/identity位置的entitlement.properties文件中的 PDP.SchemaValidation.Enable = false 。

请让我知道创建策略所需的配置。我找到了关于此的以下链接,但无法解决我的问题:

WSO2 API Manager 1.8 - 试用 XACML - 创建策略时出错

xacml 版本:IS 和 APIM 的 5.7.5 以及 APIM 上的 XACML 调解 4.6.10

0 投票
1 回答
181 浏览

authorization - 复杂的XACML,包的组合和依赖

我有这样的 XACML 请求(伪 xacml):

我希望创建一个拒绝使用上述请求访问的策略,并在主题被赋予缺失属性(已注释掉)时允许访问。

有没有办法在 XACML/ALFA 政策中表达这一点?

如果 XACML 中有一个函数可以“加入”包(想想 sql-join),那将会很有帮助。这样我就可以使用函数“AnyOfAll”和“String-Equal”的组合。

想要函数的伪xml: