Разрешения на данные¶
Эта страница описывает разрешения на базы данных и таблицы.
Обзор разрешений¶
Если у вас есть несколько групп и несколько баз данных, вы можете контролировать доступ к ним, перейдя в Настройки администратора > Разрешения. Вы увидите интерактивную таблицу, которая отображает все ваши базы данных и все ваши группы, а также уровень доступа, который имеют ваши группы для каждой базы данных.
Установка разрешений на базу данных¶
Вы можете выбирать различные уровни разрешений на источник данных, от доступа к выборкам данных до управления подключением к базе данных.
- Доступ к данным
- Прямые запросы
- Выгрузка результатов
- Управление метаданными таблиц
- Управление базой данных
Доступ к данным¶
Уровни доступа к данным определяют, какие данные могут использовать люди, чтобы создавать новые запросы. Доступ к данным отличается от разрешений на коллекции, которые определяют, какие существующие объекты пользователи могут просматривать: дашборды, запросы или модели. Glarus BI предоставляет как грубые, так и точные инструменты для настройки прав доступа к данным, соответствующих вашим потребностям.
Вы можете нажать на любую ячейку в таблице разрешений, чтобы изменить уровень доступа группы. Когда вы закончите вносить изменения, просто нажмите кнопку Сохранить изменения в верхнем правом углу, и вы увидите диалоговое окно подтверждения, в котором будут показаны все изменения, которые вы сделали.
Glarus BI обеспечивает различные типы доступа к данным:
-
Неограниченный (включая прямой/SQL доступ на редактирование)
-
Детализированный (изолированный доступ)
Неограниченный доступ¶
Пользователи, которые включены в группу, могут создавать запросы с использованием мастера запросов на данные из всех таблиц (во всех пространствах имён/схемах, если они используются в вашей базе данных), в том числе и на таблицы, которые могут быть добавлены в эту базу данных в будущем. Чтобы предоставить группе возможность написания прямых запросов/SQL, вы также должны установить настройку Встроенное редактирование запросов в значение Да.
Детализированные права доступа¶
Детализированные права доступа позволяют администраторам явно устанавливать доступ к данным к таблицам или схемам внутри базы данных, где доступ к данным означает возможность создавать запросы с использованием мастера запросов. На практике это означает:
- Администраторы могут установить для групп доступ к отдельным таблицам либо как Неограниченный, Без самообслуживания или Ограниченный.
- Если в будущем в базу данных будет добавлена новая таблица, группа не получит к ней доступ. Администратор должен будет явно разрешить доступ к этой таблице.
Обратите внимание, что уровень доступа Блокировка недоступен для отдельных таблиц/схем. Блокировка — это настройка на уровне базы данных, и вы можете заблокировать только всю базу данных целиком.
Нет доступа к самообслуживанию¶
Не обслуживается запрещает доступ пользователям из групп к использованию мастера запросов для создания новых запросов, или от доступа к самой базе данных в разделе "Просмотр данных". Группы с уровнем доступа Не обслуживается Всё ещё могут видеть сохранённые запросы, которые запрашивают эти данные, если у них есть доступ к соответствующей коллекции, и если они не являются членами группы с блокированным доступом к базе данных.
Имперсонифицированный доступ¶
Предупреждение
На данный момент имперсонифицированный доступ возможен только для PostgreSQL и Snowflake.
Имперсонифицированный доступ позволяет связать атрибуты пользователя с определёнными в базе данных ролями и их привилегиями. Запросы к Glarus BI, совершаемые людьми с установленными вами атрибутами, будут выполняться с учетом прав, предоставленных ролям базы данных.
Вы можете использовать имперсонификацию, чтобы предоставить людям доступ к SQL-редактору и, в то же время, ограничить их доступ к данным на основе определённой роли базы данных. И не только доступ на уровне таблиц, но и доступ на уровне строк - в зависимости от того, как вы определяете доступ для этой роли в своей базе данных. По сути, это означает, что вы можете использовать имперсонификацию для настройки доступа к вашим данным наподобие песочницы, позволяя людям использовать редактор SQL для запроса этих данных. Разница в том, что вместо настройки песочницы в Glarus BI вам необходимо настроить безопасность на уровне строк с помощью привилегий, предоставленных данной роли в вашей базе данных.
Когда вы подключаете Glarus BI к базе данных, вы используете учетную запись пользователя базы данных, имеющую одну или несколько ролей базы данных. Когда вы предоставляете группе пользователей в Glarus BI неограниченный доступ к базе данных, эта группа будет иметь те же привилегии, что и учетная запись пользователя, которую вы использовали для подключения Glarus BI к этой базе данных.
Если вместо этого вы хотите предоставить группе пользователей доступ через SQL к некоторым, но не ко всем схемам или таблицам в этой базе данных, вы можете создать дополнительную роль в вашей базе данных, которая включает только подмножество этих таблиц или даже определённый доступ на уровне строк, а затем использовать функцию имперсонификации Glarus BI, чтобы связать атрибут пользователя с этой ролью. По сути, Glarus BI будет брать атрибут пользователя и передавать этот атрибут в виде строки в команду SET ROLE
или USE ROLE
для базы данных до того, как Glarus BI выполнит запрос.
Настройка подключения для имперсонификации¶
В вашей базе данных:
- Создайте новую роль.
- Назначьте этой роли привилегии.
Чтобы узнать, как именно создать новую роль в вашей базе данных и предоставить ей привилегии, вам необходимо обратиться к документации вашей базы данных. У нас также есть документация по пользователям, ролям и привилегиям, которая поможет вам начать работу.
В вашей Glarus BI:
-
Создайте новую группу или выберите уже существующую.
-
Назначьте атрибут пользователя этой группе пользователей. Вы будете использовать этот атрибут пользователя, чтобы связать данную группу с ролью, которую вы создали в своей базе данных. Например, если вы создали в базе данных роль под названием "Продавец" с доступом к определённому подмножеству таблиц, то вы должны добавить в группу пользовательский атрибут "Продавец". Атрибут пользователя должен совпадать с названием роли в вашей базе данных. Некоторые базы данных чувствительны к регистру, поэтому вам стоит проверить, что имя атрибута и роль в точности совпадают.
-
Далее вам нужно будет применить имперсонифицированный доступ к этой группе. Откройте Настройки администратора > Разрешения > Данные.
-
Выберите базу данных, для которой вы хотите установить разрешения.
-
Найдите группу, которую вы хотите связать с созданной вами ролью базы данных. В разделе Доступ к данным для этой группы выберите Имперсонификация.
-
В раскрывающемся списке выберите добавленный вами атрибут пользователя, который соответствует роли, которую группа должна использовать при запросе к базе данных.
-
Сохраните изменения.
Имейте в виду, что Glarus BI предоставляет пользователям наиболее полный доступ к данным из числа имеющихся в их группах. Таким образом, если пользователь входит в одну группу с имперсонализированным доступом, и в другую группу с неограниченным доступом, неограниченный доступ будет иметь приоритет перед имперсонализированным.
Блокировка доступа¶
Блокировка гарантирует, что пользователи в группе не смогут видеть данные из этой базы данных, независимо от их разрешений на уровне коллекции.
Даже если запрос находится в коллекции, для которой у группы есть доступ, но этот запрос запрашивает базу данных, которая заблокирована для этой группы, пользователи в этой группе не смогут просматривать этот запрос, если только они не находятся в другой группе с выданными разрешениями. В основном, Блокировка делает так, что разрешения коллекций недостаточны для просмотра запроса.
Если участник этой заблокированной группы принадлежит другой группе, которая имеет соответствующий доступ к данным, то этот доступ с более высокими привилегиями будет иметь приоритет (заменяя блокировку) и они смогут просматривать этот запрос.
"Соответствующий доступ к данным" здесь определяет, был ли сохранённый запрос создан с помощью графического редактора запросов или редактора SQL, так как требуемые разрешения для отмены блокировки зависят от того, как именно был создан запрос.
- Если запрос был создан с помощью графического редактора запросов, то пользователю также нужно быть участником группы с Неограниченным доступом к данным или Ограниченным доступом к соответствующей базе данных (или таблице), чтобы просматривать этот запрос.
- Если запрос был создан с помощью редактора SQL, то пользователю нужно быть участником группы с Неограниченным доступом к данным и Редактированием SQL, установленным в Да, чтобы просматривать этот запрос.
Разрешения на таблицы¶
Если вы выберете Детализированный доступ для базы данных, вам предложат установить разрешения для таблиц (или схем) в этой базе данных. Здесь у вас будут несколько вариантов, которые могут отличаться в зависимости от плана Glarus BI.
Неограниченный доступ к таблице¶
Группы с неограниченным доступом могут использовать графический редактор запросов для задания запросов об этой таблице.
Нет доступа к самообслуживанию таблиц¶
Группы с ограниченным доступом не могут вообще получить доступ к таблице. Однако они могут просматривать запросы, использующие данные из этой таблицы, если группа имеет доступ к коллекции запросов и они не находятся в группе с блокированным доступом к базе данных.
Доступ к таблице с типом "песочница"¶
Группы доступа к таблице с типом "песочница" могут ограничить доступ к столбцам и строкам таблицы. Ознакомьтесь с разделом доступ к данным.
Редактирование прямых запросов¶
Пользователи группы с установленным редактированием прямых запросов в "Да" могут:
- Создать новый запрос с помощью редактора прямых запросов.
- Создать и редактировать пользовательские действия.
Этот уровень доступа требует, чтобы группа дополнительно имела неограниченный доступ к данным для соответствующей базы данных, поскольку SQL-запросы могут обойти разрешения на уровне таблицы. Пользователи в группе без разрешений на редактирование прямых запросов по-прежнему смогут просматривать результаты запросов, созданных из SQL/прямых запросов (хотя только результаты, а не сам запрос), или запускать действие, при условии, что они 1) имеют доступ к коллекции запросов или модели и 2) он не запрашивает базу данных, которая заблокирована для этой группы.
Выгрузка результатов¶
Вы можете установить разрешения на то, могут ли люди в группе скачивать результаты (и сколько строк) из источника данных. Возможные варианты:
- Нет (они не могут скачивать результаты)
- Детальный (вы хотите установить доступ для отдельных таблиц или схем)
- 10 тысяч строк
- 1 миллион строк
Управление метаданными таблиц¶
Для группы пользователей так же можно задать разрешение на редактирование метаданных таблиц. Варианты:
- Да (это означает, что они могут редактировать метаданные для этого источника данных)
- Нет
- Детализированный (устанавливает разрешения для каждой таблицы по отдельности)
Управление базой данных¶
Право доступа Управление базой данных даёт доступ к странице настроек для определённой базы данных (Настройки администратора > Базы данных > ваша база данных).
На странице настроек базы данных можно:
- Редактировать любые опции коннекта к источнику данных,
- синхронизировать схемы и
- сканировать значения полей.
Обратите внимание, что удаление соединения с базой данных разрешено только администраторами, поэтому люди с разрешением Управление базой данных не увидят кнопку Удалить базу данных.