2

我有一个用 node js 制作的 API REST,现在我想实现一些 XACML 策略。我一直在寻找,我发现我可以使用 ALFA 来制定 XACML 规则。但我需要一个 PDP 来应用这些规则。我可以使用什么/如何实现它?

我已经阅读了有关 WSO2 身份服务器的信息(我认为我可以将其用作 PDP?我不确定)。对于一个小项目来说,这可能太多了。还有其他建议吗?或者 WSO2 是否合适?

4

3 回答 3

3

现在 XACML 3.0 的首选开源实现是AuthZForce。在 OSS 中,它是最新的。在商业领域,研究Axiomatics(我工作的地方)。他们拥有最新的 PDP,并且是该标准的作者。

于 2020-02-21T07:44:14.150 回答
2

是的,您可以使用 Wso2 身份服务器作为您的 PDP。一旦我需要通过 XACML [1] 保护 Spring Boot REST API。无论如何,使用 Identity Server PDP 比实现一个要容易得多。您有简单的初学者示例,可以针对您的用例进行尝试。[2] 身份服务器中有一些工具可用于创建 XACML 规则。

[1]。https://medium.com/@buddhimau/role-based-authorization-for-spring-boot-using-wso2-identity-server-3d74ab307fb9

[2]。https://medium.com/@gdrdabarera/how-entitlement-management-works-with-rest-api-via-xacml-in-wso2-identity-server-5-3-0-7a60940d040c

于 2020-02-20T11:56:08.747 回答
1

补充 Buddhima Udaranga 的回复,如果你觉得 IS 对于一个小项目来说太多了,那么你可以直接使用balana,它是 IS 内部使用的授权引擎。您可以参考this了解更多详情。但是balana只有java API。

于 2020-02-20T12:02:49.903 回答