ABAC 支持 Spring 安全或 Apache Shiro
ABAC support for Spring Security or Apache Shiro
我正在尝试寻找任何开源或商业实现的基于属性的访问控制 (ABAC) 范例,它们将与 Spring 安全或 Apache Shiro 框架一起工作。现在我找不到他们中的任何一个。
我不认为我是第一个需要这种功能的人 - 那么你能推荐支持这种功能的框架吗?
此外,Permissions in Apache Shiro 是否可以视为 ABAC 范式实施的特例?
免责声明:我在 Axiomatics 工作
Axiomatics 提供与不同环境集成的基于属性的访问控制 (ABAC) 实现:
- 本机Spring安全集成
- 通过我们的 SDK 和 API
与其他 Java 应用集成
- 与 API 网关集成,例如Apigee
- 数据库安全
我们已经有客户与 Apache Shiro 集成。 Apache Shiro 是 ABAC 的简化形式。它们可以与 ABAC 集成。
Axiomatics 的实现依赖于 XACML。
对于开源 Java 替代方案,您可以在 XACML Wikipedia page: AuthzForce, Apache OpenAZ, WSO2 Balana. For AuthzForce, you can find Java code samples of ABAC/XACML authorization filters using either an embedded Java PDP or a (remote) RESTful PDP.
上找到几个
This github sample shows how ABAC can be implemented on top of spring-security framework using Spring Expression Language (SPEL). An excellent blog 使用简单的 Web 应用程序描述示例代码。由于具有 XACML 背景,我发现这个项目对 XACML 来说非常熟悉。它本质上映射 XACML 概念以在 JSON(而不是 XACML / XML)中定义策略,并使用熟悉的 spring-安全性 API 和框架。
jCasbin 是一个用于 Java 项目的强大而高效的开源访问控制库。它支持基于各种访问控制模型实施授权。 ABAC是jCasbin支持的模型之一。
ABAC:像资源一样的语法糖。所有者可用于获取资源的属性。
在jCasbin中,基于PERM元模型(Policy、Effect、Request、Matches)将一个访问控制模型抽象成一个CONF文件。所以切换或升级项目的授权机制就像修改配置一样简单。您可以通过组合可用模型来自定义您自己的访问控制模型。例如,您可以在一个模型中将 RBAC 角色和 ABAC 属性放在一起,并共享一组策略规则。
它支持 Spring 通过插件启动:jcasbinspring-boott-plugin
此外,还有一个名为 EasyAback. (The original project documents are written in Russian and I translated them and moreover added some other documents and diagram link)
的开源项目
我正在尝试寻找任何开源或商业实现的基于属性的访问控制 (ABAC) 范例,它们将与 Spring 安全或 Apache Shiro 框架一起工作。现在我找不到他们中的任何一个。 我不认为我是第一个需要这种功能的人 - 那么你能推荐支持这种功能的框架吗?
此外,Permissions in Apache Shiro 是否可以视为 ABAC 范式实施的特例?
免责声明:我在 Axiomatics 工作
Axiomatics 提供与不同环境集成的基于属性的访问控制 (ABAC) 实现:
- 本机Spring安全集成
- 通过我们的 SDK 和 API 与其他 Java 应用集成
- 与 API 网关集成,例如Apigee
- 数据库安全
我们已经有客户与 Apache Shiro 集成。 Apache Shiro 是 ABAC 的简化形式。它们可以与 ABAC 集成。
Axiomatics 的实现依赖于 XACML。
对于开源 Java 替代方案,您可以在 XACML Wikipedia page: AuthzForce, Apache OpenAZ, WSO2 Balana. For AuthzForce, you can find Java code samples of ABAC/XACML authorization filters using either an embedded Java PDP or a (remote) RESTful PDP.
上找到几个This github sample shows how ABAC can be implemented on top of spring-security framework using Spring Expression Language (SPEL). An excellent blog 使用简单的 Web 应用程序描述示例代码。由于具有 XACML 背景,我发现这个项目对 XACML 来说非常熟悉。它本质上映射 XACML 概念以在 JSON(而不是 XACML / XML)中定义策略,并使用熟悉的 spring-安全性 API 和框架。
jCasbin 是一个用于 Java 项目的强大而高效的开源访问控制库。它支持基于各种访问控制模型实施授权。 ABAC是jCasbin支持的模型之一。
ABAC:像资源一样的语法糖。所有者可用于获取资源的属性。
在jCasbin中,基于PERM元模型(Policy、Effect、Request、Matches)将一个访问控制模型抽象成一个CONF文件。所以切换或升级项目的授权机制就像修改配置一样简单。您可以通过组合可用模型来自定义您自己的访问控制模型。例如,您可以在一个模型中将 RBAC 角色和 ABAC 属性放在一起,并共享一组策略规则。
它支持 Spring 通过插件启动:jcasbinspring-boott-plugin
此外,还有一个名为 EasyAback. (The original project documents are written in Russian and I translated them and moreover added some other documents and diagram link)
的开源项目