Разграничение прав доступа к базам данных

Начиная с Visiology 2.29 имеется возможность разграничивать права доступа к базам данных. Например, пользователи, имеющие определенный набор ролей, могут работать только с одной или несколькими базами данных, при этом они не видят другие базы данных, SQL-подключения, загрузчики и другую информацию в ViQube. Пользователи с другим набором ролей могут только создавать и редактировать дашборды в Dashboard Designer, используя данные доступных им баз данных.

Есть также возможность, при наличии соответствующих ролей, самостоятельно пройти весь путь от добавления загрузчиков в базу данных до построения дашбордов в Dashboard Designer. Для реализации этой возможности была создана новая системная роль – Аналитик DWH. Пользователи с данной ролью имеют доступ к административной части базы данных ViQube, в которой можно работать с базами данных, добавлять загрузчики, создавать модели данных с помощью измерений и групп показателей, при этом доступ ко всем настройкам панели администрирования закрыт:

Системные роли удалить невозможно.

Назначение прав доступа к базам данных

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

  1. Назначьте пользователю роль Аналитик DWH. Данная роль позволит получить доступ к панели администрирования, при этом доступ к настройкам панели будет закрыт.
    Роли назначаются при добавлении или редактировании пользователя.

  2. Создайте новую роль и назовите ее, например, Доступ к БД1.

  3. Используйте следующий cURL-запрос, чтобы назначить роли Доступ к БД1 права доступа к нужной базе данных:

curl --request PUT \   --url http://<ip_platfrom>/viqube/accessrights/roledb \   --header 'Authorization: Bearer "Токен Админа" ' \   --header 'Content-Type: application/json' \   --header 'x-api-version: 3.10' \   --data '{     "role" : "Доступ к БД1",     "databases" : ["Идентификатор базы данных"] }'

При необходимости назначить доступ к нескольким базам данных, перечислите их идентификаторы через запятую в строке "databases" : ["Идентификатор базы данных"].
Чтобы узнать как получить токен, смотрите раздел Получение токена аутентификации.

4. Назначьте пользователю созданную роль (Доступ к БД1). Теперь пользователь, имея одновременно две роли (Доступ к БД1 и Аналитик DWH), сможет просматривать указанную в cURL-запросе базу данных, создавать загрузчики и строить модель данных на основе этой базы.

Для входа в ViQube необходимо использовать следующий адрес:
http://<domen>/vqadmin
где <domen> – домен или IP-адрес сервера платформы.

Пример разграничения прав доступа

Имеется две базы данных (БД1 и БД2) и два пользователя (Иванов и Петров). Необходимо открыть доступ пользователю Иванов к базе данных БД1, а пользователю Петров – к БД2.

Для этого необходимо сделать следующее:

  1. Создать две новые роли:

    • Доступ к БД1 (с правами доступа к БД1);

    • Доступ к БД2 (с правами доступа к БД2).

  2. Назначить каждому пользователю две роли:

    • Иванов:

      • Аналитик DWH;

      • Доступ к БД1.

    • Петров:

      • Аналитик DWH;

      • Доступ к БД2.

В результате пользователь Иванов сможет работать с базой данных БД1 (и не увидит БД2), а Петров – с базой данных БД2:

Доступ к базам данных в Dashboard Designer

Для создания и редактирования дашбордов в Dashboard Designer достаточно назначить пользователю две роли – роль, предоставляющую доступ к одной или нескольким базам данных (в нашем примере это Доступ к БД1) и Редактор, права которой позволяют работать с дашбордами. В этом случае, при создании дашбордов, пользователь сможет выбрать одну из доступных ему баз данных:

 

Если пользователю назначить все три роли (Доступ к БД1, Редактор, Аналитик DWH), то он сможет создавать загрузчики, показатели и измерения в БД1, а затем создавать и редактировать дашборды с этими данными в Dashboard Designer.

  • В Dashboard Designer пользователи увидят только доступные им базы данных. При отсутствии таковых список будет пустым.

  • При смене базы данных в Dashboard Designer, сбрасываются настройки данных у всех виджетов.

Предоставление прав доступа всем пользователям ко всем базам данных

Если разграничение прав не требуется, достаточно дать доступ ко все базам данным роли Все авторизованные пользователи с помощью вышеупомянутого cURL-запроса. В этом случае все существующие пользователи, равно как и вновь созданные, получат доступ к указанным базам данных, так как данная роль назначается автоматически каждому пользователю. После создания новой базы данных необходимо также предоставить к ней доступ.

Ограничения

Пользователи, работающие в модулях Пользовательская аналитика и Smart Forms, не смогут выбрать базу данных, имея роль с доступом к нескольким базам данных. Всегда будет использоваться база данных, указанная администратором. Если у пользователя нет доступа к этой базе данных, то он не сможет работать в данных модулях.


Статьи по теме

Настройки прав доступа
Роли
Список пользователей

Нужна дополнительная помощь?

Свяжитесь с технической поддержкой.