Skip to main content

XACML 2.0 implementation for the NERC DataGrid

Project description

XACML 2.0 implementation for CEDA (the Centre for Environmental Data Archival)
STFC, Rutherford Appleton Laboratory. This is follow on work from the NERC
(Natural Environment Research Council) DataGrid 3 Project.

XACML (eXtensible Access Control Mark-up Language), is an XML based language for
expressing access control policies.

See: http://www.oasis-open.org/committees/xacml/

Release 0.5.0
-------------
Major enhancements including additional language features and support for lxml:

* Optional support for lxml as alternative to ElementTree - gives better Xpath support
* Added concatenate functions and custom functions for URL encoding and MD5 hash custom functions.
* Added support for language features:
- for SAML 2.0 profile of XACML v2.0 (http://docs.oasis-open.org/xacml/2.0/access_control-xacml-2.0-saml-profile-spec-os.pdf)
- AttributeSelectors
- PolicySets.
- first-applicable rule combining algorithm
- Incorporated NOT and modified AND functions (from Prashant Kediyal).
* Support for adding custom functions with ndg.xacml.core.functions.FunctionMap.load_custom_function
* Fix for ticket:1130 and related bug
- In ndg.xacml.core.target.Target._matchChild, all SubjectMatches within a
Subject must evaluate to true for an overall match for the Subject (and
similarly for Resource, Action and Environment).
- In ndg.xacml.core.match.MatchBase, matching of the attribute value for a
SubjectMatch with any of the values for the selected attribute of the Subject
should result in an overall match (and similarly for Resource, Action and
Environment).

Release 0.4.0
-------------
Added support for custom DataTypes and functions. e.g.

# Add attribute value type
AttributeValueClassFactory.addClass('<my new type uri',
MyAttributeValueClass)

# ...and new parser for this type
DataTypeReaderClassFactory.addReader('<my new type uri',
ETreeMyDataTypeReaderClass)

# Add new function
functionMap['<my function type uri'] = MyNewFunctionClass

Release 0.3
-----------
Includes important fixes for equals functions, and improvement to at least one
member functions. Unit tests improved with wider coverage of different rule
definitions and example request contexts.

Improved and added to support for context handler and Policy Information Point
interfaces including the ability for the PDP to call back to a PIP via a
Context handler to retrieve additional subject attributes.

Release 0.2
-----------
Only the parts of the specification immediately required for CEDA have been
implemented in this initial release:
Policy Decision Point;
Deny overrides and Permit overrides rule combining algorithms;
AttributeDesignators;
various function types: see ndg.xacml.core.functions;
and attribute types: see ndg.xacml.core.attribute;
incomplete support for <AttributeSelector>s, <VariableReference>,
<VariableDefinition>. <Obligations>;
includes an ElementTree based parser for Policies. No support for writing
out policies or read/write of XML representation of <Request> and <Response>;

See ndg.xacml.test for unit tests and examples.

The software follows a modular structure to allow it to be extended easily to
include new parsers, functions and attribute types

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ndg_xacml-0.5.0.tar.gz (238.4 kB view details)

Uploaded Source

Built Distributions

ndg_xacml-0.5.0-py2.7.egg (521.4 kB view details)

Uploaded Source

ndg_xacml-0.5.0-py2.6.egg (522.5 kB view details)

Uploaded Source

File details

Details for the file ndg_xacml-0.5.0.tar.gz.

File metadata

  • Download URL: ndg_xacml-0.5.0.tar.gz
  • Upload date:
  • Size: 238.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for ndg_xacml-0.5.0.tar.gz
Algorithm Hash digest
SHA256 e9811cf61998d9331c236a455f652f32a968faac43d7869ff3ac10076241bff7
MD5 d4df1591efb949541cd35d4cc8cac0af
BLAKE2b-256 1167bd8615914c67482884ed41af3d66e0a0fdf36bf933e0a1c03de5c09bfa32

See more details on using hashes here.

File details

Details for the file ndg_xacml-0.5.0-py2.7.egg.

File metadata

File hashes

Hashes for ndg_xacml-0.5.0-py2.7.egg
Algorithm Hash digest
SHA256 8cf120cd2a515a94ef977947152c7f4928eb1f6157945980adc55bd6bceebbe3
MD5 7ca404341b28d3dafdda7162eed3c270
BLAKE2b-256 a00374db72ef1b6d4abfcf158a7408dc9b5d5410b7e3676c06b3e5d393de7ede

See more details on using hashes here.

File details

Details for the file ndg_xacml-0.5.0-py2.6.egg.

File metadata

File hashes

Hashes for ndg_xacml-0.5.0-py2.6.egg
Algorithm Hash digest
SHA256 440f714b93fd09152d5d9daba87416970d3d7e4f83dd8d6a14e4f12208604903
MD5 a0202f6f5f97326d6beb41d609744f48
BLAKE2b-256 d21246bb75d631b146e19d4cf7f4e88e9418e57c4dd413e55fd4e074421ad9de

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page