linkorb / xillion
Xillion:基于属性的资源框架
v1.8.1
2022-11-25 12:14 UTC
Requires
- php: >=7.1.0
Requires (Dev)
- psr/simple-cache: ^1.0
- symfony/cache: ^5.2
- symfony/yaml: ^5.1
README
Xillion
Xillion是一个基于属性的资源框架。
它允许您处理资源和它们的属性集合。
用例
- 在XACML、ABAC、OPA和其他基于策略的外部框架中使用您的实体
- 标准化远程对象表示,以便进行集成
定义
- 资源:1个实际实体的表示。具有唯一的ID(以URL形式)和属性数组
- 属性:定义单个属性。具有唯一的ID(以URL形式)、描述、属性类型和其他元数据
- 数据类型:属性支持的数据类型(即字符串、整数等)
- 资源存储库:一组资源的容器,允许您批量搜索、获取和设置资源实例
- 资源上下文:一组资源存储库的容器。结构的根。
- 配置文件:一个“合同”或“接口”,指定此类资源的属性需要“实现”。单个资源可以同时实现多个配置文件。
特性
- 在YAML配置文件中指定项目中要使用的属性、数据类型、配置文件和资源
- 提供常用的XACML环境的预定义XML模式数据类型实例
- 资源存储库:目前为ArrayRepository,计划添加基于PDO和Elasticsearch的存储库。
- 资源加载器
- 资源解析器可以通过各种方式(目前直接和基于提供者)从对象中解析预填充的资源及其属性和类型
- 直接从您的实体中解析资源:如果您“拥有”这些实体,这是一种快速简单的方法。
- 通过资源提供者解析资源:从外部库中提取实体属性非常有用。
- 在单个资源上下文中收集资源,以进行批量操作
- 验证一个属性、一个资源或整个资源上下文
灵感
- XACML (+JSON配置文件)
- LDAP
- FHIR
- 开放策略代理
- SAML2
命名约定
- 所有标识符都以前缀FQDN(完全限定域名)开头。例如:
core.xillion.cloud/display
- 标识符FQDN由定义标识符的实体所有(即不要使用您不拥有的域名随机定义资源或属性标识符)。
- 属性标识符不指定方案(即不使用
http://
、https://
、file://
等) - 属性标识符不包含路径前缀(即不要使用前缀
/xillion
等) - 标识符仅使用小写,并允许使用破折号作为单词分隔符(即
/some-example
) - 在标识符中允许任何级别的子路径。建议将级别保持在最低(即`x.example.web/a/b/c/d/e/f`是允许的,但被 discourage)
- 配置文件标识符位于以
/profiles
为前缀的子路径中。 - 数据类型标识符位于以
/data-types
为前缀的子路径中。 - 属性标识符不使用前缀。(即不要使用前缀
/attributes
) - 资源标识符不使用前缀。(即不要使用前缀
/resources
) - 包(FQDN)定义了一组属性和配置文件(库)-或-资源(内容),而不是两者都定义。
许可证
MIT。有关详细信息,请参阅许可证文件。
由LinkORB工程团队提供
查看我们的其他项目,请访问 linkorb.com/engineering。
顺便说一下,我们正在招聘!