Skip to main content

Class to compare and parse entitlements according to the

Project description

AARC G002 Entitlement Parser

Introduction

As part of the AARC Project several recommendations were made. G002 https://aarc-project.eu/guidelines/aarc-g002 describes encoding group membersip in entitlements.

This package provides a python Class to parse and compare such entitlements.

Example

from aarc_g002_entitlement import Aarc_g002_entitlement

required_group= 'urn:geant:h-df.de:group:aai-admin'
actual_group  = 'urn:geant:h-df.de:group:aai-admin:role=member#backupserver.used.for.developmt.de'

required_entitlement = Aarc_g002_entitlement(required_group, strict=False)
actual_entitlement   = Aarc_g002_entitlement(actual_group)

print('\n3: Role assigned but not required')
print('    is_contained_in:   => {}'.format(required_entitlement.is_contained_in(actual_entitlement)))
print('        (are equal:    => {})'.format(required_entitlement == actual_entitlement))

Installation

pip --user install aarc-g002-entitlement

Note

This code allows on intentional exception from implementing the standard: AARC-G002 makes the issuing authority mandatory (non-empty-string). However, admins that specify the required entitlement don't care about specifying this. Therefore, the code allows a laxer handling, in that it does accept entitlements that don't specify an authority, if the "strict=False" argument is passed.

Funding Notice

The AARC project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 653965 and 730941.

Download files

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

Files for aarc-g002-entitlement, version 0.1.1
Filename, size File type Python version Upload date Hashes
Filename, size aarc_g002_entitlement-0.1.1-py2.py3-none-any.whl (6.2 kB) File type Wheel Python version py2.py3 Upload date Hashes View hashes
Filename, size aarc_g002_entitlement-0.1.1.tar.gz (10.6 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page