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

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

Важно!

Если у вас уже были заданы роли и правила в службе Power BI, вам потребуется повторно создать их в Power BI Desktop и опубликовать отчет в службе.

Узнайте больше о параметрах RLS в службе Power BI.

Создание ролей и правил в приложении 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.

Ограничения

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

  • Если у вас уже были заданы роли и правила в службе 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

Появились дополнительные вопросы? Попробуйте задать вопрос в сообществе Power BI.