Share MLflow Models
This page describes how to share MLflow models with users, groups, and service principals in your workspace.
Note
Access control is available only in the Premium plan or above.
MLflow Model permissions
You can assign six permission levels to MLflow Models registered in the MLflow Model Registry: No Permissions, Can Read, Can Edit, Can Manage Staging Versions, Can Manage Production Versions, and Can Manage. The table lists the abilities for each permission.
Note
A model version inherits permissions from its parent model. You cannot set permissions for model versions.
Ability |
No Permissions |
Can Read |
Can Edit |
Can Staging Versions |
Can Manage Production Versions |
Can Manage |
---|---|---|---|---|---|---|
View model details, versions, stage transition requests, activities, and artifact download URIs |
x |
x |
x |
x |
x |
|
Request a model version stage transition |
x |
x |
x |
x |
x |
|
Add a version to a model |
x |
x |
x |
x |
||
Update model and version description |
x |
x |
x |
x |
||
Add or edit tags for a model or model version |
x |
x |
x |
x |
||
Transition model version between stages |
x (between None, Archived, and Staging) |
x |
x |
|||
Approve or reject a model version stage transition request |
x (between None, Archived, and Staging) |
x |
x |
|||
Cancel a model version stage transition request (see Note) |
x |
|||||
Rename model |
x |
|||||
Modify permissions |
x |
|||||
Delete model and model versions |
x |
Workspace admins have the Can Manage permission on all models in their workspace. Users automatically have the Can Manage permission for models they create.
Note
The creator of a stage transition request can also cancel the request.
Configure MLflow Model permissions
This section describes how to manage permissions using the Databricks workspace UI. You can also manage permissions using the Permissions API or the Databricks Terraform provide.
Click
Models in the sidebar.
Click a model name.
Click Permissions. The Permission Settings dialog opens
In the dialog, click the Select User, Group or Service Principal… drop-down and select a user, group, or service principal.
Select a permission from the permission drop-down.
Click Add and click Save.
Workspace admins and users with Can Manage permission at the registry-wide level, can set permission levels on all models in the workspace by clicking Permissions on the Models page.
MLflow Model Artifact permissions
The model files for each MLflow model version are stored in an MLflow-managed location, with the prefix dbfs:/databricks/mlflow-registry/
.
To get the exact location of the files for a model version, you must have Read access to the model. Use the REST API endpoint /api/2.0/mlflow/model-versions/get-download-uri
.
After obtaining the URI, you can use the DBFS API to download the files.
The MLflow Client (for Python, Java, and R) provides several convenience methods that wrap this workflow to download and load the model, such as mlflow.<flavor>.load_model()
.
Note
Other access mechanisms, such as dbutils and %fs
are not supported for MLflow-managed file locations.