1

我有一套资源。每个资源都有自己的安全策略,它是安全规则的组合。

为了在 XACML 中创建这些策略,我可以使用什么:元素Policy或元素PolicySet

例如 :

  • 规则 1:要读取资源 1,用户必须具有管理员角色
  • 规则 2:要在资源 2 上写入,用户必须拥有来自域 @yahoo.com 的电子邮件地址
  • 规则 3:要阅读资源 3,用户必须来自圣乔治医院
  • 规则 4:要写入资源 1 用户必须具有护士角色。

在这种情况下:我应该为资源 1 创建一个策略元素,为资源 2 创建另一个策略元素,依此类推,所有这些都在 PolicySet 元素下吗?或者我应该在该安全规则 1 和 2 下创建一个策略元素,依此类推?

4

1 回答 1

1

您可以选择以多种不同方式进行建模。不一定有对或错。当我培训我们的客户时,我通常建议您设计策略,以便:

  1. 他们很容易理解
  2. 它们易于管理
  3. 他们可以轻松成长以适应新场景
  4. 它们允许协作。

最常见的模式是定义您的资源层次结构。例如,您将拥有财务应用程序 > 帐户对象 > 个人信息部分 > 名称字段。

然后您可以开始查看其他属性,例如用户属性(角色、部门...)

您通常会使用 PolicySet 元素,直到您知道您将需要一个规则,在这种情况下您将切换到一个策略。请记住,PolicySet 元素可以包含 PolicySet 和 Policy 元素。这允许任何深度的策略结构。如果我们重新审视我们的示例,我们将有:

XACML 策略结构

于 2016-11-01T15:34:00.383 回答