Исходный код вики Общее описание настроек
Версия 39.1 от Ирина Сафонова на 31.03.2023, 18:03
Скрыть последних авторов
author | version | line-number | content |
---|---|---|---|
![]() |
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 | Используя фильтры безопасности на уровне строк (в меню пункте меню **Безопасность**), вы можете создавать фильтры, которые назначаются конкретной таблице, а также набору ролей. Если вы хотите, чтобы члены финансовой группы имели доступ только к строкам, в которых отдел = "финансы", вы можете: | ||
![]() |
39.1 | 122 | |
123 | ~1. Создать фильтр безопасности на уровне строк с этим предложением (department = "finance"). | ||
![]() |
38.1 | 124 | 2. Назначить предложение роли **Финансы** и таблице, к которой оно применяется. |
![]() |
39.1 | 125 | 3. Поле предложения, которое может содержать произвольный текст, добавить к предложению WHERE сгенерированного оператора SQL. Таким образом, вы даже можете настроить фильтр //За последние 30 дней// и применить его к определенной роли с таким предложением, как //date_field > DATE_SUB(NOW(), INTERVAL 30 DAY)//. Фильтр также может поддерживать несколько условий: client_id = 6 И рекламодатель = "foo" и так далее |
![]() |
38.1 | 126 | |
127 | Все соответствующие фильтры безопасности на уровне строк будут объединены вместе (внутри различные предложения SQL объединяются с помощью операторов AND). Это означает, что можно создать ситуацию, когда две роли конфликтуют таким образом, что подмножество таблиц может быть пустым. Например, фильтры client_id=4 и client_id=5, примененные к роли, приведут к тому, что пользователи этой роли будут иметь client_id=4 И client_id=5, добавленные к их запросу, что никогда не может быть правдой. |