Back to Mlflow

MLflow Authentication REST API

docs/api_reference/source/auth/rest-api.rst

3.12.019.2 KB
Original Source

.. _auth-rest-api:

============================== MLflow Authentication REST API

The MLflow Authentication REST API allows you to create, get, update and delete users, experiment permissions and registered model permissions. The API is hosted under the /api route on the MLflow tracking server. For example, to list experiments on a tracking server hosted at http://localhost:5000, access http://localhost:5000/api/2.0/mlflow/users/create.

.. important:: The MLflow REST API requires content type application/json for all POST requests.

.. contents:: Table of Contents :local: :depth: 1

===========================

.. _mlflowAuthServiceCreateUser:

Create User

+-----------------------------+-------------+ | Endpoint | HTTP Method | +=============================+=============+ | 2.0/mlflow/users/create | POST | +-----------------------------+-------------+

.. _mlflowCreateUser:

Request Structure

+------------+------------+-------------+ | Field Name | Type | Description | +============+============+=============+ | username | STRING | Username. | +------------+------------+-------------+ | password | STRING | Password. | +------------+------------+-------------+

.. _mlflowCreateUserResponse:

Response Structure

+------------+-------------------+----------------+ | Field Name | Type | Description | +============+===================+================+ | user | :ref:mlflowUser | A user object. | +------------+-------------------+----------------+

===========================

.. _mlflowAuthServiceGetUser:

Get User

+--------------------------+-------------+ | Endpoint | HTTP Method | +==========================+=============+ | 2.0/mlflow/users/get | GET | +--------------------------+-------------+

.. _mlflowGetUser:

Request Structure

+------------+------------+-------------+ | Field Name | Type | Description | +============+============+=============+ | username | STRING | Username. | +------------+------------+-------------+

.. _mlflowGetUserResponse:

Response Structure

+------------+-------------------+----------------+ | Field Name | Type | Description | +============+===================+================+ | user | :ref:mlflowUser | A user object. | +------------+-------------------+----------------+

===========================

.. _mlflowAuthServiceUpdateUserPassword:

Update User Password

+--------------------------------------+-------------+ | Endpoint | HTTP Method | +======================================+=============+ | 2.0/mlflow/users/update-password | PATCH | +--------------------------------------+-------------+

.. _mlflowUpdateUserPassword:

Request Structure

+------------+------------+---------------+ | Field Name | Type | Description | +============+============+===============+ | username | STRING | Username. | +------------+------------+---------------+ | password | STRING | New password. | +------------+------------+---------------+

===========================

.. _mlflowAuthServiceUpdateUserAdmin:

Update User Admin

+-----------------------------------+-------------+ | Endpoint | HTTP Method | +===================================+=============+ | 2.0/mlflow/users/update-admin | PATCH | +-----------------------------------+-------------+

.. _mlflowUpdateUserAdmin:

Request Structure

+------------+-------------+-------------------+ | Field Name | Type | Description | +============+=============+===================+ | username | STRING | Username. | +------------+-------------+-------------------+ | is_admin | BOOLEAN | New admin status. | +------------+-------------+-------------------+

===========================

.. _mlflowAuthServiceDeleteUser:

Delete User

+-----------------------------+-------------+ | Endpoint | HTTP Method | +=============================+=============+ | 2.0/mlflow/users/delete | DELETE | +-----------------------------+-------------+

.. _mlflowDeleteUser:

Request Structure

+------------+------------+-------------+ | Field Name | Type | Description | +============+============+=============+ | username | STRING | Username. | +------------+------------+-------------+

===========================

.. _mlflowAuthServiceCreateExperimentPermission:

Create Experiment Permission

+-----------------------------------------------+-------------+ | Endpoint | HTTP Method | +===============================================+=============+ | 2.0/mlflow/experiments/permissions/create | POST | +-----------------------------------------------+-------------+

.. _mlflowCreateExperimentPermission:

Request Structure

+---------------+-------------------------+----------------------+ | Field Name | Type | Description | +===============+=========================+======================+ | experiment_id | STRING | Experiment id. | +---------------+-------------------------+----------------------+ | username | STRING | Username. | +---------------+-------------------------+----------------------+ | permission | :ref:mlflowPermission | Permission to grant. | +---------------+-------------------------+----------------------+

