【发布时间】:2026-01-20 00:30:01
【问题描述】:
我正在尝试在 MapReduce 中测试一种安全方法,我想知道我的方法是否有意义。 我想将 MapReduce 中存在的访问控制列表策略转换为 XACML 策略,以便我获取定义 ACL 的文件并复制每个属性的名称和值,然后将其放入遵循 XACML 格式的策略中。
这是 ACL 定义
<property>
<name>mapreduce.job.acl-modify-job</name>
<value>user </value>
</property>
<property>
<name>mapreduce.job.acl-view-job</name>
<value>user </value>
</property>
这是 XACML 中的策略
<Policy PolicyId="GeneratedPolicy" RuleCombiningAlgId="urn:oasis:names:tc:xacml:1.0:rule-combining-algorithm:ordered-permit-overrides">
<Target>
<Subjects>
<Subject>
<SubjectMatch MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal">
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">user </AttributeValue>
<SubjectAttributeDesignator AttributeId="urn:oasis:names:tc:xacml:1.0:subject:subject-id" DataType="http://www.w3.org/2001/XMLSchema#string"/>
</SubjectMatch>
</Subject>
</Subjects>
<Resources>
</AnyResource>
</Resources>
</Target>
<Rule RuleId="rule1" Effect="Permit">
<Target>
<Actions>
<Action>
<ActionMatch MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal">
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">mapreduce.job.acl-view-job</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>
<Rule RuleId="rule2" Effect="Deny"/>
</Policy>
这被认为是正确的吗?
【问题讨论】:
-
有机会我会测试一下这个政策。看起来不错。你用什么工具来生成它?你用什么引擎来运行它?
-
我正在使用 Xengine 来测试和生成这个策略。
-
我会使用 AuthZForce(开源)或 Axiomatics(商业),因为它们在实现方面更完整。
-
您可以使用 ALFA 来编写策略 BTW
-
更重要的是,AuthZForce 或 Axiomatics 使用 XACML 3.0 而不是您发送给我的 2.0。
标签: mapreduce acl access-control xacml abac