Hello, we tried the solution suggested by @matei and we hit a dead end because of the following reasons
- Nginx `auth_request` erases the data before sending `/authorize` requests and MLFlow sends the `experiment_id`/`run_id` in the data of `POST` and `UPDATE` requests instead of the URL (`POST /tracking/experiments/1`), this makes it impossible to authorize such requests, we are denying all them right now.
- We can't filter out the list of the experiments a user can see, we can only allow them to do a request or not. If we don't allow them to see the list of experiments, the front page of MLFlow will broken.
I think access control mechanics over MLFlow resources should be implemented in MLFlow itself or in an MLFlow plugin, that way we'll have access to the database, the UI and everything we need to implement such features. Or at least think about how third party applications can do that and makes it possible for them