C02. Общее описание настроек безопасности

Версия 187.1 от Ирина Сафонова на 20.01.2024, 03:58

Назначение Flask AppBuilder


Платформа Flask AppBuilder (FAB) обеспечивает безопасность в Cloud BI. Платформа поддерживает в Cloud BI:

При необходимости ознакомьтесь с документацией платформы.

Стандартные роли в Cloud BI


Cloud BI поставляется со стандартным набором ролей. Ролевая модель позволяет создавать новые роли и настраивать существующие.

Beeline cloud не рекомендует добавлять и удалять разрешения у стандартных ролей. Разрешения роли повторно синхронизируются с исходными значениями при обновлении Cloud BI.

Реестр ролей доступен в Настройки -> Список ролей.

Список ролей.PNG

Пользовательская группа доступа "Администратор системы"


Администраторы системы имеют все права. Узнайте, как добавить пользователя в группу доступа.

Пользователи с правами администратора по умолчанию имеют доступ ко всем БД.

Пользовательская группа доступа Alpha


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

Пользовательская группа доступа Gamma


Пользователи группы Gamma имеют доступ к:

  • Источникам данных, к которым у пользователей Gamma есть доступ.
  • Просмотру графиков и дашбордов, созданных из источников данных, к которым у Gamma доступ.

Пользователи Gamma не могут изменять или добавлять источники данных.

Управление доступом к источникам данных для Gamma

1. Проверьте, что пользователям назначена группа Gamma.

2. Создайте новую роль (Меню -> Безопасность -> Список ролей) и нажмите кнопку +.

3. В открывшемся окне настройте роль:

   3.1. Задайте имя.
   3.2. Присвойте роль пользователям.
   3.3. Выберите разрешения для роли.
   3.4. Сохраните данные.

Форма редактирования роли.PNG

4. Выберите датасеты, которые требуется добавить роли, щелкнув раскрывающийся список.

Доступен поиск по имени таблицы.

5. Зайдите под одним из пользователей группы Gamma и проверьте, что доступны дашборды и срезы, на которые выданы права доступа.

Пользовательская группа доступа sql_lab


Роль sql_lab предоставляет доступ к SQL Lab.

Пользователи с правами администратора по умолчанию имеют доступ ко всем БД. Тем не менее, пользователям Alpha и Gamma необходимо предоставить доступ для каждой БД.

Пользовательская группа доступа Public


Назначьте параметр  PUBLIC_ROLE_LIKE в конфигурационном файле для роли, чьи разрешения хотите передать. Например, установив роли параметр PUBLIC_ROLE_LIKE = "Gamma" и 

, установив PUBLIC_ROLE_LIKE = "Gamma" в конфигурационном файле, вы предоставляете общедоступной роли тот же набор разрешений, что и для роли Gamma. Это полезно, если вы хотите разрешить анонимным пользователям просматривать дашборды. Предоставление для определенных наборов данных по-прежнему требуется, а это означает, что вам нужно отредактировать роль Public и добавить общедоступные источники данных в роль вручную.

Добавление пользователей в группу описано здесь.

Создание новой роли


1. Перейдите в Настройки -> Список ролей.
2. Нажмите кнопку Добавить новую запись (+).

Кнопка создания роли.PNG

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

Форма добавления роли.PNG

4. При необходимости добавьте пользователей на вкладке Список пользователей.
5. Нажмите кнопку Сохранить. В результате роль появляется в реестре.

Добавление пользователей в группу доступа


1. Перейдите в Настройки -> Список ролей.
2. Найдите нужную роль и нажмите кнопку Редактировать запись.
3. Перейдите на вкладку Список пользователей и нажмите кнопку Добавить новую запись.

Вкладка список пользователей роли.PNG
4. В открывшейся экранной форме добавьте пользователя и нажмите кнопку Сохранить. В результате пользователь появляется в реестре.

Настройка разрешений


