7. Ролевая модель
7.1. Описание ролевой модели
В Datamart Platform Studio используется ролевая модель доступа. При авторизации по типу «Database» единственному пользователю по умолчанию назначается роль «Администратор студии» (superadmin).
Примечание
Для использования ролевой модели требуется настройка подключения к внешнему auth-сервису (Keycloak, Active Directory), в котором пользователям должны быть назначены роли.
Конфигурирование auth-сервисов и алгоритм назначения ролей и организаций пользователям описан в разделе Раздел 6 Управление доступом.
Роли подразделяются на:
Основные (main) - пользователю с ролью данного типа предоставляется доступ интерфейсу Datamart Platform Studio к разделам, относящимся к организации, назначенной пользователю;
Фунциональные (functional) - вспомогательные роли добавляют дополнительные права пользователю с основной ролью. Если назначить пользователю только функциональную роль, он сможет авторизоваться, но у него не будет доступа к списку разделов Datamart Platform Studio;
Технические (technical) - роли, предназначенные для взаимодействия по API.
Дополнительные (external) - роли, назначенные для доступа к специфически эндпоинтам API.
7.1.1. Основные роли
Администратор студии (superadmin)
Пользователь с ролью «Администратор студии» имеет доступ к настройкам всех объектов Datamart Platform Studio, вне зависимости от того, к какой организации принадлежит объект. Администратор студии может добавлять записи о новых организациях. Примеры пользователей: Сотрудники службы эксплуатации:
Администратор организации (admin)
Пользователь с ролью «Администратор» назначается на уровне организации и полностью управляет всеми объектами на уровне организации, может редактировать данные о своей организации (одной или более).
Администратор услуги (service_admin)
Административный доступ на уровне услуг. Позволяет управлять настройками и составом услуги.
Примечание
Для того, чтобы назначить пользователя администратором отдельной услуги в организации (только одной из многих услуг этой организации), требуется подключить отдельный auth-сервис для этой услуги и
Просмотр (viewer)
Пользователю с ролью «Просмотр» доступен исключительно просмотр информации об услугах, их настройках и о других компонентах Datamart Platform Studio (бандлах, приложениях, БД).
Примечание
Роль superadmin не требует привязки к организации. Остальные роли требуют обязательной привязки к организации (одной или нескольким).
Если пользователю предоставлена роль в рамках организации, то она будет действовать только для этой организации. Компоненты других организаций данный пользователь не увидит.
Одному пользователю может быть назначена одна или несколько ролей и предоставлен доступ к одной или более организациям. Все назначенные пользователю роли действуют для всех предоставленных пользователю организаций.
Компоненты всех организаций без ограничения видит только Администратор Студии (superadmin).
7.1.2. Фунциональные роли
Управление загрузкой файлов в услугах (uploader)
Загрузка файлов инсталляций услуг, доступно добавление и редактирование приложенных файлов-настроек инсталляций.
Доступ к web-интерфейсам (web_interface)
Пользователю, имеющему служебную роль «Доступ к web-интерфейсам» web_interface, разрешен доступ к web-интерфейсам инсталляций приложений при помощи средства наложенной защиты Datamart Platform Studio.
Управление бекапами (backup)
Создание резервной копии и восстановление из резервной копии Datamart Platform Studio, включая все настройки витрин, а также резервное копирование и восстановление данных услуг (при налиличи опции бэкапирования в услуге).
Техническая поддержка услуг (support)
Обеспечивает доступ к специфическим функциям техподдержки (например, выполнение технических плэйбуков, редактор данных кластера Zookeeper).
Администрирование гипервизоров (hv_admin)
Добавлять новые подключения к платформам виртуализации (гипервизорам), выполнять подключение Датацентров Витрин данных к инфраструктуре гипервизора и создавать в гипервизоре требуемые для Услуг ресурсы.
Управление организацией (org_manager)
Служебная роль «Управление организацией» org_manager предоставляет права на редактирование данных об организациях.
Управление системными сценариями (scenario_system_editor)
Право на создание, редактирование шаблонов сценариев в каталоге сценариев.
Управление пользовательскими сценариями (scenario_editor)
Право на создание, редактирование пользовательских сценариев и добавление пользовательских сценариев в библиотеку сценариев;
Управление SSH-ключами (ssh_key_admin)
Служебная роль «Администратор ssh-ключей» ssh_key_admin предоставляет право на, администрирование пользовательских ключей, ключей ДЦ, ключей серверов в Студии, на добавление и удаление ключей пользователя на сервер;
Управление базами данных (database_administrator)
Право на выполнение специфических playbooks в инсталяциях Баз данных, например, rotate_password или pgrepack;
Управление ротацией паролей (rotate_password)
Управление ротацией паролей (применимо только для СУБД Панголин);
Управление нодами Zookeeper (zk_editor)
Право на редактирование/удаление/добавление/копирование нод Zookeeper;
Просмотр нод Zookeeper (zk_viewer)
Право на просмотр содержимого нод Zookeeper;
Администратор auth-сервисов (auth_services_admin)
Право на просмотр и управление auth-сервисами;
Управление нодами Zookeeper (zk_editor)
Право на редактирование/удаление/добавление/копирование нод Zookeeper;
7.1.3. Технические роли
Доступ к Proxy API (proxy_api)
Право на доступ к инсталляциям Услуг, предоставляющим API интерфейс, через Proxy API в Datamart Platform Studio.
7.1.4. Дополнительные роли
Роли, дополнительно назначенные пользователю в auth-сервисе могут использоваться для настройки доступа пользователя к отдельным эндпоинтам API инсталляций услуги при организации доступа через Proxy API (см. раздел Руководств пользователя: Защита и ограничение доступа к интерфейсам инсталляцмй и кластеров подраздел «Настройка ролей доступа к эндпоинтам Proxi API»)
7.2. Реализация доступа к объектам и воркспейсам
Администрирование:
superadmin
admin
Управление ресурсами:
superadmin
admin
Мониторинг:
superadmin
admin
Управление услугами:
superadmin
admin
service_admin
viewer
7.2.1. Переход по прямым ссылкам в UI /API DPS
При вызове той или иной функции для объекта Студии выполняется проверка ролевого доступа к указанному объекту:
Если у роли отсутствует доступ к просмотру информации об объекте: отсутствуют права на чтение объекта, на странице объекта отображается информация об отсутствии доступа к данному типу объекта.
Если у роли отсутствует доступ к обновлению/управлению/добавлению того или иного объекта, пользователь получает уведомление о том, что роль не допускает выполнения данного действия.
Рисунок 7.1 Сообщение об отсутствии доступа у пользователя
7.2.2. Отображение доступных действий в меню «Управление»
Если у пользователя отсутствует возможность управления объектом, но есть доступ на просмотр данного типа объекта, кнопка вызова меню «Управление» компонентом задизейблена, вызов меню недоступен.
Если пользователю доступно управление объектом, кнопка вызова меню «Управление» компонентом активна, вызов меню доступен.
7.2.3. Отображение доступного списка массовых действий
Если у пользователя отсутствует возможность управления объектом, но есть доступ на просмотр данного типа объекта чек-боксы в списке неактивны (например, у компонентов Услуги), меню массовых действий не отображается.
Если пользователю доступно управление объектом, чек-боксы активны, меню массовых действий доступно.
7.2.4. Отображение кнопки «Добавление»
Если у пользователя отсутствует возможность управления объектом, но есть доступ на просмотр данного типа объекта, кнопка «Добавить объект» в списке отсутствует.
Если пользователю доступно управление объектом, кнопка «Добавить объект» присутствует в списке.
7.3. Матрица ролевого доступа
Рисунок 7.2 Матрица ролевого доступа (1 из 3)
Рисунок 7.3 Матрица ролевого доступа (Продолжение 2 из 3)
Рисунок 7.4 Матрица ролевого доступа (Продолжение 3 из 3)
7.4. Доступные действия основных ролей
Примечание
Права основных ролей распространяются только в рамках компонентов, привязанных к учетной записи организации, назначенной пользователю. В случае, если права получены в рамках auth-сервиса отдельной услуги, то только на уровне услуги.
Действия |
superadmin |
admin |
service_admin |
viewer |
|---|---|---|---|---|
Просмотр данных о своем пользователе и доступе (ролях) |
Y |
Y |
Y |
– |
Просмотр журнала действий авторизованного пользователя |
Y |
Y |
Y |
– |
Действия |
superadmin |
admin |
service_admin |
viewer |
|---|---|---|---|---|
Добавление и управление хранилищами репозиториев DPS |
Y |
– |
– |
– |
Просмотр данных о хранилищах репозиториев DPS по прямой ссылке |
Y |
Y |
Y |
Y |
Управление репозиториями/бандлами/приложениями DPS |
Y |
– |
– |
– |
Просмотр данных о репозиториях/бандлах/приложениях DPS |
Y |
Y |
Y |
Y |
Действия |
superadmin |
admin |
service_admin |
viewer |
|---|---|---|---|---|
Назначение настроек на уровне DPS |
Y |
– |
– |
– |
Назначение настроек на уровне организации |
Y |
Y |
– |
– |
Назначение настроек на уровне услуги |
Y |
Y |
Y |
– |
Применение настроек всех уровней для доступных услуг |
Y |
Y |
Y |
– |
Просмотр всех глобальных настроек (в доступных разделах) |
Y |
Y |
Y |
Y |
Действия |
superadmin |
admin |
service_admin |
viewer |
|---|---|---|---|---|
Управление дата-центрами |
Y |
Y |
– |
– |
Управление серверами датацентров и дисками |
Y |
Y |
– |
– |
Управление сетями дата-центров |
Y |
Y |
– |
– |
Управление маршрутами SSH |
Y |
Y |
– |
– |
Управление гипервизорами |
Y |
Y |
– |
– |
Управление ротацией паролей ДЦ |
Y |
Y |
– |
– |
Управление базами данных и их интерфейсами |
Y |
Y |
– |
– |
Просмотр данных о ДЦ |
Y |
Y |
Y |
Y |
Просмотр данных серверов |
Y |
Y |
Y |
Y |
Просмотр данных всех разделов ДЦ |
Y |
Y |
Y |
Y |
Просмотр данных гипервизоров |
Y |
Y |
Y |
– |
Просмотр данных БД и интерфейсов БД |
Y |
Y |
Y |
Y |
Действия |
superadmin |
admin |
service_admin |
viewer |
|---|---|---|---|---|
Мониторинг ресурсов организации |
Y |
Y |
– |
– |
Просмотр списка пользователей (доступных организаций) |
Y |
Y |
– |
– |
Просмотр журналов действий пользователей (доступных организаций) |
Y |
Y |
– |
– |
Управление бекапами DPS |
Y |
– |
– |
– |
Просмотр информации о бекапах DPS |
Y |
Y |
– |
– |
Управление каталогом системных сценариев |
– |
– |
– |
– |
Управление каталогом системных шагов |
– |
– |
– |
– |
Просмотр каталога системных шагов и сценариев |
Y |
Y |
Y |
– |
Управление пользовательскими сценариями |
Y |
Y |
Y |
– |
Управление пользовательскими шагами |
Y |
Y |
Y |
– |
Просмотр auth-сервисов |
Y |
Y |
Y |
– |
Управление auth-сервисами |
Y |
Y |
– |
– |
Действия |
superadmin |
admin |
service_admin |
viewer |
|---|---|---|---|---|
Управление очередями |
Y |
Y |
– |
– |
Просмотр очередей |
Y |
Y |
Y |
– |
Действия |
superadmin |
admin |
service_admin |
viewer |
|---|---|---|---|---|
Редактирование организаций |
Y |
Y |
– |
– |
Просмотр организаций |
Y |
Y |
– |
– |
Управление пользовательскими типами услуг |
Y |
– |
– |
– |
Просмотр списка типов услуг |
Y |
Y |
– |
– |
Управление лицензиями |
Y |
– |
– |
– |
Просмотр списка типов лицензий |
Y |
Y |
– |
– |
Управление списком имён настроек приложений для доступа к СУБД |
Y |
– |
– |
– |
Просмотр списка имён настроек приложений для доступа к СУБД |
Y |
Y |
– |
– |
Действия |
superadmin |
admin |
service_admin |
viewer |
|---|---|---|---|---|
Просмотр данных мониторинга ресурсов организации |
Y |
Y |
– |
– |
Просмотр журнала последних изменений |
Y |
Y |
Y |
– |
Действия |
superadmin |
admin |
service_admin |
viewer |
|---|---|---|---|---|
Добавление и управление услугами (в т.ч из профиля) |
Y |
Y |
– |
– |
Просмотр данных услуг и всех ее разделов |
Y |
Y |
Y |
Y |
Просмотр всех карточек компонентов услуги и их разделов |
Y |
Y |
Y |
Y |
Управление инсталляциями и кластерами услуг |
Y |
Y |
Y |
– |
Управление настройками/интерфейсами компонентов услуги |
Y |
Y |
Y |
– |
Запуск основных плэйбуков компонентов услуг |
Y |
Y |
Y |
– |
Запуск специфических плэйбуков компонентов услуг (rotate_password, pgrepack) |
Y |
Y |
– |
– |
Просмотр конфигурационных файлов компонентов услуги |
Y |
Y |
Y |
– |
Загрузка файлов компонентов услуги |
Y |
Y |
Y |
– |
Управление сценариями услуги |
Y |
Y |
Y |
– |
Создание профиля из услуги |
Y |
Y |
Y |
– |
Просмотр списка профилей своей услуги |
Y |
Y |
Y |
– |
Управление профилями своей услуги |
Y |
Y |
Y |
– |
Прикрепление ДЦ/сервера/БД к услуге |
Y |
Y |
Y |
– |