MLflow Authentication Python API
mlflow.server.auth.client
- class mlflow.server.auth.client.AuthServiceClient[source]
- Bases: - object- Client of an MLflow Tracking Server that enabled the default basic authentication plugin. It is recommended to use - mlflow.server.get_app_client()to instantiate this class. See https://mlflow.org/docs/latest/auth.html for more information.- create_experiment_permission(experiment_id: str, username: str, permission: str)[source]
- Create a permission on an experiment for a user. - Parameters
- experiment_id – The id of the experiment. 
- username – The username. 
- permission – Permission to grant. Must be one of “READ”, “EDIT”, “MANAGE” and “NO_PERMISSIONS”. 
 
- Raises
- mlflow.exceptions.RestException – if the user does not exist, or a permission already exists for this experiment user pair, or if the permission is invalid. Does not require - experiment_idto be an existing experiment.
- Returns
- A single - mlflow.server.auth.entities.ExperimentPermissionobject.
 - from mlflow.server.auth.client import AuthServiceClient client = AuthServiceClient("tracking_uri") client.create_user("newuser", "newpassword") ep = client.create_experiment_permission("myexperiment", "newuser", "READ") print(f"experiment_id: {ep.experiment_id}") print(f"user_id: {ep.user_id}") print(f"permission: {ep.permission}") 
 - create_registered_model_permission(name: str, username: str, permission: str)[source]
- Create a permission on an registered model for a user. - Parameters
- name – The name of the registered model. 
- username – The username. 
- permission – Permission to grant. Must be one of “READ”, “EDIT”, “MANAGE” and “NO_PERMISSIONS”. 
 
- Raises
- mlflow.exceptions.RestException – if the user does not exist, or a permission already exists for this registered model user pair, or if the permission is invalid. Does not require - nameto be an existing registered model.
- Returns
- A single - mlflow.server.auth.entities.RegisteredModelPermissionobject.
 
 - create_user(username: str, password: str)[source]
- Create a new user. - Parameters
- username – The username. 
- password – The user’s password. Must not be empty string. 
 
- Raises
- mlflow.exceptions.RestException – if the username is already taken. 
- Returns
- A single - mlflow.server.auth.entities.Userobject.
 - from mlflow.server.auth.client import AuthServiceClient client = AuthServiceClient("tracking_uri") user = client.create_user("newuser", "newpassword") print(f"user_id: {user.id}") print(f"username: {user.username}") print(f"password_hash: {user.password_hash}") print(f"is_admin: {user.is_admin}") 
 - delete_experiment_permission(experiment_id: str, username: str)[source]
- Delete an existing experiment permission for a user. - Parameters
- experiment_id – The id of the experiment. 
- username – The username. 
 
- Raises
- mlflow.exceptions.RestException – if the user does not exist, or no permission exists for this experiment user pair, or if the permission is invalid. Note that the default permission will still be effective even after the permission has been deleted. 
 - from mlflow.server.auth.client import AuthServiceClient client = AuthServiceClient("tracking_uri") client.create_user("newuser", "newpassword") client.create_experiment_permission("myexperiment", "newuser", "READ") client.delete_experiment_permission("myexperiment", "newuser") 
 - delete_registered_model_permission(name: str, username: str)[source]
- Delete an existing registered model permission for a user. - Parameters
- name – The name of the registered model. 
- username – The username. 
 
- Raises
- mlflow.exceptions.RestException – if the user does not exist, or no permission exists for this registered model user pair, or if the permission is invalid. Note that the default permission will still be effective even after the permission has been deleted. 
 - from mlflow.server.auth.client import AuthServiceClient client = AuthServiceClient("tracking_uri") client.create_user("newuser", "newpassword") client.create_registered_model_permission("myregisteredmodel", "newuser", "READ") client.delete_registered_model_permission("myregisteredmodel", "newuser") 
 - delete_user(username: str)[source]
- Delete a specific user. - Parameters
- username – The username. 
- Raises
- mlflow.exceptions.RestException – if the user does not exist 
 - from mlflow.server.auth.client import AuthServiceClient client = AuthServiceClient("tracking_uri") client.create_user("newuser", "newpassword") client.delete_user("newuser") 
 - get_experiment_permission(experiment_id: str, username: str)[source]
- Get an experiment permission for a user. - Parameters
- experiment_id – The id of the experiment. 
- username – The username. 
 
