Skip to main content

Mara ACL

mara-acl PyPI - License PyPI version Slack Status

Default ACL implementation for mara with the following design choices:

  • Authentication of users is handled externally, e.g. through a Oauth2 Proxy. An upstream authentication app manages authentication and then adds a http header identifying the user to each authenticated request.
  • Each user is assigned a single role.
  • Permissions are not based on urls, but on application-defined "resources". Thus, checking of permissions needs to be done in the application.

The ACL provides a single UI for both user and permission management. Users can be added / removed and their roles can be changed like this: User management

New roles are created by moving a user to a new role.

Permissions can be set for

  • an individual user or a whole role,
  • an individual resource, a group of resources or "All" resources.

Individual users inherit permissions from their role, and permissions on higher levels overwrite permissions on lower levels: User management

Each new user that is authenticated is automatically created with a default role in the acl: User management

This behavior can be switched off (so that only invited users can join). See config.py for details.

Please have a look at the mara example application for how to integrate this ACL implementation.

Release files for mara-acl 2.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mara-acl 2.1.1
File Size Uploaded
mara-acl-2.1.1.tar.gz 12.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mara-acl 2.1.1
File Interpreter ABI Platform
mara_acl-2.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 26.4 kB

Release files / mara-acl-2.1.1.tar.gz

Download URL mara-acl-2.1.1.tar.gz
Size 12.6 kB
Tags Source
SHA-256 checksum
How to use checksums
2b72753f73e6a972910a3ce6520ce9df47c62ad8af2ff64cbf110e1b3b2ce962
BLAKE2b-256 checksum
How to use checksums
4f3d7472e9939e3925d36a24dc6ba84bd0d5014aa1e4d15f4ac75cc2151d0f63
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.12

Release files / mara_acl-2.1.1-py3-none-any.whl

Download URL mara_acl-2.1.1-py3-none-any.whl
Size 13.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
399d610b40d4caa7c94d9a24b8ea41f777fb7f9b43006a864cd795d41ac70abb
BLAKE2b-256 checksum
How to use checksums
4589e1d6797286a835cd50e0646d66c33bf98e45c496d5d9c6259030ccf11aa5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.12

Release history Release notifications | RSS feed

This release

2.1.1 This release

2 release files

2.1.0

3 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page