.. _mlflowCreateExperimentPermissionResponse:

Response Structure

+-----------------------+-----------------------------------+----------------------------------+ | Field Name | Type | Description | +=======================+===================================+==================================+ | experiment_permission | :ref:mlflowExperimentPermission | An experiment permission object. | +-----------------------+-----------------------------------+----------------------------------+

===========================

.. _mlflowAuthServiceGetExperimentPermission:

Get Experiment Permission

+--------------------------------------------+-------------+ | Endpoint | HTTP Method | +============================================+=============+ | 2.0/mlflow/experiments/permissions/get | GET | +--------------------------------------------+-------------+

.. _mlflowGetExperimentPermission:

Request Structure

+---------------+------------+----------------+ | Field Name | Type | Description | +===============+============+================+ | experiment_id | STRING | Experiment id. | +---------------+------------+----------------+ | username | STRING | Username. | +---------------+------------+----------------+

.. _mlflowGetExperimentPermissionResponse:

Response Structure

+-----------------------+-----------------------------------+----------------------------------+ | Field Name | Type | Description | +=======================+===================================+==================================+ | experiment_permission | :ref:mlflowExperimentPermission | An experiment permission object. | +-----------------------+-----------------------------------+----------------------------------+

===========================

.. _mlflowAuthServiceUpdateExperimentPermission:

Update Experiment Permission

+-----------------------------------------------+-------------+ | Endpoint | HTTP Method | +===============================================+=============+ | 2.0/mlflow/experiments/permissions/update | PATCH | +-----------------------------------------------+-------------+

.. _mlflowUpdateExperimentPermission:

Request Structure

+---------------+-------------------------+--------------------------+ | Field Name | Type | Description | +===============+=========================+==========================+ | experiment_id | STRING | Experiment id. | +---------------+-------------------------+--------------------------+ | username | STRING | Username. | +---------------+-------------------------+--------------------------+ | permission | :ref:mlflowPermission | New permission to grant. | +---------------+-------------------------+--------------------------+

===========================

.. _mlflowAuthServiceDeleteExperimentPermission:

Delete Experiment Permission

+-----------------------------------------------+-------------+ | Endpoint | HTTP Method | +===============================================+=============+ | 2.0/mlflow/experiments/permissions/delete | DELETE | +-----------------------------------------------+-------------+

.. _mlflowDeleteExperimentPermission:

Request Structure

+---------------+------------+----------------+ | Field Name | Type | Description | +===============+============+================+ | experiment_id | STRING | Experiment id. | +---------------+------------+----------------+ | username | STRING | Username. | +---------------+------------+----------------+

===========================

.. _mlflowAuthServiceCreateRegisteredModelPermission:

Create Registered Model Permission

+-----------------------------------------------------+-------------+ | Endpoint | HTTP Method | +=====================================================+=============+ | 2.0/mlflow/registered-models/permissions/create | CREATE | +-----------------------------------------------------+-------------+

.. _mlflowCreateRegisteredModelPermission:

Request Structure

+------------+-------------------------+------------------------+ | Field Name | Type | Description | +============+=========================+========================+ | name | STRING | Registered model name. | +------------+-------------------------+------------------------+ | username | STRING | Username. | +------------+-------------------------+------------------------+ | permission | :ref:mlflowPermission | Permission to grant. | +------------+-------------------------+------------------------+

.. _mlflowCreateRegisteredModelPermissionResponse:

Response Structure

+-----------------------------+----------------------------------------+---------------------------------------+ | Field Name | Type | Description | +=============================+========================================+=======================================+ | registered_model_permission | :ref:mlflowRegisteredModelPermission | A registered model permission object. | +-----------------------------+----------------------------------------+---------------------------------------+

===========================

.. _mlflowAuthServiceGetRegisteredModelPermission:

Get Registered Model Permission

+--------------------------------------------------+-------------+ | Endpoint | HTTP Method | +==================================================+=============+ | 2.0/mlflow/registered-models/permissions/get | GET | +--------------------------------------------------+-------------+

.. _mlflowGetRegisteredModelPermission:

Request Structure

