Skip to content

Latest commit

 

History

History
113 lines (60 loc) · 8.33 KB

features.md

File metadata and controls

113 lines (60 loc) · 8.33 KB

Авторизация

Доступ в интерфейс Datalens предоставляется только авторизованным пользователям:

Авторизация

Текущий авторизованный пользователь отображается в левом меню.

Логин авторизованного пользователя

Сруктура БД и описание функций

Авторизация через OIDC

Доступна возможность авторизации через OIDC провайдер, можно подключить до 4. Все авторизованные таким образом пользователи по умолчанию имеют права только для чтения (роль datalens в таблице core.pd_roles).

OIDC

Подробнее

Права доступа

В интерфейс встроена примитивная "ролевая" модель, где есть:

  • Мастер пользователь - неограниченный доступ.
  • Администратор - доступ только в рамках текущего проекта. Решение предусматривает, что могут быть несколько проектов, которые "крутятся" в одной инсталяции Datalens, и у каждого проекта свой администратор и пользователи.
  • Пользователь - доступна возможность только просмотра.
  • Внешний пользователь - пользователи авторизовавшиеся через OIDC-провайдер.

Назначение прав

По умолчанию все объекты запрещены, чтобы было отображение, требуется выдавать права на это.

Связанные объекты

В разделе "Связанные объекты" добавлен функционал обеспечивающий "перенос" текущих прав объекта на связанные. Такой механизм позволяет быстро применить права доступа на связанные объекты. Например, если доступ предоставлен к dashboard, то благодаря этому механизму можно быстро перенести права на чатры, просто передвинув "переключатель".

Связанное наследование

Примечание: данный механизм не позволяет "отбирать" права. Назначение прав через этот функционал - это лишь копирование прав родительского объекта на связанные. При этом предыдущие права "перетираются".

Подробнее

Администрирование

Для пользователя с ролью master доступен интерфейс администрирования:

Администрирование

Роли

Интерфейс добавления пользовательских ролей.

Примечание: при назначении прав пользователям, требуется выполнить одно обязательное условие, у пользователя должна быть одна из базовых ролей: admin (Администратор) или datalens (Пользователь).

Проекты

Проекты позволяют разделять объекты datalens (области видимости) для пользователей. Этот механизм будет полезен если у Вас несколько администраторов, которые могут быть изолированы друг от друга.

Примечание: пользователь с ролью master видит все объекты и независимо от проектов. Проекты указываются на уровне пользователей.

Пользователи

Администрирование пользователей: создание, редактирование.

Примечание: удаление пользователей невозможно, есть только механизм из отключения (сделать неактивными). Ограничение связано с внутренней реализацие сервиса безопасности datalens-auth.

  • в данном интерфейсе есть возможность назначения ролей (на одного пользователя их можно назначить несколько, главно, чтобы одна из ролей была базовой: admin или datalens);
  • можно изменить привязку на уровне проекта - область видимости;
  • обновить или задать пароль.

Интерфейс поддерживает функционал поиска по атрибуту логин.

Внешние пользователи

Если пользователь выполнил авторизацию с внешего сервера, то ему автоматически назначется роль oidc. У данной роли есть одно огарничение - функционл по смене пароля для них не доступен.

Поделиться

Доступна возможность передать чарт или дашборд, как ссылку:

Поделиться

Примечание: ссылка будет доступно до тех пор пока учётные данные пользователя, которые передал ссылку не меняются.

Безопасность

В интерфейсе "Поделиться объектом" генерируется уникальная ссылка, которая хранит "автора", который передаёт ссылку и отчёго имени будет разрешён просмотр:

Поделиться объектом

Внимание: Пользователь, который получит ссылку будет иметь доступ только для просмотра этого объекта и больше никуда. Редактирование будет запрещено.

Если нужно отменить выданную ссылку, то нужно нажать кнопку "Обновить ссылку". Один объект - одна ссылка.

Использование встроенных параметров для QL-чартов

По умолчанию в интерфейс QL-чарта передаются:

  • __user_id: integer - идентификатор текущего авторизованного пользователя;
  • __embed: integer - признак перехода из расшаренной ссылки, -1 - Нет, 1 - Да.

Чтобы эти параметры были доступны в SQL запросах и требуется инициализировать их в параметрах интерфейса:

Параметры

Запрос

Благодаря этим системным параметрам можно внутри запроса QL-чарта фильтровать данные по текущему авторизованному пользователю.

Описание

Это специальное поле для параметров, которые было заведено для сохранение дополнительных значений, которые можно передать в третьи системы (особенность версии, которая делалась под заказчика).