Ролевая модель
Для разграничения прав пользователей в OneBridge существует система привилегий. Каждая привилегия определяет доступный с её помощью набор функциональности. Привилегии можно присвоить напрямую пользователю, а можно - сначала присвоить привилегию роли, а роль - пользователю.
Список присвоенных пользователю привилегий и ролей определяется в момент авторизации и влияет на всю текущую сессию. В зависимости от наличия выданных ролей, части интерфейса и некоторая функциональность могут быть скрыты от пользователя, не обладающего нужными для взаимодействия привилегиями.
Ниже описаны существующие привилегии, которые делятся на 7 групп.
Ресурсы
- Просмотр - доступ к информации о сервере на странице Ресурсы: использование ресурсов, производительность, данные сервера.
Проекты
- Просмотр и скачивание файлов и папок - просмотр списка проектов и их файлов в вебе и в Дизайнере, возможность скачивать данные проектов архивом.
- Создание, изменение и удаление файлов и папок - возможность создавать, переименовывать, редактировать и удалять файлы, папки и проекты.
История выполнения
- Чтение списка запусков, информации и статистики по запускам - просмотр списка запущенных графов на странице Ресурсы и на Истории выполнения.
- Чтение логов запусков - доступ ко вкладке Журнал на панели дополнительной информации на странице История выполнения в вебе и ко вкладке Log в Дизайнере.
- Чтение данных на ребрах - доступ ко вкладке Инспектор на панели доп. информации в веб приложении и к Datainspector в Дизайнере.
- Запуск и остановка графов - просмотр параметров графа, запуск графа в работу и его остановка.
Расписания
- Просмотр - просмотр списка расписаний и информации о каждом из них на странице Расписания.
- Создание, изменение и удаление - создание и модификация расписаний на соответствующей странице веб приложения, управление их статусами и удаление.
Обработчики событий
- Просмотр - просмотр списка обработчиков событий и информации о каждом из них на странице Обработчики событий.
- Создание, изменение и удаление - создание и модификация обработчиков событий на соответствующей странице веб приложения, управление их статусами и удаление.
Пользователи
- Просмотр - просмотр списка пользователей на странице Пользователи, доступ к информации о пользователях, их привилегиях и ролях.
- Создание и изменение - создание пользователя, изменение его статуса, сброс пароля, обновление привилегий и ролей на странице Пользователи в веб приложении.
Роли
- Просмотр - просмотр списка ролей на странице Роли, информации о них, списка их привилегий и списка родительских ролей.
- Создание, изменение и удаление - управление ролями на странице Роли в веб приложении: создание роли, обновление, удаление, изменение её привилегий и родительских ролей.
Маппинг привилегий и методов api
| Группа | Привилегия | Описание метода API | Метод API |
|---|---|---|---|
| Ресурсы | Просмотр | Просмотр использования ресурсов | GET /utilization |
| Просмотр производительности | GET /performance | ||
| Просмотр информации | GET /info | ||
| Проекты | Просмотр и скачивание файлов и папок | Просмотр дерева проектов | GET /tree |
| Просмотр проекта | GET /project | ||
| Просмотр директории | GET /directory | ||
| Просмотр файла | GET /file | ||
| Скачивание архива папки | GET /download | ||
| Создание, изменение и удаление файлов и папок | Создание проекта | POST /project | |
| Переименование проекта | POST /project/rename | ||
| Удаление проекта | DELETE /project | ||
| Создание директории | POST /directory | ||
| Переименование директории/td> | POST /directory/rename | ||
| Удаление директории | DELETE /directory | ||
| Создание файла | POST /file | ||
| Переименование файла | POST /file/rename | ||
| Обновление файла | PATCH /file | ||
| Удаление файла | DELETE /file | ||
| Шифрование параметров | POST /encrypt | ||
| История выполнения | Чтение списка запусков, информации и статистики по запускам | Просмотр запуска | GET /runs/:id |
| Просмотр статистики запуска | GET /runs/:id/stats | ||
| Просмотр содержимого графа | GET /runs/:id/job_content | ||
| Просмотр количества запусков | GET /runs/num | ||
| Просмотр позиции запуска | GET /runs/position | ||
| Список запусков | GET /runs | ||
| Чтение логов запусков | Просмотр логов запуска | GET /runs/:id/log | |
| Чтение данных на ребрах | Просмотр данных на ребре | GET /runs/:id/inspect | |
| Запуск и остановка графов | Просмотр параметров графа | GET /job_params | |
| Создание запуска | POST /runs | ||
| Остановка графа | POST /runs/:id/abort | ||
| Расписания | Просмотр | Список расписаний | GET /schedules |
| Просмотр информации о расписании | GET /schedules/:id | ||
| Создание, изменение и удаление | Создание расписания | POST /schedules | |
| Переключение расписания | POST /schedules/toggle | ||
| Обновление расписания | PATCH /schedules/:id | ||
| Удаление расписания | DELETE /schedules/:id | ||
| Обработчики событий | Просмотр | Список обработчиков событий | GET /event_listeners |
| Просмотр информации об обработчике событий | GET /event_listeners/:id | ||
| Создание, изменение и удаление | Создание обработчика событий | POST /event_listeners | |
| Переключение обработчика событий | POST /event_listeners/toggle | ||
| Обновление обработчика событий | PATCH /event_listeners/:id | ||
| Удаление слушателя событий | DELETE /event_listeners/:id | ||
| Пользователи | Просмотр | Список пользователей | GET /users |
| Просмотр информации о пользователе | GET /users/:id | ||
| Просмотр привилегий пользователя | GET /users/:id/privileges | ||
| Просмотр ролей пользователя | GET /users/:id/roles | ||
| Создание и изменение | Создание пользователя | POST /users | |
| Изменение статуса пользователя | POST /users/:id/toggle_status | ||
| Сброс пароля пользователя | POST /users/:id/reset_password | ||
| Обновление пользователя | PATCH /users/:id | ||
| Обновление привилегий пользователя | PATCH /users/:id/privileges | ||
| Обновление ролей пользователя | PATCH /users/:id/roles | ||
| Роли | Просмотр | Просмотр ролей | GET /roles |
| Просмотр информации о роли | GET /roles/:id | ||
| Просмотр привилегий роли | GET /roles/:id/privileges | ||
| Просмотр родительских ролей | GET /roles/:id/parent_roles | ||
| Создание, изменение и удаление | Создание роли | POST /roles | |
| Обновление роли | PATCH /roles/:id | ||
| Обновление привилегий роли | PATCH /roles/:id/privileges | ||
| Обновление родительских ролей | PATCH /roles/:id/parent_roles | ||
| Удаление роли | DELETE /roles/:id |
Описание всех используемых методов API приведено на странице API Onebridge