我正在使用分布式场景,其中我有多个 PEP 和 PDP 实例,在这种情况下,PDP 将如何验证 XACML 请求来自我信任的 PEP。

最佳答案

可以有不同的方式来信任 PEP。规范中没有明确提到它。但是提到必须使用 SSL 和身份验证机制(例如 Basic/Digest 身份验证)。还有一个 SAML-XACML 配置文件,讨论 PEP-PDP 通信。但我想,可以使用以下两种简单的方法。

  • 使用 SSL 的基本身份验证。每个 PEP 都带有用户/密码。当 PEP 发送 XACML 请求时,必须在 Basic auth header 中发送 User/Pass。 PDP 可以通过处理基本身份验证 header 来验证用户/通行证。所有 PDP 都可以连接到相同的凭证存储。
  • 相互 SSL。 (双向 SSL)。您可以实现 PDP 以支持双向 SSL。然后 PEP 必须通过交换证书来创建 SSL session 。 PEP 必须有自己的证书(私钥、公钥对)。要信任由 PDP 认证的 PEP,它们必须在 PDP 的信任存储中。(或较少由受信任的 CA 签名)然后 PDP 可以信任 PEP 的证书。
  • 关于xacml - 如何管理 PEP 和 PDP 之间的信任,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21479622/

    10-13 03:28