Настройка безопасности на уровне строк с помощью статического метода
Статический метод в безопасности на уровне строк (RLS) использует фиксированное значение в фильтре DAX, а динамический метод использует функцию DAX.
Для настройки безопасности на уровне строк (RLS) требуется выполнить несколько действий в следующем порядке.
Создание отчета в Microsoft Power BI Desktop.
Импорт данных.
Подтвердите семантиковую модель между обеими таблицами.
Создание визуальных элементов отчета.
Создание ролей RLS в Power BI Desktop с помощью DAX.
Тестирование ролей в Power BI Desktop.
Развертывание отчета в службе Microsoft Power BI.
Добавление участников в роль в службе Power BI.
Тестирование ролей в службе Power BI.
Создание отчета в Power BI Desktop
Выполните стандартные действия по созданию отчета в Power BI Desktop. Для извлечения и очистки данных используйте Microsoft Power Query. Затем убедитесь, что между двумя таблицами существует связь: откройте вкладку Моделирование и проверьте, что в столбце empID указана связь "один ко многим".
Следующий шаг — создание отчета Power BI.
Обратите внимание, что в предыдущей таблице есть строки по всем продажам и указаны все отделы. Вы примените ограничение видимости так, чтобы сотрудники определенного отдела могли видеть только свои продажи.
Создание ролей 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
Чтобы развернуть отчет в службе Power BI, нажмите кнопку Опубликовать на вкладке Главная, а затем выберите рабочую область.
Добавление участников в роль в службе Power BI
Чтобы добавить участников в роль в службе Power BI, перейдите к рабочей области в службе Power BI. Найдите семантиковую модель, созданную с тем же именем, что и отчет. Нажмите кнопку с многоточием (...) и выберите Безопасность.
На экране Безопасность на уровне строк можно добавить Microsoft Entra ID пользователей и группы безопасности в роль безопасности. К участникам, добавляемым в эту роль, будет применен фильтр DAX, определенный ранее. Если участники не добавлены в роль, но имеют доступ к отчету, RLS к ним не применяется. Вы можете добавить в роль Игры трех сотрудников отдела игр. Теперь после входа эти участники будут видеть отчет с данными, которые применимы только к ним.
Тестирование ролей в службе Power BI
Роли можно проверить внутри службы Power BI. Для этого нажмите кнопку с многоточием (...) рядом с ролью Игры на экране Безопасность на уровне строк и выберите пункт Проверить в качестве роли.
После его выбора в службе Power BI будет выведен отчет, доступный вам как участнику этой роли.
Вот и всё! Вы успешно реализовали безопасность на уровне строк в Power BI.