Блог

Роли и безопасность в Power BI_ Row-Level Security

Роли и безопасность в Power BI: Row-Level Security

🔐 Зачем нужна безопасность в Power BI?

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

По сути, настройка безопасности помогает решить две ключевые задачи:

  1. Ограничение доступа к данным — защита конфиденциальной информации, например, финансовых показателей, персональных данных сотрудников или сведений по конкретным подразделениям.
  2. Удобство пользователей — пользователи получают доступ только к тем данным, которые относятся к их зоне ответственности (регион, отдел, клиент и т.п.). Это упрощает навигацию по отчёту и исключает «информационный шум».

Это особенно актуально, если в отчетах используются данные по разным регионам, отделам или сотрудникам.

📌 Что такое безопасность на уровне строк?

Безопасность на уровне строк (Row-Level Security, RLS) позволяет ограничить доступ к строкам данных в таблице в зависимости от ролей пользователя. Это можно сравнить с фильтром, который накладывается, когда роль дана определенному пользователю. Он не будет видеть все данные, а увидит только те, что отфильтрованы конкретно для него.

Например:

  • Менеджер по продажам в регионе «Север» будет видеть только данные по своему региону.
  • Руководитель отдела может видеть данные по всем регионам.

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

Только учтите, что RLS ограничивает доступ только к данным для пользователей с разрешениями средства просмотра. Он не применяется к категориям: Администратор, Автор или Участник (со-автор).

Роли и правила можно определить в Power BI Desktop с помощью вкладки "Моделирование ", выбрав для настройки ролей "Управление ролями".
Интерфейс на англ.яз
Интерфейс на рус.яз.
В окне “Управление ролями” выберите “Создать”, чтобы создать новую роль
Интерфейс на англ. яз.
Интерфейс на рус. яз.
В разделе "Роли" введите имя роли и нажмите «Enter».
Интерфейс на англ. яз.
Интерфейс на рус. яз
В разделе "Выбор таблиц" выберите таблицу, к которой необходимо применить фильтр безопасности на уровне строк.

В разделе "Фильтрация данных" используйте редактор по умолчанию для определения ролей.
Интерфейс на англ. яз
Интерфейс на рус. яз.
При желании можно выбрать «Перейти в редактор DAX», чтобы переключиться на использование редактора DAX для определения роли.

Выражения DAX возвращают значение true или false. Например вы хотите дать роли возможность просматривать данные по городам Алматы и Тараз: [City] = “Almaty” || [City] = “Taraz”.
Интерфейс на англ. яз
Интерфейс на рус. яз
После создания ролей проверьте результаты ролей в Power BI Desktop.

1. На вкладке "Моделирование" выберите "Вид как".
Интерфейс на англ. яз.
Интерфейс на рус. яз.
Выберите созданную роль. Затем нажмите кнопку "ОК ", чтобы применить ее.