Skip to main content

UMACS is a unified management and access control service.

Project description

UMACS User Management and Access Control Service

codecov

UMACS (User Management and Access Control Service) is a lightweight, reusable Authorization service.

Features

  • Policy Engine based on Casbin for flexible access control, supporting RBAC and ABAC.
  • Logging using SQL tables for efficient storage and auditing of decision logs.
  • JWKS discovery + caching for validating tokens from configured IdPs and rejecting invalid tokens.
  • API for managing users, roles, and permissions.

Core Dependencies

The service is built using:

  • FastAPI + Uvicorn
  • Authlib (OIDC JWT verification)
  • Casbin (RBAC + optional ABAC)
  • SQLModel + AsyncSQLAlchemy (Policies, Users, Resources, Decision Logs)
  • Alembic (Database Migrations)

Quickstart

Prerequisites

Environment

Create a .env file based on .env.example.

Database Setup

Run migrations to set up the SQL database:

uv run alembic upgrade head

Install and run (using uv):

uv sync
uv run fastapi dev

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

umacs-0.7.2.tar.gz (25.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

umacs-0.7.2-py3-none-any.whl (36.1 kB view details)

Uploaded Python 3

File details

Details for the file umacs-0.7.2.tar.gz.

File metadata

  • Download URL: umacs-0.7.2.tar.gz
  • Upload date:
  • Size: 25.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for umacs-0.7.2.tar.gz
Algorithm Hash digest
SHA256 482e1cac1d1f511561efe862da3238ae7346eec3cc186b2fe63531ba62db5eca
MD5 88c0370c580552234b7b683598f6522c
BLAKE2b-256 ef23a77b065ceda0a6d30c3e1302424ac6b4cecb03333c7543e9a47b17f6a6aa

See more details on using hashes here.

Provenance

The following attestation bundles were made for umacs-0.7.2.tar.gz:

Publisher: build.yaml on csed-ucm/umacs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file umacs-0.7.2-py3-none-any.whl.

File metadata

  • Download URL: umacs-0.7.2-py3-none-any.whl
  • Upload date:
  • Size: 36.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for umacs-0.7.2-py3-none-any.whl
Algorithm Hash digest
SHA256 bb04d0f40a301b85e8b24789a8f2545b1829894ef2293d1453495a395e72d5bc
MD5 15c16e4f7948e0fac43afd3d667706f6
BLAKE2b-256 ab07fb84b9d554e38bf2fe10275a62bd894983bc586c85b494f0c75779663d52

See more details on using hashes here.

Provenance

The following attestation bundles were made for umacs-0.7.2-py3-none-any.whl:

Publisher: build.yaml on csed-ucm/umacs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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