Пользователи и права¶
Доступ в системе устроен в два уровня. Первый отвечает на вопрос «что пользователю можно делать», второй на вопрос «какие данные он при этом видит».
| Уровень | Чем управляется | Где настраивается |
|---|---|---|
| Операции | Роли и права | Сервис аутентификации и раздел «Права API» в веб-интерфейсе администратора |
| Данные | Политики доступа к данным | Раздел «Политики доступа» в веб-интерфейсе администратора |
Учётные записи¶
Пользователи заводятся в сервисе аутентификации. При первом входе учётная запись появляется в Орбите автоматически, отдельно создавать её не нужно. Пароли, вторая проверка входа и парольные политики настраиваются там же.
Роли¶
В поставке две роли:
| Роль | Назначение |
|---|---|
orbita_analyst | Обычный пользователь: запросы, датасеты, графики, отчёты |
orbita_admin | Администратор: всё перечисленное плюс управление системой |
Роль назначается пользователю в сервисе аутентификации. Пользователь без назначенной роли доступа к системе не получает, это поведение по умолчанию и менять его не рекомендуется.
Права¶
Состав прав роли настраивается. Полный перечень:
| Группа | Права |
|---|---|
| Запросы | Выполнение запросов, просмотр истории |
| Датасеты | Просмотр, сохранение, удаление, выгрузка |
| Беседы | Создание, просмотр, изменение, удаление |
| Отчёты | Создание и изменение шаблонов |
| Домены | Изменение описаний данных |
| Администрирование | Просмотр пользователей, журнала действий, телеметрии, управление системой |
| Телеметрия с текстами | Просмотр сохранённых текстов запросов и ответов |
Право на просмотр текстов запросов выделено отдельно: его выдают только тем, кому по регламенту разрешено видеть содержимое обращений пользователей.
Политики доступа к данным¶
Политика описывает, какие данные видит группа пользователей. Настраивается в веб-интерфейсе администратора.
| Что задаётся | Пример |
|---|---|
| Разрешённые домены | только продажи и склад |
| Запрещённые таблицы | таблица с персональными данными сотрудников |
| Запрещённые колонки | колонка с себестоимостью |
| Фильтр строк | только строки своего филиала |
Фильтр строк опирается на атрибуты учётной записи. Например, если у пользователя в сервисе аутентификации задан филиал, политика может ограничить видимые строки этим филиалом. Так один и тот же вопрос даёт разным пользователям разные, но корректные для каждого ответы.
Ограничения применяются на сервере, при формировании запроса к хранилищу. Обойти их со стороны рабочего места невозможно.
Изоляция пользовательских данных¶
Беседы, датасеты и графики принадлежат создавшему их пользователю. Обращение к чужому объекту возвращает ответ «не найдено»: система не подтверждает даже факт существования такого объекта.
Порядок заведения нового пользователя¶
- Создайте учётную запись в сервисе аутентификации.
- Назначьте роль.
- При необходимости заполните атрибуты, которые используются в фильтрах строк, например филиал.
- Убедитесь, что пользователь попадает под нужную политику доступа к данным.
- Попросите пользователя войти и выполнить тестовый запрос.
Проверка прав¶
Если пользователь сообщает, что не видит части данных:
- Проверьте его роль и состав прав роли в разделе «Права API» веб-интерфейса администратора.
- Проверьте, какая политика доступа к нему применяется, в разделе «Политики доступа». Если доступ пропал недавно, раздел «Аудит» покажет, кто и когда менял настройку.
- Посмотрите журнал действий: там видно, какие запросы выполнялись и чем завершились.
Обратная ситуация, когда пользователь видит лишнее, разбирается так же: почти всегда причина в слишком широкой политике или в роли, выданной по ошибке.