linkorb/xillion

Xillion: Attribute-based Resource Framework

v1.2.0 2021-01-19 15:53 UTC

This package is auto-updated.

Last update: 2021-01-19 15:54:31 UTC


README

xillion.png

Xillion

Xillion is an Attribute-based Resource Framework.

It allows you to work with Resources and their collection of attributes.

Use-cases:

  • Use your entities in XACML, ABAC, OPA and other external policy-based frameworks
  • Standardise the way remote objects from different sources are represented for integration purposes

Definitions:

  • Resource: representation of 1 real-world entity. Has a unique ID (in the form of a URL) and an array of Attributes
  • Attribute: Defines a single attribute. Has a unique ID (in the form of a URL), description, an AttributeType and other metadata
  • DataType: Data type supported by an Attribute (i.e. string, int, etc)
  • ResourceRepository: Container for a set of Resources that allows you to search, get and set Resource instances in bulk
  • ResourceContext: Container for a set of Resources Repositories. The root of the structure.
  • Profile: A "Contract" or "Interface", specifying which attributes Resources of this type need to "implement'. A single Resource can implement multiple profiles simultaniously.

Features:

  • Specify a Attributes, DataTypes, Profiles and Resources to use in your projects in YAML configuration files
  • Predefined instances of xml schema datatypes are provided that are commonly used in XACML environments
  • Resource Repositories: currently ArrayRepository, with plans for PDO and Elasticsearch based Repositories.
  • Resource Loader
  • Resource Resolver that can resolve pre-populated Resources with their attributes and types from objects through various means (currently direct and provider-based)
  • Resolve Resources directly from your entities: Quick and simple method if you "own" those entities.
  • Resolve Resources through a ResourcesProvider: Useful to extract attributes for entities from external libraries.
  • Collect your resources in a single Resource Context for bulk operations
  • Validate one Attribute, a Resource or an entire Resource Context

Inspiration

  • XACML (+JSON profile)
  • LDAP
  • FHIR
  • Open Policy Agent
  • SAML2

License

MIT. Please refer to the license file for details.

Brought to you by the LinkORB Engineering team

687474703a2f2f7777772e6c696e6b6f72622e636f6d2f642f6d6574612f74696572312f696d616765732f6c696e6b6f7262656e67696e656572696e672d6c6f676f2e706e67
Check out our other projects at linkorb.com/engineering.

Btw, we're hiring!