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

Версия 199.1 от Ирина Сафонова на 20.01.2024, 04:52

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


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

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

Базовые роли в Cloud BI


Cloud BI поставляется с базовыми ролями и разрешениями.

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

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

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

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

Admin

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

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

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.

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

Public

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

Как создать новую роль?


1. Перейдите в Настройки -> Список ролей.

2. Нажмите кнопку Добавить новую запись (+).

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

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

Доступен множественный выбор разрешений.

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

4. При необходимости добавьте пользователей на вкладке Список пользователей.

5. Нажмите кнопку Сохранить.

В результате роль появилась в реестре.

Как добавить пользователей в группу доступа?


1. Перейдите в Настройки -> Список ролей.

2. Найдите нужную роль и нажмите кнопку Редактировать запись.

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

Вкладка список пользователей роли.PNG

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

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


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 позволяет иметь доступ к набору источников данных и дашбордов, доступных только для руководителей. Пользователь видит только те дашборды, к которым есть доступ в зависимости от назначенных ролей и разрешений.

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


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

Используя фильтры безопасности на уровне строк в меню пункте меню Безопасность, при необходимости создайте фильтры, которые назначаются конкретной таблице и набору ролей. Если хотите, чтобы члены финансовой группы имели доступ только к строкам, в которых 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, добавленные к их запросу, что никогда не может быть истиной.

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