- Raises
- mlflow.exceptions.RestException – if the user does not exist, or no permission exists for this experiment user pair. Note that the default permission will still be effective even if no permission exists. 
- Returns
- A single - mlflow.server.auth.entities.ExperimentPermissionobject.
 - from mlflow.server.auth.client import AuthServiceClient client = AuthServiceClient("tracking_uri") client.create_user("newuser", "newpassword") client.create_experiment_permission("myexperiment", "newuser", "READ") ep = client.get_experiment_permission("myexperiment", "newuser") print(f"experiment_id: {ep.experiment_id}") print(f"user_id: {ep.user_id}") print(f"permission: {ep.permission}") 
 - get_registered_model_permission(name: str, username: str)[source]
- Get an registered model permission for a user. - Parameters
- name – The name of the registered model. 
- username – The username. 
 
- Raises
- mlflow.exceptions.RestException – if the user does not exist, or no permission exists for this registered model user pair. Note that the default permission will still be effective even if no permission exists. 
- Returns
- A single - mlflow.server.auth.entities.RegisteredModelPermissionobject.
 - from mlflow.server.auth.client import AuthServiceClient client = AuthServiceClient("tracking_uri") client.create_user("newuser", "newpassword") client.create_registered_model_permission("myregisteredmodel", "newuser", "READ") rmp = client.get_registered_model_permission("myregisteredmodel", "newuser") print(f"name: {rmp.name}") print(f"user_id: {rmp.user_id}") print(f"permission: {rmp.permission}") 
 - get_user(username: str)[source]
- Get a user with a specific username. - Parameters
- username – The username. 
- Raises
- mlflow.exceptions.RestException – if the user does not exist 
- Returns
- A single - mlflow.server.auth.entities.Userobject.
 - from mlflow.server.auth.client import AuthServiceClient client = AuthServiceClient("tracking_uri") client.create_user("newuser", "newpassword") user = client.get_user("newuser") print(f"user_id: {user.id}") print(f"username: {user.username}") print(f"password_hash: {user.password_hash}") print(f"is_admin: {user.is_admin}") 
 - update_experiment_permission(experiment_id: str, username: str, permission: str)[source]
- Update an existing experiment permission for a user. - Parameters
- experiment_id – The id of the experiment. 
- username – The username. 
- permission – New permission to grant. Must be one of “READ”, “EDIT”, “MANAGE” and “NO_PERMISSIONS”. 
 
- Raises
- mlflow.exceptions.RestException – if the user does not exist, or no permission exists for this experiment user pair, or if the permission is invalid 
 - from mlflow.server.auth.client import AuthServiceClient client = AuthServiceClient("tracking_uri") client.create_user("newuser", "newpassword") client.create_experiment_permission("myexperiment", "newuser", "READ") client.update_experiment_permission("myexperiment", "newuser", "EDIT") 
 - update_registered_model_permission(name: str, username: str, permission: str)[source]
- Update an existing registered model permission for a user. - Parameters
- name – The name of the registered model. 
- username – The username. 
- permission – New permission to grant. Must be one of “READ”, “EDIT”, “MANAGE” and “NO_PERMISSIONS”. 
 
- Raises
- mlflow.exceptions.RestException – if the user does not exist, or no permission exists for this registered model user pair, or if the permission is invalid. 
 - from mlflow.server.auth.client import AuthServiceClient client = AuthServiceClient("tracking_uri") client.create_user("newuser", "newpassword") client.create_registered_model_permission("myregisteredmodel", "newuser", "READ") client.update_registered_model_permission("myregisteredmodel", "newuser", "EDIT") 
 - update_user_admin(username: str, is_admin: bool)[source]
- Update the admin status of a specific user. - Parameters
- username – The username. 
- is_admin – The new admin status. 
 
- Raises
- mlflow.exceptions.RestException – if the user does not exist 
 - from mlflow.server.auth.client import AuthServiceClient client = AuthServiceClient("tracking_uri") client.create_user("newuser", "newpassword") client.update_user_admin("newuser", True) 
 - update_user_password(username: str, password: str)[source]
- Update the password of a specific user. - Parameters
- username – The username. 
- password – The new password. 
 
- Raises
- mlflow.exceptions.RestException – if the user does not exist 
 - from mlflow.server.auth.client import AuthServiceClient client = AuthServiceClient("tracking_uri") client.create_user("newuser", "newpassword") client.update_user_password("newuser", "anotherpassword") 
 
mlflow.server.auth.entities
- class mlflow.server.auth.entities.ExperimentPermission(experiment_id, user_id, permission)[source]
- Bases: - object- classmethod from_json(dictionary)[source]
 - to_json()[source]
 
- class mlflow.server.auth.entities.RegisteredModelPermission(name, user_id, permission)[source]
- Bases: - object- classmethod from_json(dictionary)[source]
 - to_json()[source]