Изменения документа G03.04. Фильтры безопасности на уровне строк
Редактировал(а) Ирина Сафонова 22.03.2024, 15:21
От версии 13.1
отредактировано Ирина Сафонова
на 22.03.2024, 05:00
на 22.03.2024, 05:00
Изменить комментарий:
К данной версии нет комментариев
К версии 1.1
отредактировано Ирина Сафонова
на 29.02.2024, 00:23
на 29.02.2024, 00:23
Изменить комментарий:
К данной версии нет комментариев
Сводка
-
Свойства страницы (2 изменено, 0 добавлено, 0 удалено)
-
Вложения (0 изменено, 0 добавлено, 3 удалено)
Подробности
- Свойства страницы
-
- Название
-
... ... @@ -1,1 +1,1 @@ 1 - G03.04.Фильтрыбезопасности на уровне строк1 +Настройка фильтров безопасности на уровне строк - Содержимое
-
... ... @@ -1,29 +12,16 @@ 1 -{{box cssClass="floatinginfobox" title="**Содержание**"}} 2 -{{toc/}} 3 -{{/box}} 4 - 5 -(% data-xwiki-non-generated-content="java.util.List" %) 6 -((( 7 -= Создание правила = 8 -))) 9 - 10 ----- 11 - 12 12 При необходимости в пункте меню **Безопасность на уровне строк **создайте правила, которые назначаются конкретной БД и набору ролей. 13 13 3 +~1. Нажмите на кнопку **Правило**. 4 +При необходимости в пункте меню **Безопасность на уровне строк **создайте правила, которые назначаются конкретной БД и набору ролей. 5 + 14 14 ~1. Нажмите на кнопку **Правило**. 15 15 16 -[[image:Кнопка добавления правила.PNG||data-xwiki-image-style-border="true" height="301" width="1200"]]8 +[[image:Кнопка добавления правила.PNG||data-xwiki-image-style-border="true"]] 17 17 18 -2. В открывшемся окне заполните поля. 10 +2. В открывшемся окне заполните поля. Обязательные поля отмечены звездочкой. 19 19 20 -{{info}} 21 -**Примечание.** 22 -Обязательные поля отмечены звездочкой. 23 -{{/info}} 24 - 25 25 (% class="table-bordered" style="width:535px" %) 26 - (% class="active" %)|(% style="width:257px" %)**Поле**|(% style="width:274px" %)**Комментарий**13 +|(% style="width:257px" %)**Поле**|(% style="width:274px" %)**Комментарий** 27 27 |(% style="width:257px" %)**Название правила**|(% style="width:274px" %)Введите наименование. 28 28 |(% style="width:257px" %)**Тип фильтра**|(% style="width:274px" %)Регулярные фильтры добавляют операторы {{code language="none"}}where{{/code}} к запросам, если пользователь принадлежит к роли, на которую ссылается фильтр. 29 29 \\Базовые фильтры применяют фильтры ко всем запросам, кроме ролей, определенных в фильтре. Базовые фильтры используются для определения того, что пользователи могут видеть, если к ним не применяются фильтры RLS в группе фильтров. ... ... @@ -34,14 +34,12 @@ 34 34 |(% style="width:257px" %)**Групповой ключ**|(% style="width:274px" %)Фильтры с тем же групповым ключом объединяются операцией {{code language="none"}}OR{{/code}} внутри группы, в то время как разные группы фильтров — операцией {{code language="none"}}AND{{/code}}. Неопределенные групповые ключи считаются уникальными группами, то есть не объединяются вместе. Например, если в таблице три фильтра, из которых два относятся к отделам {{code language="none"}}Finance{{/code}} и {{code language="none"}}Marketing{{/code}} (групповый ключ = 'department'), а один — к региону {{code language="none"}}Europe{{/code}} (групповый ключ = 'region'), условие применяет фильтр (department = 'Finance' OR department = 'Marketing') И (region = 'Europe'). 35 35 |(% style="width:257px" %)**Оператор**|(% style="width:274px" %)Условие, которое добавляется к оператору {{code language="none"}}WHERE{{/code}}. Например, чтобы возвращать строки только для определенного клиента, определите обычный фильтр с условием `client_id = 9`. Чтобы не отображать строки, если пользователь не принадлежит к роли фильтра RLS, создайте базовый фильтр с предложением `1 = 0` (всегда false). 36 36 37 -3. Сохраните правило. 24 +3. Сохраните правило по кнопке **Добавить**. 38 38 39 -[[image: Кнопка сохранения в карточке правила.PNG||data-xwiki-image-style-border="true" height="753" width="524"]]26 +[[image:Пример правила.PNG||data-xwiki-image-style-border="true" height="1233" width="812"]] 40 40 41 -= Фильтрация в реестре правил = 28 +== Фильтрация в реестре правил == 42 42 43 ----- 44 - 45 45 В реестре доступна фильтрация по: 46 46 47 47 * имени, ... ... @@ -48,27 +48,22 @@ 48 48 * типу фильтра, 49 49 * групповому ключу. 50 50 51 -[[image:Фильтрация правил.PNG||data-xwiki-image-style-border="true" height="301" width="1200"]]36 +[[image:Фильтрация правил.PNG||data-xwiki-image-style-border="true"]] 52 52 53 -= Прочие действия = 38 +== Прочие действия == 54 54 55 ----- 56 - 57 57 Доступно: 58 58 59 59 * удаление и редактирование правил, 60 60 * множественный выбор правил. 61 61 62 -= Пример настройки = 45 +== Пример настройки == 63 63 64 ----- 65 - 66 66 Используя фильтры безопасности на уровне строк в меню пункте меню **Безопасность**, при необходимости создайте фильтры, которые назначаются конкретной таблице и набору ролей. Если хотите, чтобы члены финансовой группы имели доступ только к строкам, в которых {{code language="none"}}department = "finance"{{/code}}, сделайте следующее: 67 - 68 68 ~1. Создайте фильтр безопасности на уровне строк с {{code language="none"}}department = "finance"{{/code}}. 69 - 70 70 2. Назначьте предложение роли **Финансы** и таблице, к которой оно применяется. 71 - 72 72 3. Поле предложения, которое может содержать произвольный текст, добавьте к предложению {{code language="none"}}WHERE{{/code}} сгенерированного оператора SQL. Таким образом, вы даже можете настроить фильтр //За последние 30 дней// и применить его к определенной роли с таким предложением, как {{code language="none"}}date_field > DATE_SUB(NOW(), INTERVAL 30 DAY){{/code}}. Фильтр поддерживает несколько условий: {{code language="none"}}client_id = 6{{/code}} И {{code language="none"}}advertiser="foo"{{/code}} и так далее. 73 73 74 74 Все соответствующие фильтры безопасности на уровне строк объединяются вместе — внутри различные предложения SQL объединяются с помощью операторов AND. Это означает, что можно создать ситуацию, когда две роли конфликтуют таким образом, что подмножество таблиц может быть пустым. Например, фильтры** **{{code language="none"}}client_id=4{{/code}} и {{code language="none"}}client_id=5{{/code}}, примененные к роли, приведут к тому, что пользователи этой роли будут иметь {{code language="none"}}client_id=4{{/code}} и {{code language="none"}}client_id=5{{/code}}, добавленные к их запросу, что никогда не может быть истиной. 53 + 54 +
- Кнопка добавления правила.PNG
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.ISafonova - Размер
-
... ... @@ -1,1 +1,0 @@ 1 -102.9 KB - Содержимое
- Кнопка сохранения в карточке правила.PNG
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.ISafonova - Размер
-
... ... @@ -1,1 +1,0 @@ 1 -65.9 KB - Содержимое
- Фильтрация правил.PNG
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.ISafonova - Размер
-
... ... @@ -1,1 +1,0 @@ 1 -102.9 KB - Содержимое