Разрешения на данные¶
Эта страница описывает разрешения для баз данных и таблиц.
Обзор разрешений¶
Если у вас есть несколько групп и несколько баз данных, вы можете контролировать доступ к ним, перейдя в Настройки администратора > Разрешения. Вы увидите интерактивную таблицу, которая отображает все ваши базы данных и все ваши группы, а также уровень доступа, который имеют ваши группы для каждой базы данных.
Установка разрешений на базу данных¶
Вы можете регулировать различные уровни разрешений на источник данных, от доступа к выборкам данных до управления подключением к базе данных.
Доступ к данным¶
Уровни доступа к данным определяют, какие данные люди могут использовать, чтобы задавать новые вопросы. Доступ к данным отличается от разрешений на коллекции, которые определяют, какие существующие объекты пользователи могут просматривать: дашборды, вопросы или модели. GlarusBI предоставляет как грубые, так и точные инструменты для настройки прав доступа к данным, соответствующих вашим потребностям.
Вы можете нажать на любую ячейку в таблице разрешений, чтобы изменить уровень доступа группы. Когда вы закончите вносить изменения, просто нажмите кнопку Сохранить изменения в верхнем правом углу, и вы увидите диалоговое окно подтверждения, в котором будут показаны все изменения, которые вы сделали.
GlarusBI обеспечивает различные типы доступа к данным:
Неограниченный (включая нативный/SQL доступ на редактирование)
Детализированный (включающий в себя доступ к песочнице)
Неограниченный доступ¶
Пользователи, которые включены в группу могут создавать вопросы с использованием мастера запросов на данные из всех таблиц (во всех пространствах имен/схемах, если они используются в вашей базе данных), в том числе и на таблицы, которые могут быть добавлены в эту базу данных в будущем. Чтобы предоставить группе возможность написания вопросов на нативном, или на 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 миллион строк
Управление метаданными таблиц¶
Для группы пользователей так же можно задать разрешение на редактирование метаданных таблиц. Варианты:
Да (это означает, что они могут редактировать метаданные для этого источника данных)
Нет
Детализированный (устанавливает разрешения для каждой таблицы по отдельности)
Управление базой данных¶
Право доступа Управление базой данных дает доступ к странице настроек для определенной базы данных (Настройки администратора > Базы данных > ваша база данных).
На странице настроек базы данных можно:
Редактировать любые опции коннекта к источнику данных,
Обратите внимание, что удаление соединения с базой данных разрешено только администраторами, поэтому люди с разрешением Управление базой данных не увидят кнопку Удалить базу данных.