Разрешения на данные

Эта страница описывает разрешения для баз данных и таблиц.

Обзор разрешений

Если у вас есть несколько групп и несколько баз данных, вы можете контролировать доступ к ним, перейдя в Настройки администратора > Разрешения. Вы увидите интерактивную таблицу, которая отображает все ваши базы данных и все ваши группы, а также уровень доступа, который имеют ваши группы для каждой базы данных.

Установка разрешений на базу данных

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

Доступ к данным

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

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

GlarusBI обеспечивает различные типы доступа к данным:

Неограниченный доступ

Пользователи, которые включены в группу могут создавать вопросы с использованием мастера запросов на данные из всех таблиц (во всех пространствах имен/схемах, если они используются в вашей базе данных), в том числе и на таблицы, которые могут быть добавлены в эту базу данных в будущем. Чтобы предоставить группе возможность написания вопросов на нативном, или на SQL языке, вы также должны установить настройку Встроенное редактирование вопросов в значение Да.

Детализированные права доступа

Детализированные права доступа позволяют администраторам явно устанавливать доступ к данным к таблицам или схемам внутри базы данных, где доступ к данным означает возможность создавать вопросы с использованием мастера запросов. На практике это означает:

  • Администраторы могут установить для групп доступ к отдельным таблицам либо как Неограниченный, Без самообслуживания или Ограниченный.

  • Если в будущем в базу данных будет добавлена новая таблица, группа не получит к ней доступ. Администратор должен будет явно разрешить доступ к этой таблице.

Обратите внимание, что уровень доступа Блокировка недоступен для отдельных таблиц/схем. Блокировка - это настройка на уровне базы данных, и вы можете заблокировать только всю базу данных целиком.

Нет доступа к самообслуживанию

Не обслуживается запрещает доступ пользователям из групп к использованию мастера запросов для создания новых вопросов, или от доступа к самой базе данных в разделе “Просмотр данных”. Группы с уровнем доступа Не обслуживается все еще могут видеть сохраненные вопросы, которые запрашивают эти данные, если у них есть доступ к соответствующей коллекции, и если они не являются членами группы с блокированным доступом к базе данных.

Имперсонифицированный доступ

На данный момент имперсонифицированный доступ возможен только для PostgreSQL и Snowflake.

Имперсонифицированный доступ позволяет связать атрибуты пользователя с определенными в базе данных ролями и их привилегиями. Запросы к GlarusBI, совершаемые людьми с установленными вами атрибутами, будут выполняться с учетом прав, предоставленных ролям базы данных.

Вы можете использовать имперсонификацию, чтобы предоставить людям доступ к нативному/SQL редактору и, в то же время, ограничить их доступ к данным на основе определенной роли базы данных. И не только доступ на уровне таблиц, но и доступ на уровне строк - в зависимости от того, как вы определяете доступ для этой роли в своей базе данных. По сути, это означает, что вы можете использовать имперсонификацию для настройки доступа к вашим данным наподобие песочницы, позволяя людям использовать редактор SQL для запроса этих данных. Разница в том, что вместо настройки песочницы в GlarusBI вам необходимо настроить безопасность на уровне строк с помощью привилегий, предоставленных данной роли в вашей базе данных.

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

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

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

В вашей базе данных:

  • Создайте новую роль.

  • Назначьте этой роли привилегии.

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

В вашей GlarusBI:

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

  • Назначьте атрибут пользователя этой группе пользователей. Вы будете использовать этот атрибут пользователя, чтобы связать данную группу с ролью, которую вы создали в своей базе данных. Например, если вы создали в базе данных роль под названием “Продавец” с доступом к определенному подмножеству таблиц, то вы должны добавить в группу пользовательский атрибут “Продавец”. Атрибут пользователя должен совпадать с названием роли в вашей базе данных. Некоторые базы данных чувствительны к регистру, поэтому вам стоит проверить, что имя атрибута и роль в точности совпадают.

  • Далее вам нужно будет применить имперсонифицированный доступ к этой группе. Откройте Настройки администратора > Разрешения > Данные.

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

  • Найдите группу, которую вы хотите связать с созданной вами ролью базы данных. В разделе Доступ к данным для этой группы выберите Имперсонификация.

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

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

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

Блокировка доступа

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

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

Если участник этой заблокированной группы принадлежит другой группе, которая имеет соответствующий доступ к данным, то этот доступ с более высокими привилегиями будет иметь приоритет (заменяя блокировку) и они смогут просматривать этот вопрос.

“Соответствующий доступ к данным” здесь определяет, был ли сохраненный вопрос создан с помощью графического редактора запросов или редактора SQL, так как требуемые разрешения для отмены блокировки зависят от того, как именно был создан вопрос.

  • Если вопрос был создан с помощью графического редактора запросов, то пользователю также нужно быть участником группы с Неограниченным доступом к данным или Ограниченным доступом к соответствующей базе данных (или таблице), чтобы просматривать этот вопрос.

  • Если вопрос был создан с помощью редактора SQL, то пользователю нужно быть участником группы с Неограниченным доступом к данным и Редактированием SQL, установленным в Да, чтобы просматривать этот вопрос.

Разрешения на таблицы

Если вы выберете Детализированный доступ для базы данных, вам предложат установить разрешения для таблиц (или схем) в этой базе данных. Здесь у вас будут несколько вариантов, которые могут отличаться в зависимости от плана GlarusBI.

Неограниченный доступ к таблице

Группы с неограниченным доступом могут использовать графический редактор запросов для задания вопросов об этой таблице.

Нет доступа к самообслуживанию таблиц

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

Доступ к таблице с типом “песочница”

Группы доступа к таблице с типом “песочница” могут ограничить доступ к столбцам и строкам таблицы. Ознакомьтесь с разделом доступ к данным.

Редактирование нативных запросов

Пользователи группы с установленным редактированием нативных запросов в “Да” могут:

Этот уровень доступа требует, чтобы группа дополнительно имела неограниченный доступ к данным для соответствующей базы данных, поскольку SQL-запросы могут обойти разрешения на уровне таблицы. Пользователи в группе без разрешений на редактирование нативных запросов по-прежнему смогут просматривать результаты вопросов, созданных из SQL/нативных запросов (хотя только результаты, а не сам запрос), или запускать действие, при условии, что они 1) имеют доступ к коллекции вопросов или модели и 2) он не запрашивает базу данных, которая заблокирована для этой группы.

Выгрузка результатов

Вы можете установить разрешения на то, могут ли люди в группе скачивать результаты (и сколько строк) из источника данных. Возможные варианты:

  • Нет (они не могут скачивать результаты)

  • Детальный (вы хотите установить доступ для отдельных таблиц или схем)

  • 10 тысяч строк

  • 1 миллион строк

Управление метаданными таблиц

Для группы пользователей так же можно задать разрешение на редактирование метаданных таблиц. Варианты:

  • Да (это означает, что они могут редактировать метаданные для этого источника данных)

  • Нет

  • Детализированный (устанавливает разрешения для каждой таблицы по отдельности)

Управление базой данных

Право доступа Управление базой данных дает доступ к странице настроек для определенной базы данных (Настройки администратора > Базы данных > ваша база данных).

На странице настроек базы данных можно:

Обратите внимание, что удаление соединения с базой данных разрешено только администраторами, поэтому люди с разрешением Управление базой данных не увидят кнопку Удалить базу данных.

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