1

我将通过OAuth2和XACML(使用AuthZForce,Balana,AT & T XACML或类似的软件)来保护我的Spring Cloud应用程序。Spring Cloud的XACML

我想使用Spring-Cloud(-Netflix)的微服务。为了使XACML可我想,我需要这样的:

  1. PEP为每个现有的API服务
  2. PDP的新服务,由PEP的使用。因为Spring-Cloud(-Netflix)具有负载均衡功能(Eureka),所以我需要在Eureka上注册此服务并实现REST-API。
  3. 因为所有PDP的应该使用相同的策略,他们需要集中(政策提供商)

哪种框架是最适合这种方式存储。

更新1 应该(根据特征描述)与AuthZForce是可能的,但我真的不知道如何(有没有详细的文档或者教程)。

回答

1

我不太了解所有的框架,所以我不能给出客观答案哪个框架最适合。但我可以给AuthzForce一个答案。

对于PDP部分,您可以使用AuthzForce Core作为Java库。 wiki提供了有关策略提供程序的信息,以及如何在必要时将自己添加到框架。那里有一个从MongoDB数据库获取策略的例子。请注意,如果您希望PDP使用相同的策略,则中央存储是一种解决方案,但另一种方法是使用复制/同步。例如,如果您使用支持在本地文件系统上获取策略的策略提供程序,则像csync2这样的分散式集群同步工具可以在没有单点故障的情况下完成这项工作。

此外,您可能对AuthzForce Server感兴趣,它提供符合XACML REST profile(PDP部分)的multi-tenant REST API for both PDP and PAP(策略管理)。如果你只需要PDP,可能是矫枉过正,但如果你的需求朝着这个方向发展,可能值得一看。对于PEP部分,您可以重用Maven Central(groupId = org.ow2.authzforce,artifactId = authzforce-ce-xacml-model)上提供的authzforce-ce-xacml-model(和依赖关系)来操纵与您交换的XACML请求/响应PDP的REST API。这主要包含从XACML模式派生的所有JAXB注释类,以及标准XACML标识符的枚举:类别,属性,数据类型等。

+0

感谢您的答案,并且您已将Wiki添加到Core-Repo。我会给AuthZForce另一个机会,并会接受这个答案,如果我得到它的工作。 – benkuly

+0

好的。 AuthZForce Core不提供OASIS XACML JSON Profile v1.0,所以很遗憾不适合我。对不起:(如果Core至少得到了对REST配置文件的支持,它可能会改变我的想法,但实际上我错过了这个功能 – benkuly

+0

如果你需要JSON支持和REST配置文件 – cdan

相关问题