Разграничение прав доступа к базам данных
Начиная с Visiology 2.29 имеется возможность разграничивать права доступа к базам данных. Например, пользователи, имеющие определенный набор ролей, могут работать только с одной или несколькими базами данных, при этом они не видят другие базы данных, SQL-подключения, загрузчики и другую информацию в ViQube. Пользователи с другим набором ролей могут только создавать и редактировать дашборды в Dashboard Designer, используя данные доступных им баз данных.
Есть также возможность, при наличии соответствующих ролей, самостоятельно пройти весь путь от добавления загрузчиков в базу данных до построения дашбордов в Dashboard Designer. Для реализации этой возможности была создана новая системная роль – Аналитик DWH. Пользователи с данной ролью имеют доступ к административной части базы данных ViQube, в которой можно работать с базами данных, добавлять загрузчики, создавать модели данных с помощью измерений и групп показателей, при этом доступ ко всем настройкам панели администрирования закрыт:
Системные роли удалить невозможно.
Назначение прав доступа к базам данных
Для того чтобы открыть пользователю доступ к одной или нескольким базам данных, необходимо выполнить несколько шагов:
Назначьте пользователю роль Аналитик DWH. Данная роль позволит получить доступ к панели администрирования, при этом доступ к настройкам панели будет закрыт.
Роли назначаются при добавлении или редактировании пользователя.Создайте новую роль и назовите ее, например, Доступ к БД1.
Используйте следующий 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);
Доступ к БД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, не смогут выбрать базу данных, имея роль с доступом к нескольким базам данных. Всегда будет использоваться база данных, указанная администратором. Если у пользователя нет доступа к этой базе данных, то он не сможет работать в данных модулях.
Статьи по теме
Нужна дополнительная помощь?