OIDC auth plugin for MLflow
Project description
mlflow-oidc-auth
MLflow auth plugin to use OpenID Connect (OIDC) as authentication and authorization provider.
This plugin allows you to use OIDC for user management in MLflow, enabling single sign-on (SSO) capabilities and centralized user management.
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.
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mlflow_oidc_auth-6.6.4.tar.gz.
File metadata
- Download URL: mlflow_oidc_auth-6.6.4.tar.gz
- Upload date:
- Size: 505.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e6d7b93cf4b55f3e59db0abdc6db0b03d9b40b6182f9503f9f6319adcab0c854
|
|
| MD5 |
442f3cdc2ccb15f794d00cbc47b108c4
|
|
| BLAKE2b-256 |
3b8fcb627b95fbb8db28ecf6cdb39eddfe46016bbac79562cfbb0e7f9a88bf69
|
Provenance
The following attestation bundles were made for mlflow_oidc_auth-6.6.4.tar.gz:
Publisher:
pypi.yml on mlflow-oidc/mlflow-oidc-auth
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mlflow_oidc_auth-6.6.4.tar.gz -
Subject digest:
e6d7b93cf4b55f3e59db0abdc6db0b03d9b40b6182f9503f9f6319adcab0c854 - Sigstore transparency entry: 868484256
- Sigstore integration time:
-
Permalink:
mlflow-oidc/mlflow-oidc-auth@788f9c8c05feb651200ee72054edcc82093797d6 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/mlflow-oidc
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yml@788f9c8c05feb651200ee72054edcc82093797d6 -
Trigger Event:
push
-
Statement type:
File details
Details for the file mlflow_oidc_auth-6.6.4-py3-none-any.whl.
File metadata
- Download URL: mlflow_oidc_auth-6.6.4-py3-none-any.whl
- Upload date:
- Size: 626.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1759bfd8899b8803babd893c9c7fa3045a33bed60c77db56a73dca4ff8f6b03c
|
|
| MD5 |
23165b6768611164d39385365721f6c8
|
|
| BLAKE2b-256 |
8671f334d2369ab94930d5bc2a61df2405f2dd4f7cbb1131179d0be12ded90c8
|
Provenance
The following attestation bundles were made for mlflow_oidc_auth-6.6.4-py3-none-any.whl:
Publisher:
pypi.yml on mlflow-oidc/mlflow-oidc-auth
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mlflow_oidc_auth-6.6.4-py3-none-any.whl -
Subject digest:
1759bfd8899b8803babd893c9c7fa3045a33bed60c77db56a73dca4ff8f6b03c - Sigstore transparency entry: 868484260
- Sigstore integration time:
-
Permalink:
mlflow-oidc/mlflow-oidc-auth@788f9c8c05feb651200ee72054edcc82093797d6 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/mlflow-oidc
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yml@788f9c8c05feb651200ee72054edcc82093797d6 -
Trigger Event:
push
-
Statement type: