Перейти к содержанию

Разрешения на источник данных через роль БД

Предупреждение

На данный момент этот вид разрешений доступен только для PostgreSQL, Redshift и Snowflake.

На этой странице описывается вид (или уровень) разрешения Через роль БД.

Через роль БД позволяет администраторам "передавать" разрешения на просмотр данных ролям в вашей базе данных. Администраторы могут связывать атрибуты пользователей с ролями, определёнными в базе данных, и их разрешениями. Если кто-то входит в группу с разрешением на просмотр данных "Через роль БД", этот человек сможет просматривать и запрашивать данные на основе разрешений, предоставленных роли, указанной в его атрибуте пользователя.

Настройка подключения

Примечание

**Для работы "Через роль БД" с базами данных Redshift учётная запись пользователя, которую Glarus BI использует для подключения к вашей базе данных Redshift, должна быть суперпользователем, так как Glarus BI потребуется выполнить команду SET SESSION AUTHORIZATION, которую может выполнять только суперпользователь базы данных.

Для работы доступа "Через роль БД" вам сначала нужно настроить роли в вашей базе данных, которые Glarus BI будет использовать, а затем настроить Glarus BI для применения этих ролей при просмотре пользователями данных или выполнении запросов.

Настройте роли в СУБД

  1. Создайте новую роль (в Redshift это будет новый пользователь).
  2. Предоставьте этой роли разрешения на данные.

Для получения информации о том, как создать новую роль в вашей СУБД и предоставить этой роли разрешения, вам необходимо обратиться к документации вашей базы данных. У нас также есть некоторая документация о пользователях, ролях и привилегиях, которая может помочь вам начать работу.

В вашем Glarus BI настройте доступ "Через роль БД" и укажите атрибут пользователя

  1. Создайте новую группу или выберите существующую группу.

  2. Назначьте атрибут пользователя пользователям в этой группе. Вы будете использовать этот атрибут пользователя для связи людей в этой группе с ролью, которую вы создали в вашей базе данных. Например, если вы создали роль с именем sales в вашей базе данных с доступом к подмножеству таблиц, относящихся к отделу продаж, вы бы добавили атрибут пользователя под названием db_role (или как вы хотите назвать атрибут) и присвоили значение sales атрибуту db_role пользователя. Значение атрибута (sales в данном случае) должно соответствовать имени роли в вашей базе данных. Некоторые базы данных учитывают регистр, поэтому вам лучше убедиться, что значение атрибута и роль базы данных точно совпадают.

  3. Примените доступ "Через роль БД" к этой группе. Нажмите Cmd/Ctrl + K, чтобы вызвать палитру команд. Найдите Разрешения. Или перейдите в Управление > Разрешения > Данные.

  4. Выберите базу данных, для которой вы хотите установить разрешения.

  5. Найдите группу, которую вы хотите связать с ролью базы данных, которую вы создали. В настройке Просмотр данных для этой группы выберите Через роль БД.

  6. В выпадающем списке выберите атрибут пользователя, который вы добавили и который сопоставляется с ролью, которую вы хотите, чтобы группа использовала при запросе базы данных.

  7. Сохраните изменения.

Пользователи в группе с доступом "Через роль БД" к данным не обязательно имеют одинаковые разрешения

Glarus BI будет использовать ту роль, которую вы укажете в атрибуте пользователя для каждого человека. Например, если вы выберете атрибут db_role, db_role у одного человека может быть sales, у другого — engineering или принимать любое другое значение, которое соответствует действительной роли в вашей базе данных.

Используйте "Через роль БД" для настройки доступа к SQL на уровне строк

Вы можете использовать "Через роль БД", чтобы дать людям доступ к редактору прямых/SQL-запросов, ограничивая при этом их доступ к данным на основе определённой роли базы данных. И не только доступ на уровне таблиц, но и доступ на уровне строк, или в зависимости от того, как вы определите доступ для этой роли в вашей базе данных. Фактически, вы можете использовать "Через роль БД" для настройки доступа к вашим данным, подобного "песочницам данных", позволяя при этом людям использовать редактор SQL для запроса этих данных. Разница заключается в том, что _вместо создания песочницы данных в Glarus BI, вам нужно настроить эту безопасность на уровне строк через привилегии, предоставленные роли в вашей базе данных.

Если вы хотите дать группе доступ к SQL к некоторым, но не ко всем схемам или таблицам в этой базе данных, вы можете создать дополнительную роль в вашей базе данных, которая включает только подмножество этих таблиц, или даже конкретный доступ на уровне строк, а затем использовать функцию "Через роль БД" Glarus BI для связи атрибута пользователя с этой ролью. По сути, Glarus BI будет принимать атрибут пользователя и передавать этот атрибут в виде строки в команду SET ROLE или USE ROLE для базы данных до выполнения запроса.

"Через роль БД" подключения не применяется к пользователям в группе администраторов Glarus BI, так как их более разрешительные привилегии имеют приоритет.

Glarus BI предоставляет пользователям наиболее разрешительный доступ к данным во всех их группах

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

  • "красная группа" с доступом "Через роль БД", который ограничивает то, что они могут видеть;
  • "синяя группа" с установленным параметром просмотра данных "Может просматривать" и создания запросов "Конструктор запросов и прямой запрос".

Более разрешительный доступ будет иметь приоритет.

Дополнительная информация