问题标签 [balana]
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.
authorization - 有人在任何 Java 应用程序中使用 Balana 实现了 XACML 3.0 的委托配置文件和义务吗?
我目前正在对 XACML 3.0 的新功能进行一些研究,称为管理委托配置文件和基于属性的访问控制 (ABAC) 的义务。任何人都可以帮助我获得一些好的阅读和资源来对这个领域做进一步的研究,而且如果我打算使用 Java 在我的 Web 应用程序中实现这些概念,那么前面的优点和缺点是什么,我该如何整合这些证明概念?
目前,我使用Balana作为后端安全框架来解析我的请求/响应,这显然不支持委派,所以最好使用什么框架。或者如果我想自己做我能做什么以及在当前实施中我需要做出哪些改变。
xacml - 如何使用 XACML 在我的义务表达式中返回多个属性值?
我在我的 java 应用程序中使用 XACML 3.0 和 Balana。我的 XML 模式定义如下:
我的应用程序向 PEP 发送 XACML 请求,如下所示:
在我的政策规则中,我有:
我的回复如下:
这不包含 coPisEmail 和 coPisFullName 的任何义务值。另外我不确定如何获取这些动态属性的值?我如何在我的应用程序中使用这些值?例如,它会只返回一个包含所有电子邮件和全名的值,还是会在单独的响应中返回单个值?我想我在这里遗漏了一些功能:
balana - WSO2 巴拉纳日志
当我在 INFO 级别为 Balana 配置日志记录时,我看到 balana.log 文件不包含任何条目。DEBUG 级别似乎也没有生成任何条目。任何有巴拉纳经验的人都可以提供一些关于巴拉纳伐木的见解。
authorization - 在 Balana 中实现自定义 XACML 函数
经过大量工作尝试在 balana 中安装自定义函数(用于在策略中的应用条件中使用),我想在这里问。基本上什么文档告诉你在 balana 引擎中安装新功能是:1)在配置中插入如下内容:
和offcourse实现那个类
确实覆盖 getsupportedidentifiers 它甚至不是必需的,但无论如何..
现在,当 balana 启动时,您会看到您的类已初始化,构造函数被调用。然后,即使在 balana 初始化之后,您也可以执行以下操作:
并且您看到您的功能已加载并准备就绪。好的。不,失败。在使用我自己的自定义 balana 核心构建和大量调试消息进行调试后,您可以清楚地看到 Apply 元素在一个策略中解析运行时并且 Apply.getInstance( 它被调用,并且工厂它与您的函数名称一起传递,在那个工厂没有你的函数,所以你得到的只是一个带有“Unknown FunctionId”的异常运行时。我什至尝试手动安装函数工厂,比如:
我再次可以在此代理中看到我的函数,但归根结底,在运行时,当引擎解析
一个例外,它是 trow,Unknow FunctionId。很明显我错过了一些东西,我在问谁能完成内部自定义函数的工作示例并应用元素。谢谢大家。
wso2 - Balana“评估”命令导致 NoClassDefFoundError
我从这里得到了一个 balana 1.0.5 的罐子:
http
://maven.wso2.org/nexus/content/groups/wso2-public/org/wso2/balana/org.wso2.balana/1.0.5/
我有一个没有配置的 pdp 实例,我试图向它传递一个示例 xacml 请求字符串,以查看是否可以获得输出,然后我可以为 PDP 提供一个运行的策略配置,但是当我收到此错误时调用评估。
我想知道我是否使用了错误的来源,或者我是否使用了正确的来源。
- 这是使用 1.0.5 balana 造成的吗?
- 这是使用jar而不是源文件吗?
- 如果我应该使用 mvn 下载而不是浏览 wso2 maven 存储库?
- 我尝试追踪包含对 SecurityManager 的引用的 xercesimpl.jar,但是当我将其导入类路径时,它会破坏一些 w3c xml 内容,否则这些内容可以正常工作。是否有使用 System 的 SecurityManager 而不是尝试依赖 xerces 的 balana 版本?
我还尝试使用相同的 1.0.5 jar 加载 K-Market 样本,我得到相同的错误,并且再次使用 1.0.4 jar,但如果我转到 1.0.3 jar,它会停止发生不同的错误。
authorization - XACML 政策。应用函数字符串子集给出意外结果
我正在使用从git下载的 balana 。我正在研究一个策略规则,如果策略的字符串包是请求中匹配属性的子集,则该规则应该只允许。例如。请求包含属性"letter=a, letter=b"
,并且策略使用字符串子集来比较从请求到字符串包的字母属性集。Permit
我已经尝试了两个子集的顺序(子集字母 stringbag 与子集 stringbag 字母),但是当我的测试请求应该得到“”时,它们都返回“ Deny
”。
示例政策
我正在通过这个测试请求:
要求
所以,我的想法(因为我不确定有什么方法可以否定它)是
- 它隐含地将条件的否定匹配与效果的否定相关联。
如果这是真的,我的直觉是,一个可以的匹配子集应该说“允许”,但如果它不符合条件,它会改为说“拒绝”。
由于没有目标语句,我的直觉是它“应该”尝试评估所有请求的条件,因此不匹配条件不应该导致规则跳过被评估。
无论如何,看着样本,我希望它说“我的政策接受 A、B,但你有 A、B、C,所以我不得不拒绝你。” 不幸的是,这不是它正在做的事情,我不知道为什么。请帮忙。x_x
xacml3 - XACML 3.0 和 rfc822Name 属性
我是 XACML 的新手。我正在使用Balana
,我想我已经掌握了基本知识,所以我正在尝试Target
,Rule
和Condition
. 我的政策是由两条规则制定的。第一条规则适用于所有人med.example.com
(是的,OASIS 提供的基本示例)在其主题名称中,如果您的主题名称是jim@med.example.com
您将获得 PERMIT 作为响应。我知道这是多余的。第二条规则说每个人都不会满足第一条规则的条件将得到一个拒绝。我想要做的是在和中使用一个rfc822Name
属性。可能吗?这是我的政策定义:Target
Condition
当我尝试评估我的请求时,我得到了这个例外:
为什么会出现这个异常?XACML 3.0 说您可以在 Condition 中使用 AttributeDesignator。有什么我想念的限制吗?完整的项目可以在这里找到。看看PolicyWithDenyRule
测试。
authorization - XACML 3.0 和多种资源
我试图弄清楚如何使用 Balana 的 XACML 实现(WSO2 的权利引擎基于 Balana)来实现授权机制。
当用户请求访问单个资源时(例如,bob 想要阅读医疗记录),事情就很简单了。
但是,假设 bob 想要阅读他所有患者的医疗记录。这里的第一个问题是需要有一种方法来弄清楚谁是他的病人。我还需要为他的患者的每条记录获取属性。问题是,我正在尝试解决这种情况,同时将我的 PIP 的属性请求数量保持在最低限度。
重新表述我的目标:我正在尝试根据 PIP 返回的属性(并且我希望我的 PIP例如,与数据库的交互尽可能少)。
简而言之,我发现当尝试使用 XACML 控制对资源集合的访问时,事情变得很棘手。
我在这里找到了一些选择:
我的请求包含主题、操作、资源 ID 和范围。我使用 XACML 多决策配置文件:PDP 知道子/后代资源是目标,因此它将为每个子/后代创建多个评估上下文(但尚未找到资源的属性)。然后,使用 PIP,它将检索每个单独评估上下文的属性(例如,获取 bob 的医生 ID,然后获取每个单独资源的医生 ID)。例如,如果我的 PIP 正在查询数据库,它将针对每个单独的请求对每个单独的属性执行大量查询,因此对性能有很大影响。
我的请求包含主题、操作、资源 ID。我不再使用多重决策配置文件。但是,在创建评估上下文并要求 PDP 评估我的请求之前,我知道我的资源实际上是一个集合,因此我以某种方式获取所有子/后代及其所有属性,并且只有在获得所有这些信息之后,我才手动创建个人决策对每个孩子/后代的请求,以及其中的所有相应属性。因此,我向 PDP 提出了一个重要的决策请求,其中包含几乎所有必要的属性。因为决策请求几乎具有评估上下文中的所有属性,所以不需要询问我的 PIP。这样做的好处是,我在 PDP 评估决策之前获得了所有信息,因此 PIP 必须做的工作保持在最低限度。
我的请求包含主题、操作、资源 ID。我使用多决策配置文件。我有一个可以找到儿童/后代资源和一些 PIP 的组件。所有这些组件都使用一个存储库,假设称为 MedicalRecordsRepository。当请求子/后代 ID 时,此 repo 还会从数据库中获取所有属性并将所有这些信息存储在缓存中。因此,之后,当有多个单独评估的评估上下文时,如果请求 PIP 返回一个属性,它将从 repo 的缓存中获取该属性。因此,数据库交互保持在最低限度。但是,问题在于存储库组件及其缓存。
我已经阅读了规范,我四处寻找,但我还没有找到任何解决这个问题的方法。有没有人有任何想法?提前致谢!
java - How do I start working with Balana in Maven project
errorBalana error I'm working on eclipse Luna and I have added Maven to eclipse, and now I want to work with Balana to test some policies that I had written it.
I have edited pom file and added this dependency:
When I try to start w+orking with Balana, by writing this code:
private static Balana balana;
private static void initBalana() {
It gave so many errors on most of the code!
Edited: First, it gave as the picture... I had tried to solve it, but other errors had appeared. As this:
Any help... and Thanks...