+------------+------------+------------------------+ | Field Name | Type | Description | +============+============+========================+ | name | STRING | Registered model name. | +------------+------------+------------------------+ | username | STRING | Username. | +------------+------------+------------------------+

.. _mlflowGetRegisteredModelPermissionResponse:

Response Structure

+-----------------------------+----------------------------------------+---------------------------------------+ | Field Name | Type | Description | +=============================+========================================+=======================================+ | registered_model_permission | :ref:mlflowRegisteredModelPermission | A registered model permission object. | +-----------------------------+----------------------------------------+---------------------------------------+

===========================

.. _mlflowAuthServiceUpdateRegisteredModelPermission:

Update Registered Model Permission

+-----------------------------------------------------+-------------+ | Endpoint | HTTP Method | +=====================================================+=============+ | 2.0/mlflow/registered-models/permissions/update | PATCH | +-----------------------------------------------------+-------------+

.. _mlflowUpdateRegisteredModelPermission:

Request Structure

+------------+-------------------------+--------------------------+ | Field Name | Type | Description | +============+=========================+==========================+ | name | STRING | Registered model name. | +------------+-------------------------+--------------------------+ | username | STRING | Username. | +------------+-------------------------+--------------------------+ | permission | :ref:mlflowPermission | New permission to grant. | +------------+-------------------------+--------------------------+

===========================

.. _mlflowAuthServiceDeleteRegisteredModelPermission:

Delete Registered Model Permission

+-----------------------------------------------------+-------------+ | Endpoint | HTTP Method | +=====================================================+=============+ | 2.0/mlflow/registered-models/permissions/delete | DELETE | +-----------------------------------------------------+-------------+

.. _mlflowDeleteRegisteredModelPermission:

Request Structure

+------------+------------+------------------------+ | Field Name | Type | Description | +============+============+========================+ | name | STRING | Registered model name. | +------------+------------+------------------------+ | username | STRING | Username. | +------------+------------+------------------------+

.. _auth-rest-struct:

Data Structures

.. _mlflowUser:

User

+------------------------------+----------------------------------------------------+------------------------------------------------------------------+ | Field Name | Type | Description | +==============================+====================================================+==================================================================+ | id | STRING | User ID. | +------------------------------+----------------------------------------------------+------------------------------------------------------------------+ | username | STRING | Username. | +------------------------------+----------------------------------------------------+------------------------------------------------------------------+ | is_admin | BOOLEAN | Whether the user is an admin. | +------------------------------+----------------------------------------------------+------------------------------------------------------------------+ | experiment_permissions | An array of :ref:mlflowExperimentPermission | All experiment permissions explicitly granted to the user. | +------------------------------+----------------------------------------------------+------------------------------------------------------------------+ | registered_model_permissions | An array of :ref:mlflowRegisteredModelPermission | All registered model permissions explicitly granted to the user. | +------------------------------+----------------------------------------------------+------------------------------------------------------------------+

.. _mlflowPermission:

Permission

Permission of a user to an experiment or a registered model.

+----------------+--------------------------------------+ | Name | Description | +================+======================================+ | READ | Can read. | +----------------+--------------------------------------+ | EDIT | Can read and update. | +----------------+--------------------------------------+ | MANAGE | Can read, update, delete and manage. | +----------------+--------------------------------------+ | NO_PERMISSIONS | No permissions. | +----------------+--------------------------------------+

.. _mlflowExperimentPermission:

ExperimentPermission

+---------------+-------------------------+---------------------+ | Field Name | Type | Description | +===============+=========================+=====================+ | experiment_id | STRING | Experiment id. | +---------------+-------------------------+---------------------+ | user_id | STRING | User id. | +---------------+-------------------------+---------------------+ | permission | :ref:mlflowPermission | Permission granted. | +---------------+-------------------------+---------------------+

.. _mlflowRegisteredModelPermission:

RegisteredModelPermission

+------------+-------------------------+------------------------+ | Field Name | Type | Description | +============+=========================+========================+ | name | STRING | Registered model name. | +------------+-------------------------+------------------------+ | user_id | STRING | User id. | +------------+-------------------------+------------------------+ | permission | :ref:mlflowPermission | Permission granted. | +------------+-------------------------+------------------------+