504 lines
19 KiB
ReStructuredText
504 lines
19 KiB
ReStructuredText
|
|
.. _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. |
|
|
+------------+-------------------------+------------------------+
|