Настройка безопасности на уровне строк с помощью статического метода

Завершено

Статический метод в безопасности на уровне строк (RLS) использует фиксированное значение в фильтре DAX, а динамический метод использует функцию DAX.

Для настройки безопасности на уровне строк (RLS) требуется выполнить несколько действий в следующем порядке.

  1. Создание отчета в Microsoft Power BI Desktop.

    1. Импорт данных.

    2. Подтвердите семантиковую модель между обеими таблицами.

    3. Создание визуальных элементов отчета.

  2. Создание ролей RLS в Power BI Desktop с помощью DAX.

  3. Тестирование ролей в Power BI Desktop.

  4. Развертывание отчета в службе Microsoft Power BI.

  5. Добавление участников в роль в службе Power BI.

  6. Тестирование ролей в службе Power BI.

Создание отчета в Power BI Desktop

Выполните стандартные действия по созданию отчета в Power BI Desktop. Для извлечения и очистки данных используйте Microsoft Power Query. Затем убедитесь, что между двумя таблицами существует связь: откройте вкладку Моделирование и проверьте, что в столбце empID указана связь "один ко многим".

Следующий шаг — создание отчета Power BI.

Снимок экрана: отчет Power BI, который будет использоваться для RLS

Обратите внимание, что в предыдущей таблице есть строки по всем продажам и указаны все отделы. Вы примените ограничение видимости так, чтобы сотрудники определенного отдела могли видеть только свои продажи.

Создание ролей RLS в Power BI Desktop

Чтобы создать роли RLS в Power BI Desktop, перейдите на вкладку Моделирование, а затем выберите Управление ролями.

Снимок экрана: элемент

На странице Управление ролями нажмите кнопку Создать.

Снимок экрана: кнопка

Для управления пользователями, которые получат доступ к определенным данным, безопасность на уровне строк (RLS) в Power BI использует DAX. Это можно рассматривать как добавление еще одного фильтра для соответствующих пользователей независимо от того, какие фильтры, срезы или взаимодействия они выбирают в отчете Power BI.

На странице Управление ролями создайте роль для каждого отдела и добавьте в нее выражение DAX. Например, можно создать роль с именем Игры а затем добавить выражение DAX [department] = "Game". Затем каждый раз, когда участник этой роли взаимодействует с отчетом, Power BI добавляет этот фильтр к взаимодействиям, тем самым ограничивая отображаемые данные.

Фиксированное значение используется в фильтре в правой части от знака равенства, в данном случае — "Game". Цель в том, что, если вам потребуется добавить категорию, необходимо создать роль с новым значением в выражении DAX.

Снимок экрана: диалоговое окно

Обратите внимание на то, как применен фильтр DAX к таблице измерений. Безопасность на уровне строк более эффективна, если данные организованы по схеме типа "звезда". Примените фильтр DAX к таблице измерений так же, как к таблице продуктов.

Фильтр DAX применяется к каждому взаимодействию, срезу и фильтру, применяемому пользователем. Плохо работающий фильтр DAX окажет негативное влияние на работу пользователя. Поэтому фильтр DAX должен быть максимально простым.

Тестирование ролей в Power BI Desktop

Чтобы проверить действие фильтра, перейдите на вкладку Моделирование и выберите Просмотреть как роли.

Снимок экрана: кнопка

В окне Просмотр как ролей выберите роль Игры. Теперь отчет отображается так, как если бы вам была назначена эта роль. Вы увидите только записи, относящиеся к отделу "Игры".

Снимок экрана: функционирование безопасности на уровне строк в Power BI Desktop

Чтобы отменить этот фильтр, снова щелкните Просмотреть как роли и выберите Нет.

Развертывание отчета в службе Power BI

Чтобы развернуть отчет в службе Power BI, нажмите кнопку Опубликовать на вкладке Главная, а затем выберите рабочую область.

Добавление участников в роль в службе Power BI

Чтобы добавить участников в роль в службе Power BI, перейдите к рабочей области в службе Power BI. Найдите семантиковую модель, созданную с тем же именем, что и отчет. Нажмите кнопку с многоточием (...) и выберите Безопасность.

Снимок экрана: кнопка безопасности в семантической модели.

На экране Безопасность на уровне строк можно добавить Microsoft Entra ID пользователей и группы безопасности в роль безопасности. К участникам, добавляемым в эту роль, будет применен фильтр DAX, определенный ранее. Если участники не добавлены в роль, но имеют доступ к отчету, RLS к ним не применяется. Вы можете добавить в роль Игры трех сотрудников отдела игр. Теперь после входа эти участники будут видеть отчет с данными, которые применимы только к ним.

Снимок экрана: экран

Тестирование ролей в службе Power BI

Роли можно проверить внутри службы Power BI. Для этого нажмите кнопку с многоточием (...) рядом с ролью Игры на экране Безопасность на уровне строк и выберите пункт Проверить в качестве роли.

Снимок экрана: кнопка с многоточием и параметр

После его выбора в службе Power BI будет выведен отчет, доступный вам как участнику этой роли.

Вот и всё! Вы успешно реализовали безопасность на уровне строк в Power BI.