Разрешения FAB детализированы. FAB автоматически создает разрешения для каждой создаваемой модели — can_add, can_delete, can_show, can_edit и т.д. — и для каждого представления. Cloud BI предоставляет более детальные разрешения, например, как all_datasource_access.

Не изменяйте базовые роли, поскольку существует набор допущений, на которых построен Cloud BI. При необходимости создайте ​​​​​​собственные роли и объедините их с существующими.

Разрешения


Роли состоят из набора разрешений. Разрешения имеют категории.

Категория разрешенияОписание
Модель и действие

Модели — объекты. Примеры:

  • Дашборд.
  • Фрагмент.
  • Пользователь.

Каждая модель имеет фиксированный набор разрешений. Примеры:

  • can_edit
  • can_show
  • can_delete
  • can_list
  • can_add и так далее.

Например, вы можете разрешить пользователю удалять дашборды, добавив can_delete на сущность дашборда к роли и предоставив этому пользователю эту роль.

ПредставленияПредставления — это отдельные веб-страницы, такие как, представление Исследование или представление Лаборатория SQL. Предоставленный пользователю, он увидит это представление в пунктах меню и сможет загрузить эту страницу.
Источник данныхДля каждого источника данных создается разрешение. Если пользователю не предоставлено разрешение all_datasource_access, он сможет только просматривать срезы или исследовать источники данных, к которым у него есть доступ.
База данных (БД)Предоставление доступа к БД позволяет пользователю получить доступ ко всем источникам данных в этой БД. Также пользователь сможет запрашивать эту БД в лаборатории SQL при условии, что пользователю предоставлено специальное разрешение лаборатории.
Про настройку БД в Cloud BI можно почитать здесь.

Ограничение доступа к источникам данных


Beeline cloud рекомендует:

  • Предоставить пользователю роль Gamma, а также любые другие роли, которые добавят доступ к определенным источникам данных.
  • Создавать отдельные роли для каждого профиля доступа.

Пример настройки

Пользователи финансовой группы могут иметь доступ к набору баз данных и источников данных. Эти разрешения могут быть объединены в одной роли. Затем пользователям с этим профилем назначьте роль Gamma в качестве основы для моделей и представлений, к которым они могут получить доступ, и роль Finance, которая представляет собой набор разрешений для объектов данных.

Пользователь может иметь сразу несколько ролей. Например, руководителю финансовой группы назначены роли Gamma, Finance и Executive. Роль Executive позволяет иметь доступ к набору источников данных и дашбордов, доступных только для руководителей. В представлении Dashboards пользователь видит только те дашборды, к которым у него есть доступ в зависимости от назначенных ролей и разрешений.

Настройка фильтров безопасности на уровне строк


Используя фильтры безопасности на уровне строк в меню пункте меню Безопасность, при необходимости создайте фильтры, которые назначаются конкретной таблице и набору ролей. Если хотите, чтобы члены финансовой группы имели доступ только к строкам, в которых department = "finance", сделайте следующее:

1. Создайте фильтр безопасности на уровне строк с department = "finance".
2. Назначьте предложение роли Финансы и таблице, к которой оно применяется.
3. Поле предложения, которое может содержать произвольный текст, добавьте к предложению WHERE сгенерированного оператора SQL. Таким образом, вы даже можете настроить фильтр За последние 30 дней и применить его к определенной роли с таким предложением, как date_field > DATE_SUB(NOW(), INTERVAL 30 DAY). Фильтр поддерживает несколько условий: client_id = 6 И advertiser="foo" и так далее.

Все соответствующие фильтры безопасности на уровне строк объединяются вместе — внутри различные предложения SQL объединяются с помощью операторов AND. Это означает, что можно создать ситуацию, когда две роли конфликтуют таким образом, что подмножество таблиц может быть пустым. Например, фильтры client_id=4 и client_id=5, примененные к роли, приведут к тому, что пользователи этой роли будут иметь client_id=4 и client_id=5, добавленные к их запросу, что никогда не может быть истиной.

В начало 🡱
К следующему разделу 🡲
К предыдущему разделу 🡰