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

Примечание.

Функции RLS доступны в версии Pro. Вы можете ознакомиться с дополнительными сведениями о возможностях выпуска Pro.

Теперь можно настроить RLS для моделей данных, импортированных в Power BI с помощью Power BI Desktop. Вы также можете настроить RLS для наборов данных, которые используют DirectQuery, таких как SQL Server. Раньше реализовывать RLS можно было только в локальных моделях служб Analysis Services за пределами Power BI. Для динамических подключений к службам Analysis Services безопасность на уровне строк настраивается в локальной модели. Параметр безопасности не будет отображаться для наборов данных динамического подключения.

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

В приложении Power BI Desktop можно задавать роли и правила. При публикации в Power BI публикуются и определения ролей.

Чтобы использовать возможности динамической системы безопасности, необходимо разрешить перекрестную фильтрацию для DirectQuery в обоих направлениях. Таким образом вы сможете выполнять фильтрацию и применять фильтры безопасности в обоих направлениях.

Чтобы задать роли безопасности, выполните указанные ниже действия.

  1. Импортируйте данные в отчет Power BI Desktop или настройте подключение DirectQuery.

    Примечание.

    Задавать определения ролей в Power BI Desktop для динамических подключений служб Analysis Services нельзя. Это делается непосредственно в модели Analysis Services.

  2. Откройте вкладку Моделирование.

  3. Выберите Управление ролями.

  4. Выберите Создать.

  5. Укажите имя роли.

  6. Выберите таблицу, для которой хотите применить правило DAX.

  7. Введите выражения DAX. Выражение должно возвращать истину (true) или ложь (false). Пример: [Код объекта] = "Значение".

    Примечание.

    В этом выражении можно использовать функцию username(). Помните о том, что в Power BI Desktop функция username() возвращает значения в формате ДОМЕН\имя_пользователя. В службе Power BI это значение принимает формат имени участника-пользователя.

  8. Созданное выражение DAX можно проверить с помощью флажка над полем выражения.

  9. Нажмите кнопку Сохранить.

Назначать пользователей роли в Power BI Desktop нельзя. Это делается в службе Power BI. Чтобы использовать в Power BI Desktop функции динамической системы безопасности, используйте функции DAX username() и настройте соответствующие связи.

Проверка роли в приложении Power BI Desktop

Создав роль, вы можете проверить ее действие в приложении Power BI Desktop. Для этого выберите Просмотреть как роли.

В диалоговом окне Просмотреть как роли можно изменить содержимое представления для определенного пользователя или роли. Здесь показаны роли, которые вы создали.

Выберите роль и нажмите кнопку ОК, чтобы применить ее к представлению данных. В отчетах отображаются только те данные, которые относятся к данной роли.

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

Примечание.

Внешний вид отчетов в Power BI Desktop меняется только при использовании динамической системы безопасности на базе выражений DAX.

Управление безопасностью в модели

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

  1. Нажмите значок многоточие (...) для определенного набора данных.
  2. Выберите Безопасность.

В результате откроется страница RLS, где можно добавить участников к роли, созданной в Power BI Desktop. Параметр "Безопасность" отображается только владельцам набора данных. Если набор данных передается в составе группы, этот параметр будет доступен только администраторам.

Создавать и изменять роли можно только в приложении Power BI Desktop.

Работа с участниками

Добавление участников

Можно добавить участника в роль, указав адрес электронной почты или имя добавляемого пользователя, группы безопасности или списка рассылки. Этот участник должен быть в пределах вашей организации. Невозможно добавить группы, созданные в Power BI.

Также по числу в скобках рядом с именем роли или рядом с участниками можно определить, сколько участников входит в данную роль.

Удаление участников

Участников можно удалять, нажимая "X" рядом с их именем.

Проверка роли в службе Power BI

Чтобы убедиться в работоспособности роли, которую вы определили, выполните проверку роли.

  1. Щелкните многоточие (...) рядом с ролью.
  2. Выберите пункт Проверить данные в качестве роли.

На экран будут выведены отчеты, доступные для этой роли. В этом представлении панели мониторинга не представлены. На синей панели выше вы увидите применяемые элементы.

Другие роли или комбинации ролей можно проверить, выбрав Теперь показать как.

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

Чтобы вернуться в обычный режим просмотра, выберите Вернуться к безопасности на уровне строк.

Использование функции username() DAX

Функция DAX username() в наборе данных обеспечивает определенные преимущества. Ее можно использовать в выражениях в Power BI Desktop. При публикации модели она будет использоваться в службе Power BI.

В Power BI Desktop функция username() возвращает имя пользователя в формате ДОМЕН\имя_пользователя.

В службе Power BI username() возвращает имя участника-пользователя. Оно выглядит как адрес электронной почты.

Использование RLS с группами в Power BI

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

Внимание!

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

Ограничения

Ниже приведен список текущих ограничений для безопасности на уровне строк в облачных моделях.

  • Если у вас уже были заданы роли и правила в службе Power BI, вам потребуется повторно создать их в Power BI Desktop.
  • RLS можно определить только в наборах данных, созданных с помощью клиента Power BI Desktop. Если вы хотите включить RLS для наборов данных, созданных с помощью Excel, необходимо сначала преобразовать файлы в PBIX-файлы. Дополнительные сведения
  • Поддерживаются только ETL и подключения DirectQuery. Активные подключения к службам Analysis Services обрабатываются в локальной модели.
  • В настоящее время функции вопросов и ответов и Cortana не поддерживаются при использовании RLS. Поле ввода вопросов и ответов для информационных панелей не отобразится, если во всех моделях настроена функция RLS. Поддержку этих возможностей планируется добавить, но конкретных сроков пока нет.
  • Предоставление доступа внешним пользователям пока не поддерживается для наборов данных, использующих RLS.

Известные проблемы

Существует известная проблема, из-за которой при попытке опубликовать из Power BI Desktop данные, которые уже были опубликованы, возникает сообщение об ошибке. Ниже описана последовательность действий, которая к этому приводит.

  1. Предположим, у Анны есть набор данных, который опубликован в службе Power BI, и для него настроена RLS.

  2. Анна обновляет отчет в Power BI Desktop и снова публикует его.

  3. Анна получает сообщение об ошибке.

Временное решение. Пока эта проблема не решена, вы можете повторно публиковать файлы Power BI Desktop из службы Power BI. Для этого выберите Получить данные > Файлы.

ВОПРОСЫ И ОТВЕТЫ

Вопрос. Что, если у меня уже созданы роли или правила для набора данных в службе Power BI? Будут ли они работать, если ничего не делать? Ответ. Нет. Визуальные элементы не будут отображаться правильным образом. Вам придется повторно создать роли и правила в Power BI Desktop, а затем опубликовать их в службе Power BI.

Вопрос. Можно ли создавать роли для источников данных служб Analysis Services? Ответ. Да, если данные импортированы в Power BI Desktop. Если вы используете динамическое подключение, то не сможете настроить RLS в службе Power BI. Это делается локально в модели Analysis Services.

См. также:

Безопасность на уровне строк (RLS) в Power BI Desktop
Появились дополнительные вопросы? Ответы на них см. в сообществе Power BI.