This README provides guidance on setting up basic authentication for MLFlow using LDAP and starting the MLFlow server with the necessary configurations.
basic_auth.ini
This file configures the basic authentication for MLFlow. The settings include:
[mlflow]
default_permission = READ
database_uri = sqlite:///basic_auth.db
admin_username = admin
admin_password = password
authorization_function = mlflow.ldap:authenticate_request
Step 0: Git clone and replace the files to your local directory.
Step 1: install MLFlow
Install the offical MLFlow (2.14.2 as example):
pip install mlflow==2.14.2
pip install ldap3
Step 2: Set Environment Variables Configure the environment variables for LDAP and logging:
# Replace the file to the source code
mv /server/__init__.py /usr/local/lib/python3.10/site-packages/mlflow/server/__init__.py && \
mv /utils/logging_utils.py /usr/local/lib/python3.10/site-packages/mlflow/utils/logging_utils.py && \
mv /mlflow/ldap_auth.py /usr/local/lib/python3.10/site-packages/mlflow/ldap_auth.py
export MLFLOW_AUTH_CONFIG_PATH=$BASE_DIR/basic_auth.ini
export LDAP_SERVER=your_ldap_server_address
export LDAP_DOMAIN=your_ad_domain
export USER_AD_GROUP=your_normal_user_role_adgroup
export ADMIN_AD_GROUP=your_admin_user_role_adgroup
export BASE_DN=your_ad_dn
Replace the variable appliable with your ad server
Step 3: Start MLFlow Server
Use the following command to start the MLFlow server:
mlflow server --dev --serve-artifacts --app-name basic-auth --host 0.0.0.0 --port 8000 --artifacts-destination <URI>
Replace