Исходный код вики Общее описание настроек

Версия 38.1 от Ирина Сафонова на 31.03.2023, 18:01

Скрыть последних авторов
Ирина Сафонова 4.2 1 **Содержание**
2
3 {{toc/}}
4
Ирина Сафонова 2.1 5 Безопасность в Cloud BI обеспечивается Flask AppBuilder (FAB), платформой разработки приложений, созданной поверх Flask. FAB обеспечивает аутентификацию, управление пользователями, разрешения и роли. Документация по безопасности в FAB доступна по [[ссылке>>https://flask-appbuilder.readthedocs.io/en/latest/security.html]].
6
7 == Предоставленные роли ==
8
Ирина Сафонова 4.1 9 ----
10
Ирина Сафонова 3.1 11 Cloud BI поставляется с стандартным набором ролей, которые обрабатываются самим Cloud BI.
Ирина Сафонова 2.1 12
Ирина Сафонова 3.1 13 {{error}}
Ирина Сафонова 6.1 14 **Не рекомендуется** изменять разрешения, связанные с каждой ролью (например, путем удаления или добавления разрешений для них), несмотря на такую возможность у [[администратора системы>>https://wiki.dfcloud.ru/bin/view/%D0%A1%D0%B5%D1%80%D0%B2%D0%B8%D1%81%20Cloud%20BI/2.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F/02.%20%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE%20%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0/D.%20%D0%A0%D0%BE%D0%BB%D0%B8%20%D0%B8%20%D0%BF%D1%80%D0%B0%D0%B2%D0%B0%20%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%B0/%D0%9E%D0%B1%D1%89%D0%B5%D0%B5%20%D0%BE%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%B1%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D0%B8/#H41043443C43843D43844144244043044243E44044143844144243543C44B]].
Ирина Сафонова 3.1 15 Разрешения, связанные с каждой ролью, будут повторно синхронизированы с исходными значениями при выполнении команды инициализации Cloud BI.
16 {{/error}}
17
Ирина Сафонова 17.1 18 == Пользовательская группа доступа "Администратор системы" ==
Ирина Сафонова 4.2 19
Ирина Сафонова 7.1 20 ----
21
Ирина Сафонова 4.2 22 У администраторов есть все возможные права, включая предоставление или отзыв прав у других пользователей и изменение дашбордов, созданных другими пользователями.
Ирина Сафонова 7.1 23
Ирина Сафонова 17.1 24 == Пользовательская группа Alpha ==
Ирина Сафонова 7.1 25
26 ----
27
28 Пользователи Alpha имеют доступ ко всем источникам данных, но не могут предоставлять или отзывать доступ у других пользователей. Они также ограничены в изменении объектов, которыми владеют. Пользователи этой группы могут добавлять и изменять источники данных.
29
Ирина Сафонова 17.1 30 == Пользовательская группа доступа Gamma ==
Ирина Сафонова 7.1 31
32 ----
33
34 Пользователи Gamma имеют ограниченный доступ. Они имеют доступ к следующим данным:
Ирина Сафонова 8.1 35
Ирина Сафонова 7.1 36 * Поступающие из источников данных, к которым пользователям Gamma предоставлен доступ через другую дополнительную роль
37 * Доступ только для просмотра срезов и информационных панелей, созданных из источников данных, к которым у них есть доступ.
38
Ирина Сафонова 8.1 39 {{warning}}
40 Пользователи Gamma просматривают панели мониторинга и список срезов, они видят только те объекты, к которым у них есть доступ.
41 Также они **не могут** изменять или добавлять источники данных.
42 {{/warning}}
Ирина Сафонова 7.1 43
Ирина Сафонова 17.1 44 === Управление доступом к источникам данных для Gamma ===
Ирина Сафонова 18.1 45
Ирина Сафонова 17.1 46 Для предоставления доступа к определенным наборам данных:
Ирина Сафонова 18.1 47
Ирина Сафонова 18.2 48 ~1. Проверьте, что пользователям с ограниченным доступом назначена группа [[Gamma>>https://wiki.dfcloud.ru/bin/view/%D0%A1%D0%B5%D1%80%D0%B2%D0%B8%D1%81%20Cloud%20BI/2.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F/02.%20%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE%20%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0/D.%20%D0%A0%D0%BE%D0%BB%D0%B8%20%D0%B8%20%D0%BF%D1%80%D0%B0%D0%B2%D0%B0%20%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%B0/%D0%9E%D0%B1%D1%89%D0%B5%D0%B5%20%D0%BE%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%B1%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D0%B8/#H41F43E43B44C43743E43243044243543B44C44143A43044F43344044343F43F43043443E44144244343F430Gamma]]. 
49 2. Создайте новую роль (**Меню** -> **Безопасность** -> **Список ролей**) и нажмите кнопку **+**.
50 3. В открывшемся окне задайте новой роли имя, присвойте ее пользователям и выберите в раскрывающемся списке// Разрешения// для нее.
Ирина Сафонова 18.1 51 4. Выберите источники данных, которые вы хотите связать с этой ролью, щелкнув раскрывающийся список, и используйте ввод для поиска имен таблиц.
Ирина Сафонова 18.2 52 5. Зайдите под одним из пользователей группы [[Gamma>>https://wiki.dfcloud.ru/bin/view/%D0%A1%D0%B5%D1%80%D0%B2%D0%B8%D1%81%20Cloud%20BI/2.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F/02.%20%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE%20%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0/D.%20%D0%A0%D0%BE%D0%BB%D0%B8%20%D0%B8%20%D0%BF%D1%80%D0%B0%D0%B2%D0%B0%20%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%B0/%D0%9E%D0%B1%D1%89%D0%B5%D0%B5%20%D0%BE%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%B1%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D0%B8/#H41F43E43B44C43743E43243044243543B44C44143A43044F43344044343F43F43043443E44144244343F430Gamma]] и убедитесь, что ему доступны связанные с таблицами объекты (панели мониторинга и срезы), на которые были выданы права доступа.
Ирина Сафонова 17.1 53
54 == Пользовательская группа sql_lab ==
Ирина Сафонова 7.1 55
Ирина Сафонова 35.1 56 ----
57
Ирина Сафонова 8.1 58 Роль sql_lab предоставляет доступ к SQL Lab.
59
60 {{warning}}
Ирина Сафонова 12.1 61 Хотя пользователи с правами [[администратора>>https://wiki.dfcloud.ru/bin/view/%D0%A1%D0%B5%D1%80%D0%B2%D0%B8%D1%81%20Cloud%20BI/2.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F/02.%20%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE%20%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0/D.%20%D0%A0%D0%BE%D0%BB%D0%B8%20%D0%B8%20%D0%BF%D1%80%D0%B0%D0%B2%D0%B0%20%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%B0/%D0%9E%D0%B1%D1%89%D0%B5%D0%B5%20%D0%BE%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%B1%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D0%B8/#H41043443C43843D43844144244043044243E44044143844144243543C44B]] по умолчанию и имеют доступ ко всем базам данных, пользователям [[Alpha>>https://wiki.dfcloud.ru/bin/view/%D0%A1%D0%B5%D1%80%D0%B2%D0%B8%D1%81%20Cloud%20BI/2.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F/02.%20%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE%20%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0/D.%20%D0%A0%D0%BE%D0%BB%D0%B8%20%D0%B8%20%D0%BF%D1%80%D0%B0%D0%B2%D0%B0%20%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%B0/%D0%9E%D0%B1%D1%89%D0%B5%D0%B5%20%D0%BE%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%B1%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D0%B8/#HAlpha]] и [[Gamma>>https://wiki.dfcloud.ru/bin/view/%D0%A1%D0%B5%D1%80%D0%B2%D0%B8%D1%81%20Cloud%20BI/2.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F/02.%20%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE%20%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0/D.%20%D0%A0%D0%BE%D0%BB%D0%B8%20%D0%B8%20%D0%BF%D1%80%D0%B0%D0%B2%D0%B0%20%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%B0/%D0%9E%D0%B1%D1%89%D0%B5%D0%B5%20%D0%BE%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%B1%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D0%B8/#HGamma]] необходимо предоставить доступ для каждой базы данных.
Ирина Сафонова 8.1 62 {{/warning}}
63
Ирина Сафонова 13.1 64 == Public ==
Ирина Сафонова 8.1 65
Ирина Сафонова 35.1 66 ----
67
Ирина Сафонова 13.1 68 Для предоставления доступа к некоторым функциям Cloud BI пользователям, выполнившим вход в систему, вы можете использовать параметр конфигурации PUBLIC_ROLE_LIKE. Это параметр назначается другой роли, чьи разрешения вы хотите передать.
69
Ирина Сафонова 16.1 70 Например, установив PUBLIC_ROLE_LIKE = "Gamma" в конфигурационном файле, вы предоставляете общедоступной роли тот же набор разрешений, что и для роли [[Gamma>>https://wiki.dfcloud.ru/bin/view/%D0%A1%D0%B5%D1%80%D0%B2%D0%B8%D1%81%20Cloud%20BI/2.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F/02.%20%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE%20%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0/D.%20%D0%A0%D0%BE%D0%BB%D0%B8%20%D0%B8%20%D0%BF%D1%80%D0%B0%D0%B2%D0%B0%20%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%B0/%D0%9E%D0%B1%D1%89%D0%B5%D0%B5%20%D0%BE%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%B1%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D0%B8/#HGamma]]. Это полезно, если вы хотите разрешить анонимным пользователям просматривать информационные панели. Явное предоставление для определенных наборов данных по-прежнему требуется, а это означает, что вам нужно отредактировать роль [[Public>>https://wiki.dfcloud.ru/bin/view/%D0%A1%D0%B5%D1%80%D0%B2%D0%B8%D1%81%20Cloud%20BI/2.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F/02.%20%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE%20%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0/D.%20%D0%A0%D0%BE%D0%BB%D0%B8%20%D0%B8%20%D0%BF%D1%80%D0%B0%D0%B2%D0%B0%20%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%B0/%D0%9E%D0%B1%D1%89%D0%B5%D0%B5%20%D0%BE%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%B1%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D0%B8/#HPublic]] и добавить общедоступные источники данных в роль вручную.
Ирина Сафонова 20.1 71
72 == Настройка разрешений ==
Ирина Сафонова 22.1 73
Ирина Сафонова 35.1 74 ----
75
Ирина Сафонова 20.1 76 Разрешения, предоставляемые FAB, качественно детализированы и обеспечивают высокий уровень настройки. FAB автоматически создает множество разрешений для каждой создаваемой модели (//can_add, can_delete, can_show, can_edit,// …), а также для каждого представления. Кроме того, Cloud BI может предоставлять более детальные разрешения, такие, как //all_datasource_access//.
77
78 {{error}}
Ирина Сафонова 25.1 79 **Не рекомендуется **изменять базовые роли, поскольку существует набор допущений, на которых построен Cloud BI. Однако вы можете создавать свои собственные роли и объединять их с существующими.
Ирина Сафонова 20.1 80 {{/error}}
81
Ирина Сафонова 21.1 82 == Разрешения ==
Ирина Сафонова 20.1 83
Ирина Сафонова 35.1 84 ----
85
Ирина Сафонова 21.1 86 Роли состоят из набора разрешений, а Cloud BI имеет множество категорий разрешений.
87
Ирина Сафонова 27.1 88 (% class="table-bordered" %)
Ирина Сафонова 31.1 89 (% style="background-color:#d3d3d3; text-align:center" %)|(% style="width:385px" %)**Категория разрешения**|(% style="width:993px" %)**Описание**
Ирина Сафонова 28.2 90 |(% style="width:385px" %)**Модель и действие**|(% style="width:993px" %)(((
Ирина Сафонова 27.1 91 Модели — это объекты, такие, как:
Ирина Сафонова 28.2 92
Ирина Сафонова 27.1 93 * панель инструментов
94 * фрагмент
95 * пользователь.
Ирина Сафонова 28.1 96 Каждая модель имеет фиксированный набор разрешений, таких, как:
97 * can_edit
98 * can_show
99 * can_delete
100 * can_list
Ирина Сафонова 28.2 101 * can_add и т. д.
Ирина Сафонова 28.1 102 Например, вы можете разрешить пользователю удалять информационные панели, добавив **can_delete** на сущность информационной панели к роли и предоставив этому пользователю эту роль.
Ирина Сафонова 27.1 103 )))
Ирина Сафонова 29.1 104 |(% style="width:385px" %)**Представления**|(% style="width:993px" %)Представления — это отдельные веб-страницы, такие как, представление **Исследование** или представление **Лаборатория SQL**. Предоставленный пользователю, он увидит это представление в пунктах меню и сможет загрузить эту страницу.
105 |(% style="width:385px" %)**Источник данных**|(% style="width:993px" %)Для каждого источника данных создается разрешение. Если пользователю **не предоставлено** разрешение **all_datasource_access**, он сможет только просматривать срезы или исследовать источники данных, к которым у него есть доступ.
106 |(% style="width:385px" %)**База данных (БД)**|(% style="width:993px" %)Предоставление доступа к БД позволяет пользователю получить доступ ко всем источникам данных в этой базе данных. Также пользователь сможет запрашивать эту БД в лаборатории SQL при условии, что пользователю предоставлено специальное разрешение лаборатории.
Ирина Сафонова 30.1 107 Про настройку БД в Cloud BI можно почитать [[здесь>>https://wiki.dfcloud.ru/bin/view/%D0%A1%D0%B5%D1%80%D0%B2%D0%B8%D1%81%20Cloud%20BI/2.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F/02.%20%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE%20%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0/A.%20%D0%A1%D0%BE%D0%B5%D0%B4%D0%B8%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5%20%D1%81%20%D0%B1%D0%B0%D0%B7%D0%B0%D0%BC%D0%B8%20%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85/]].
Ирина Сафонова 21.1 108
Ирина Сафонова 32.1 109 == Ограничение доступа к источникам данных ==
110
Ирина Сафонова 35.1 111 ----
112
Ирина Сафонова 34.1 113 Рекомендуется предоставить пользователю роль [[Gamma>>https://wiki.dfcloud.ru/bin/view/%D0%A1%D0%B5%D1%80%D0%B2%D0%B8%D1%81%20Cloud%20BI/2.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F/02.%20%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE%20%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0/D.%20%D0%A0%D0%BE%D0%BB%D0%B8%20%D0%B8%20%D0%BF%D1%80%D0%B0%D0%B2%D0%B0%20%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%B0/%D0%9E%D0%B1%D1%89%D0%B5%D0%B5%20%D0%BE%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%B1%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D0%B8/#H41F43E43B44C43743E43243044243543B44C44143A43044F43344044343F43F43043443E44144244343F430Gamma]], а также любые другие роли, которые добавят доступ к определенным источникам данных. Также рекомендуется создавать отдельные роли для каждого профиля доступа.
114 **Пример:**
Ирина Сафонова 37.1 115 Пользователи финансовой группы могут иметь доступ к набору баз данных и источников данных; эти разрешения могут быть объединены в одной роли. Затем пользователям с этим профилем необходимо назначить роль **Gamma** в качестве основы для моделей и представлений, к которым они могут получить доступ, и роль **Finance**, которая представляет собой набор разрешений для объектов данных.
Ирина Сафонова 36.1 116
Ирина Сафонова 37.1 117 Пользователь может иметь сразу несколько ролей. Например, руководителю финансовой группы могут быть предоставлены роли **Gamma**, **Finance** и Executive. Роль руководителя **(Executive)** позволяет иметь доступ к набору источников данных и информационных панелей, доступных только для руководителей. В представлении **Dashboards** пользователь может видеть только те дашбарды, к которым у него есть доступ в зависимости от назначенных ролей и разрешений.
Ирина Сафонова 38.1 118
119 == Настройка фильтров безопасности на уровне строк ==
120
121 Используя фильтры безопасности на уровне строк (в меню пункте меню **Безопасность**), вы можете создавать фильтры, которые назначаются конкретной таблице, а также набору ролей. Если вы хотите, чтобы члены финансовой группы имели доступ только к строкам, в которых отдел = "финансы", вы можете:
122 1. Создать фильтр безопасности на уровне строк с этим предложением (department = "finance").
123 2. Назначить предложение роли **Финансы** и таблице, к которой оно применяется.
124 3. Поле предложения, которое может содержать произвольный текст, добавить к предложению WHERE сгенерированного оператора SQL. Таким образом, вы даже можете настроить фильтр За последние 30 дней и применить его к определенной роли с таким предложением, как date_field > DATE_SUB(NOW(), INTERVAL 30 DAY). Он также может поддерживать несколько условий: client_id = 6 И рекламодатель = "foo" и т.д.
125
126 Все соответствующие фильтры безопасности на уровне строк будут объединены вместе (внутри различные предложения SQL объединяются с помощью операторов AND). Это означает, что можно создать ситуацию, когда две роли конфликтуют таким образом, что подмножество таблиц может быть пустым. Например, фильтры client_id=4 и client_id=5, примененные к роли, приведут к тому, что пользователи этой роли будут иметь client_id=4 И client_id=5, добавленные к их запросу, что никогда не может быть правдой.