MLflow 认证 Python API
mlflow.server.auth.client
- class mlflow.server.auth.client.AuthServiceClient[source]
Bases:
object启用了默认基本身份验证插件的 MLflow Tracking Server 的客户端。建议使用
mlflow.server.get_app_client()来实例化此类。有关更多信息,请参阅 https://mlflow.org.cn/docs/latest/auth.html。- create_experiment_permission(experiment_id: str, username: str, permission: str)[source]
为用户创建一个实验权限。
- 参数
experiment_id – 实验的 ID。
username – 用户名。
permission – 要授予的权限。必须是“READ”、“EDIT”、“MANAGE”和“NO_PERMISSIONS”之一。
- 引发
mlflow.exceptions.RestException – 如果用户不存在,或者此实验用户对已存在权限,或者权限无效。不需要
experiment_id是现有实验。- 返回
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]
为用户创建一个已注册模型权限。
- 参数
name – 已注册模型的名称。
username – 用户名。
permission – 要授予的权限。必须是“READ”、“EDIT”、“MANAGE”和“NO_PERMISSIONS”之一。
- 引发
mlflow.exceptions.RestException – 如果用户不存在,或者此已注册模型用户对已存在权限,或者权限无效。不需要
name是现有已注册模型。- 返回
一个单独的
mlflow.server.auth.entities.RegisteredModelPermission对象。
- create_scorer_permission(experiment_id: str, scorer_name: str, username: str, permission: str)[source]
为用户创建一个评分器权限。
- 参数
experiment_id – 包含评分器的实验的 ID。
scorer_name – 评分器的名称。
username – 用户名。
permission – 要授予的权限。必须是“READ”、“EDIT”、“MANAGE”和“NO_PERMISSIONS”之一。
- 引发
mlflow.exceptions.RestException – 如果用户不存在,或者评分器权限已存在。
- 返回
- create_user(username: str, password: str)[source]
创建一个新用户。
- 参数
username – 用户名。
password – 用户的密码。不得为空字符串。
- 引发
mlflow.exceptions.RestException – 如果用户名已被占用。
- 返回
一个单独的
mlflow.server.auth.entities.User对象。
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]
删除用户的现有实验权限。
- 参数
experiment_id – 实验的 ID。
username – 用户名。
- 引发
mlflow.exceptions.RestException – 如果用户不存在,或者此实验用户对没有权限,或者权限无效。请注意,即使已删除权限,默认权限仍将有效。
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]
删除用户现有的已注册模型权限。
- 参数
name – 已注册模型的名称。
username – 用户名。
- 引发
mlflow.exceptions.RestException – 如果用户不存在,或者此已注册模型用户对没有权限,或者权限无效。请注意,即使已删除权限,默认权限仍将有效。
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_scorer_permission(experiment_id: str, scorer_name: str, username: str)[source]
删除用户现有的评分器权限。
- 参数
experiment_id – 包含评分器的实验的 ID。
scorer_name – 评分器的名称。
username – 用户名。
- 引发
mlflow.exceptions.RestException – 如果用户不存在,或者此评分器用户对没有权限。
- delete_user(username: str)[source]
删除特定用户。
- 参数
username – 用户名。
- 引发
mlflow.exceptions.RestException – 如果用户不存在
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]
获取用户的实验权限。
- 参数
experiment_id – 实验的 ID。
username – 用户名。
- 引发
mlflow.exceptions.RestException – 如果用户不存在,或者此实验用户对没有权限。请注意,即使没有权限,默认权限仍将有效。
- 返回
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]
获取用户的已注册模型权限。
- 参数
name – 已注册模型的名称。
username – 用户名。
- 引发
mlflow.exceptions.RestException – 如果用户不存在,或者此已注册模型用户对没有权限。请注意,即使没有权限,默认权限仍将有效。
- 返回
一个单独的
mlflow.server.auth.entities.RegisteredModelPermission对象。
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_scorer_permission(experiment_id: str, scorer_name: str, username: str)[source]
获取用户的评分器权限。
- 参数
experiment_id – 包含评分器的实验的 ID。
scorer_name – 评分器的名称。
username – 用户名。
- 引发
mlflow.exceptions.RestException – 如果用户不存在,或者此评分器用户对没有权限。
- 返回
- get_user(username: str)[source]
获取具有特定用户名的用户。
- 参数
username – 用户名。
- 引发
mlflow.exceptions.RestException – 如果用户不存在
- 返回
一个单独的
mlflow.server.auth.entities.User对象。
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]
更新用户现有的实验权限。
- 参数
experiment_id – 实验的 ID。
username – 用户名。
permission – 要授予的新权限。必须是“READ”、“EDIT”、“MANAGE”和“NO_PERMISSIONS”之一。
- 引发
mlflow.exceptions.RestException – 如果用户不存在,或者此实验用户对没有权限,或者权限无效
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]
更新用户现有的已注册模型权限。
- 参数
name – 已注册模型的名称。
username – 用户名。
permission – 要授予的新权限。必须是“READ”、“EDIT”、“MANAGE”和“NO_PERMISSIONS”之一。
- 引发
mlflow.exceptions.RestException – 如果用户不存在,或者此已注册模型用户对没有权限,或者权限无效。
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_scorer_permission(experiment_id: str, scorer_name: str, username: str, permission: str)[source]
更新用户现有的评分器权限。
- 参数
experiment_id – 包含评分器的实验的 ID。
scorer_name – 评分器的名称。
username – 用户名。
permission – 要授予的新权限。必须是“READ”、“EDIT”、“MANAGE”和“NO_PERMISSIONS”之一。
- 引发
mlflow.exceptions.RestException – 如果用户不存在,或者此评分器用户对没有权限,或者权限无效。
- update_user_admin(username: str, is_admin: bool)[source]
更新特定用户的管理员状态。
- 参数
username – 用户名。
is_admin – 新的管理员状态。
- 引发
mlflow.exceptions.RestException – 如果用户不存在
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]
更新特定用户的密码。
- 参数
username – 用户名。
password – 新密码。
- 引发
mlflow.exceptions.RestException – 如果用户不存在
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]
- class mlflow.server.auth.entities.ScorerPermission(experiment_id, scorer_name, user_id, permission)[source]
Bases:
object- classmethod from_json(dictionary)[source]
- to_json()[source]