linkorb / xillion

Xillion:基于属性的资源框架

v1.8.1 2022-11-25 12:14 UTC

This package is auto-updated.

Last update: 2024-08-25 16:03:27 UTC


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

顺便说一下,我们正在招聘!