Skip to main content

OpenID Connect (OIDC) auth plugin for MLflow

Project description

mlflow-oidc-auth

License PyPI Downloads Ask DeepWiki

OpenID Connect (OIDC) authentication and authorization plugin for MLflow.

This plugin allows you to use OIDC for user management in MLflow, enabling single sign-on (SSO) capabilities and centralized user management.

Disclaimer

This project is not affiliated with, endorsed by, or sponsored by the MLflow Project, Databricks, the Linux Foundation, or LF Projects, LLC. MLflow and related marks are trademarks of their respective owners. Maintained by Kharkevich Engineering Lab.

Features

  • OIDC-based authentication for MLflow UI and API
  • User management through OIDC provider
  • User-level access control
  • Group-based access control
  • Permissions management based on regular expressions (allows or denies access to specific MLflow resources based on regular expressions and assigns permissions to users or groups)
  • Support for session, JWT, and basic authentication methods
  • Compatible with mlflow-client (basic auth)

Documentation

For detailed documentation, please refer to the docs. AI generated documentation is available at DeepWiki.

Quick Start

To get the full version (with entire MLflow and all dependencies), run:

python3 -m venv venv
source venv/bin/activate
python3 -m pip install mlflow-oidc-auth[full]
mlflow server --app-name oidc-auth --host 0.0.0.0 --port 8080

Webhook secret encryption key 🔐

Webhook secrets are stored encrypted in the database using a Fernet key. If you plan to use MLflow webhooks with secrets, set the encryption key in the environment variable MLFLOW_WEBHOOK_SECRET_ENCRYPTION_KEY before creating any webhooks. Generate a key with:

MLFLOW_WEBHOOK_SECRET_ENCRYPTION_KEY=$(python -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())")
export MLFLOW_WEBHOOK_SECRET_ENCRYPTION_KEY

Important: keep this key stable across application restarts and replicas. If the key is lost or changed after webhooks are created, previously stored secrets cannot be decrypted and will cause webhook listing to fail until you restore the original key or remove/rotate the affected webhook secrets.

Development

For development quick start, please refer to the Development and Contribution section. Contribution guidelines are available in CONTRIBUTING.md.

License

Apache 2 Licensed. For more information, please see LICENSE.

Based on MLflow basic-auth plugin

https://github.com/mlflow/mlflow/tree/master/mlflow/server/auth

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

mlflow_oidc_auth-7.3.1.tar.gz (670.8 kB view details)

Uploaded Source

Built Distribution

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

mlflow_oidc_auth-7.3.1-py3-none-any.whl (860.6 kB view details)

Uploaded Python 3

File details

Details for the file mlflow_oidc_auth-7.3.1.tar.gz.

File metadata

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

File hashes

Hashes for mlflow_oidc_auth-7.3.1.tar.gz
Algorithm Hash digest
SHA256 a9b238b0717f0496cf0360078b65cc984e6af89ff494a3d158e5fffee117b515
MD5 ac580b2f57b7894e612ffdc327056587
BLAKE2b-256 17d9f5481fbb348be1a1198dd2a6d6c00663926e8a2f5faec4e530f027135076

See more details on using hashes here.

Provenance

The following attestation bundles were made for mlflow_oidc_auth-7.3.1.tar.gz:

Publisher: pypi.yml on mlflow-oidc/mlflow-oidc-auth

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

File details

Details for the file mlflow_oidc_auth-7.3.1-py3-none-any.whl.

File metadata

File hashes

Hashes for mlflow_oidc_auth-7.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 712e162e0b6cfa5d130909671a930cfda28e4b6b5d2d2cdb31db88453af7b268
MD5 65ff1095ec49151dbf53daf21315c5c5
BLAKE2b-256 8a81594991710fda1c5d32376acc2e6ecfcd78251ef38bb194ca7365d030009d

See more details on using hashes here.

Provenance

The following attestation bundles were made for mlflow_oidc_auth-7.3.1-py3-none-any.whl:

Publisher: pypi.yml on mlflow-oidc/mlflow-oidc-auth

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