【发布时间】:2016-01-29 05:57:00
【问题描述】:
我正在开发 XACML 策略,并且正在使用 sun.xacml 库。 我想比较两个属性:一个用于主题,一个用于资源,以允许访问资源。
我已经生成了这个 XACML 文件
<?xml version="1.0"?>
<Policy PolicyId="GeneratedPolicy" RuleCombiningAlgId="urn:oasis:names:tc:xacml:1.0:rule-combining-algorithm:permit-overrides">
<Description>Policy che permette la lettura del file ai client che hanno un livello di permesso maggiore o uguale al livello di permesso del file richiesto</Description>
<Target>
<Subjects>
<AnySubject/>
</Subjects>
<Resources>
<AnyResource/>
</Resources>
<Actions>
<Action>
<ActionMatch MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal">
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">read</AttributeValue>
<ActionAttributeDesignator AttributeId="urn:oasis:names:tc:xacml:1.0:action:action-id" DataType="http://www.w3.org/2001/XMLSchema#string"/>
</ActionMatch>
</Action>
</Actions>
</Target>
<Rule RuleId="canRead" Effect="Permit">
<Target>
<Subjects>
<AnySubject/>
</Subjects>
<Resources>
<AnyResource/>
</Resources>
<Actions>
<Action>
<ActionMatch MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal">
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">read</AttributeValue>
<ActionAttributeDesignator AttributeId="urn:oasis:names:tc:xacml:1.0:action:action-id" DataType="http://www.w3.org/2001/XMLSchema#string"/>
</ActionMatch>
</Action>
</Actions>
</Target>
<Condition FunctionId="urn:oasis:names:tc:xacml:1.0:function:string-greater-than-or-equal">
<Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:string-one-and-only">
<SubjectAttributeDesignator AttributeId="level-permission" DataType="http://www.w3.org/2001/XMLSchema#string"/>
</Apply>
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">4</AttributeValue>
</Condition>
</Rule>
<Rule RuleId="FinalRule" Effect="Deny"/>
</Policy>
问题是资源有等级权限,我想比较主题的等级权限和资源的等级权限,但我不知道怎么做。
非常感谢
【问题讨论】:
-
我不确定我理解你到底想要做什么。您所说的“级别权限”指的是什么?是不是像 MLS 模型中那样的某种访问级别,其中每个主题都有一个(最大)访问级别(秘密、绝密......),每个资源都有一个(最小)访问级别好吗?
-
你能用简单的古英语(或意大利语)表达你的最终目标吗?例如:具有角色==经理的用户想要对 X 类型的文档执行操作==查看,当且仅文档分类
-
另外,这看起来像 XACML 1.1 或 XACML 2.0 策略。您使用什么来生成策略?你调查过 ALFA 吗?
-
ognisubjects e risorsa ha un livello di permesso, la policy mi deve dire se il subject può leggere la risorsa.
-
每个主题和资源都有一个级别权限,政策目标是主题是否可以读取资源。
标签: authorization access-control xacml abac alfa