Редактировал(а) Ирина Сафонова 22.03.2024, 15:16

От версии 224.1
отредактировано Ирина Сафонова
на 29.02.2024, 00:20
Изменить комментарий: К данной версии нет комментариев
К версии 225.1
отредактировано Ирина Сафонова
на 29.02.2024, 00:45
Изменить комментарий: К данной версии нет комментариев

Сводка

Подробности

Свойства страницы
Содержимое
... ... @@ -205,63 +205,6 @@
205 205  
206 206  Пользователь может иметь сразу несколько ролей. Например, руководителю финансовой группы назначены группы доступа **Gamma**, **Finance** и **Executive**. Роль **Executive** позволяет иметь доступ к набору источников данных и дашбордов, доступных только для руководителей. Пользователь видит только те дашборды, к которым есть доступ в зависимости от назначенных ролей и разрешений.
207 207  
208 -= Настройка фильтров безопасности на уровне строк =
209 -
210 -----
211 -
212 -== Создание правила ==
213 -
214 -При необходимости в пункте меню **Безопасность на уровне строк **создайте правила, которые назначаются конкретной БД и набору ролей.
215 -
216 -~1. Нажмите на кнопку **Правило**.
217 -
218 -[[image:Кнопка добавления правила.PNG||data-xwiki-image-style-border="true"]]
219 -
220 -2. В открывшемся окне заполните поля. Обязательные поля отмечены звездочкой.
221 -
222 -(% class="table-bordered" style="width:535px" %)
223 -|(% style="width:257px" %)**Поле**|(% style="width:274px" %)**Комментарий**
224 -|(% style="width:257px" %)**Название правила**|(% style="width:274px" %)Введите наименование.
225 -|(% style="width:257px" %)**Тип фильтра**|(% style="width:274px" %)Регулярные фильтры добавляют операторы {{code language="none"}}where{{/code}} к запросам, если пользователь принадлежит к роли, на которую ссылается фильтр.
226 -\\Базовые фильтры применяют фильтры ко всем запросам, кроме ролей, определенных в фильтре. Базовые фильтры используются для определения того, что пользователи могут видеть, если к ним не применяются фильтры RLS в группе фильтров.
227 -|(% style="width:257px" %)**Датасеты**|(% style="width:274px" %)Выберите один или несколько [[датасетов>>doc:Big Data.Сервис Cloud BI.2\. Инструкция.02\. Руководство администратора.K\. Создание и настройка источников данных.WebHome]] из списка.
228 -|(% style="width:257px" %)**Роли**|(% style="width:274px" %)Выберите одну или несколько из списка.
229 -Для регулярных фильтров это роли, к которым применяются данный фильтр. Для базовых фильтров это роли, к которым фильтр НЕ применяется, например, Администратор, если администратор должен видеть всю информацию.
230 -|(% 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' ИЛИ department = 'Marketing') И (region = 'Europe').
231 -|(% 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').
232 -|(% style="width:257px" %)**Оператор**|(% style="width:274px" %)Условие, которое добавляется к оператору {{code language="none"}}WHERE{{/code}}. Например, чтобы возвращать строки только для определенного клиента, определите обычный фильтр с условием `client_id = 9`. Чтобы не отображать строки, если пользователь не принадлежит к роли фильтра RLS, создайте базовый фильтр с предложением `1 = 0` (всегда false).
233 -
234 -3. Сохраните правило по кнопке **Добавить**.
235 -
236 -[[image:Пример правила.PNG||data-xwiki-image-style-border="true" height="1233" width="812"]]
237 -
238 -== Фильтрация в реестре правил ==
239 -
240 -В реестре доступна фильтрация по:
241 -
242 -* имени,
243 -* типу фильтра,
244 -* групповому ключу.
245 -
246 -[[image:Фильтрация правил.PNG||data-xwiki-image-style-border="true"]]
247 -
248 -== Прочие действия ==
249 -
250 -Доступно:
251 -
252 -* удаление и редактирование правил,
253 -* множественный выбор правил.
254 -
255 -== Пример настройки ==
256 -
257 -Используя фильтры безопасности на уровне строк в меню пункте меню **Безопасность**, при необходимости создайте фильтры, которые назначаются конкретной таблице и набору ролей. Если хотите, чтобы члены финансовой группы имели доступ только к строкам, в которых {{code language="none"}}department = "finance"{{/code}}, сделайте следующее:
258 -
259 -~1. Создайте фильтр безопасности на уровне строк с {{code language="none"}}department = "finance"{{/code}}.
260 -2. Назначьте предложение роли **Финансы** и таблице, к которой оно применяется.
261 -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}} и так далее.
262 -
263 -Все соответствующие фильтры безопасности на уровне строк объединяются вместе — внутри различные предложения 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}}, добавленные к их запросу, что никогда не может быть истиной.
264 -
265 265  **[[В начало>>doc:Big Data.Сервис Cloud BI.WebHome]] **🡱
266 266  **[[К следующему разделу>>doc:.Разрешения.WebHome]] **🡲
267 267  **[[К предыдущему разделу>>doc:Big Data.Сервис Cloud BI.2\. Инструкция.02\. Руководство администратора.D\. Роли и права доступа.D1\. Политика безопасности контента.WebHome]] 🡰**