Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Безопасность на уровне строк (RLS) с Помощью Power BI можно использовать для ограничения доступа к данным для заданных пользователей. Фильтры ограничивают доступ к данным на уровне строк, и вы можете определять фильтры в рамках ролей. В службе Power BI пользователи с доступом к рабочей области имеют доступ к семантическим моделям в этой рабочей области. RLS ограничивает доступ только к данным для пользователей с разрешениями средства просмотра . Он не применяется к администраторам, членам или участникам.
Вы можете настроить RLS для моделей данных, импортированных в Power BI с помощью Power BI. Вы также можете настроить RLS на семантических моделях, использующих DirectQuery, например SQL Server. Для динамических подключений служб Analysis Services или Azure Analysis Services вы настраиваете безопасность на уровне строк в модели, а не в Power BI. Параметр безопасности не отображается для семантических моделей динамического подключения.
Определение ролей и правил в Power BI Desktop
Роли и правила можно определить в Power BI Desktop. С помощью этого редактора можно переключаться между интерфейсом раскрывающегося списка по умолчанию и интерфейсом DAX. При публикации в Power BI вы также публикуете определения ролей.
Определение ролей безопасности:
Импортируйте данные в отчет Power BI Desktop или настройте подключение DirectQuery.
Примечание.
Нельзя определить роли в Power BI Desktop для подключений служб Analysis Services в режиме реального времени. Это необходимо сделать в модели служб Analysis Services.
На вкладке "Моделирование " выберите "Управление ролями".
В окне Управление ролями выберите Создать, чтобы создать новую роль.
В разделе "Роли" введите имя роли и нажмите Enter.
Примечание.
Вы не можете определить роль с запятой, например,
London,ParisRole.В разделе Выбор таблиц выберите таблицу, к которой вы хотите применить фильтр безопасности на уровне строки.
Под Фильтрация данных используйте редактор по умолчанию, чтобы определить свои роли. Созданные выражения возвращают значение true или false.
Примечание.
Не все фильтры безопасности на уровне строк, поддерживаемые в Power BI, можно определить с помощью редактора по умолчанию. Ограничения включают выражения, которые сегодня можно определить только с помощью DAX, включая динамические правила, такие как username() или userprincipalname(). Чтобы определить роли с помощью этих фильтров, переключитесь на использование редактора DAX.
При необходимости выберите Перейти в редактор DAX чтобы использовать редактор DAX для определения вашей роли. Выражения DAX возвращают значение true или false. Например:
[Entity ID] = “Value”. Редактор DAX оснащен функцией автозавершения для формул (интеллисенс). Установите флажок над полем выражения, чтобы проверить выражение и кнопку X над полем выражения, чтобы вернуть изменения.Примечание.
В этом выражении можно использовать имя пользователя( ). Помните, что имя пользователя() имеет формат DOMAIN\username в Power BI Desktop. В службе Power BI и сервере отчетов Power BI это представлено в формате универсального имени пользователя (UPN). Кроме того, в этом поле выражения используйте запятые для разделения аргументов функции DAX, даже если используется языковой стандарт, который обычно использует разделители с запятой, например французский или немецкий.
Вы можете вернуться к редактору по умолчанию, выбрав Перейти к редактору по умолчанию. Все изменения, сделанные в любом интерфейсе редактора, сохраняются при переключении между интерфейсами, если это возможно. При определении роли с помощью редактора DAX, который не может быть определен в редакторе по умолчанию, при попытке переключиться в редактор по умолчанию появится предупреждение о том, что переключение редакторов может привести к потере некоторых сведений. Чтобы сохранить эти сведения, выберите Отмена и продолжайте изменять эту роль только в редакторе DAX.
Примечание.
В этом поле выражения используйте запятые для разделения аргументов функции DAX, даже если используется языковой стандарт, который обычно использует разделители с запятой, например французский или немецкий.
Выберите Сохранить.
Вы не можете назначать пользователей на роль в Power BI Desktop. Вы назначаете их в службе Power BI. Вы можете включить динамическую безопасность в Power BI Desktop, используя функции DAX username() или userprincipalname() и правильно настроив соответствующие связи.
По умолчанию фильтрация безопасности на уровне строк использует однонаправленные фильтры, независимо от того, заданы ли связи однонаправленным или двунаправленным. Вы можете вручную включить двунаправленную перекрестную фильтрацию с безопасностью на уровне строк, выбрав связь, а затем установив флажок "Применить фильтр безопасности в обоих направлениях". Обратите внимание, что если таблица участвует в нескольких двунаправленных отношениях, вы можете выбрать этот параметр только для одной из этих связей. Выберите этот параметр, если вы также реализовали динамическую безопасность на уровне сервера, где безопасность на уровне строк основана на имени пользователя или идентификаторе входа.
Дополнительные сведения см. в статье "Двунаправленная перекрестная фильтрация с помощью DirectQuery в Power BI " и технической статье "Защита семантической модели табличной бизнес-аналитики ".
Управление безопасностью модели
Чтобы управлять безопасностью в семантической модели, откройте рабочую область, в которой сохранена семантическая модель в Fabric, и выполните следующие действия:
В Fabric выберите меню "Дополнительные параметры " для семантической модели. Это меню отображается при наведении указателя мыши на имя семантической модели.
Выберите Безопасность.
Безопасность перенаправляет вас на страницу "Безопасность на уровне ролей", где вы добавляете пользователей в созданную роль. Участники (и пользователи с более высокими ролями в рабочей области) увидят Безопасность и могут назначать пользователей на роли.
Примечание.
Вы можете управлять безопасностью только в моделях с ролями безопасности на уровне строк, уже определенными в Power BI Desktop или при редактировании модели данных в службе Power BI. Если у вашей модели еще нет ролей, вы не можете управлять безопасностью в службе Power BI.
Работа с членами
Добавить участников
В служба Power BI можно добавить участника в роль, введя адрес электронной почты или имя пользователя или группы безопасности. Невозможно добавить группы, созданные в Power BI. Вы можете добавлять участников из вне вашей организации.
Для настройки безопасности на уровне строк можно использовать следующие группы.
- Группа рассылки
- Группа с поддержкой почты
- Группа безопасности Microsoft Entra
Обратите внимание, что группы Microsoft 365 не поддерживаются и их невозможно добавить в какие-либо роли.
Вы также можете увидеть, сколько участников принадлежат к роли, по числу, указанному в скобках рядом с именем роли или рядом с Участниками.
Удаление членов
Вы можете удалить участников, выбрав X рядом с их именем.
Проверка роли в службе Power BI
Вы можете убедиться, что определенная роль работает правильно в службе Power BI, протестировав ее.
- Выберите дополнительные параметры (...) рядом с ролью.
- Выберите "Тест в качестве роли".
Вы перенаправляетесь в отчет, опубликованный из Power BI Desktop с этой семантической моделью, если она существует. Панели мониторинга недоступны для тестирования с помощью параметра Test as role.
В заголовке страницы отображается роль, применяемая. Проверьте другие роли, сочетание ролей или конкретного человека, выбрав сейчас просматривается как. Здесь вы увидите важные сведения о разрешениях, относящихся к тестируемой личности или роли. Дополнительные сведения о том, как разрешения взаимодействуют с RLS, см. в статье о пользовательском интерфейсе RLS.
Проверьте другие отчеты, подключенные к семантической модели, выбрав "Просмотр " в заголовке страницы. Отчеты можно тестировать только в той же рабочей области, что и семантическая модель.
Чтобы вернуться к обычному просмотру, нажмите кнопку "Вернуться к безопасности на уровне строк".
Примечание.
Функция "Тест как роль" не работает для моделей DirectQuery с включенной функцией Единый вход (SSO). Кроме того, не все аспекты отчета можно проверить с помощью функции "Тестирование как роли," включая визуализации Q&A, визуализации быстрых аналитических сведений и Copilot.
Использование функции DAX username() или userprincipalname()
Вы можете воспользоваться функциями DAX username() или userprincipalname() в наборе данных. Их можно использовать в выражениях в Power BI Desktop. При публикации модели она будет использоваться в службе Power BI.
В Power BI Desktop имя пользователя () возвращает пользователя в формате DOMAIN\User и userprincipalname() в форматеuser@contoso.com.
В службе Power BI username() и userprincipalname() возвращают учетное имя пользователя (UPN). Это выглядит примерно так, как адрес электронной почты.
Использование RLS с рабочими областями в Power BI
При публикации отчета Power BI Desktop в рабочей области в службе Power BI роли RLS применяются к участникам, назначенным на роль Просмотрщик в этой рабочей области. Даже если просмотрщики получают разрешения на сборку для семантической модели, RLS по-прежнему применяется. Например, если пользователи с разрешением на создание используют Анализ в Excel, их представление данных ограничено RLS. Члены рабочей области, назначенные администратором, участником или участником, имеют разрешение на изменение семантической модели и, следовательно, RLS не применяется к ним. Если вы хотите, чтобы RLS применялся к людям в рабочей области, им можно назначить только роль наблюдателя. Узнайте больше о ролях в рабочих областях.
Рекомендации и ограничения
Здесь можно увидеть текущие ограничения безопасности на уровне строк в облачных моделях:
- Если вы ранее определили роли и правила в служба Power BI, необходимо повторно создать их в Power BI Desktop.
- Вы можете определить RLS только в семантических моделях, созданных с помощью Power BI Desktop. Если вы хотите включить RLS для семантических моделей, созданных с помощью Excel, сначала необходимо преобразовать файлы в файлы Power BI Desktop (PBIX). Подробнее.
- Основные учетные записи службы не могут быть добавлены в роль RLS. Соответственно, RLS не применяется для приложений, использующих учетную запись службы в качестве окончательного эффективного удостоверения.
- Поддерживаются только подключения типа Import и DirectQuery. Динамические подключения к службам Analysis Services обрабатываются в локальной модели.
- С включенной функцией RLS использование функции USERELATIONSHIP() в запросах и мерах DAX может привести к непредвиденным ошибкам. Чтобы обойти эту проблему, измените выражения DAX, чтобы избежать USERELATIONSHIP() и использовать связи уровня модели или другие шаблоны DAX.
- Функция Test as role/View as role не работает для моделей DirectQuery с включенным единым входом (Single Sign-On, SSO).
- Тест в качестве роли или представления в качестве функции роли отображает только отчеты из рабочей области семантических моделей.
- Функция test as role/View as role не работает для отчетов с разбивкой на страницы.
Помните, что если отчет Power BI ссылается на строку с RLS, настроенной, то то такое же сообщение отображается для удаленного или не существующего поля. Для этих пользователей отчет выглядит сломанным.
Вопросы и ответы
Вопрос. Что делать, если ранее я создал роли и правила для набора данных в служба Power BI? Они по-прежнему работают, если я ничего не делаю?
Ответ. Нет, визуальные элементы не будут правильно отображаться. Необходимо повторно создать роли и правила в Power BI Desktop, а затем опубликовать в службу Power BI.
Вопрос. Можно ли создать эти роли для источников данных служб Analysis Services?
Ответ. Да, если вы импортировали данные в Power BI Desktop. Если вы используете динамическое подключение, вы не можете настроить RLS в службе Power BI. Вы определяете RLS в локальной модели служб Analysis Services.
Вопрос. Можно ли использовать RLS для ограничения столбцов или мер, доступных моими пользователями?
Ответ. Нет, если у пользователя есть доступ к определенной строке данных, они могут видеть все столбцы данных для этой строки. Чтобы ограничить доступ к столбцам и метаданным столбцов, рекомендуется использовать безопасность на уровне объекта.
Вопрос. Позволяет ли RLS скрывать подробные данные, но предоставлять доступ к данным, обобщенным в визуальных элементах?
Ответ. Нет, вы защищаете отдельные строки данных, но пользователи всегда могут видеть сведения или суммированные данные.
Вопрос. Мой источник данных уже имеет определенные роли безопасности (например, роли SQL Server или роли SAP BW). Что такое связь между этими ролями и RLS?
Ответ. Ответ зависит от того, импортируете ли вы данные или используете DirectQuery. Если вы импортируете данные в набор данных Power BI, роли безопасности в источнике данных не используются. В этом случае необходимо определить RLS для применения правил безопасности для пользователей, которые подключаются в Power BI. Если вы используете DirectQuery, используются роли безопасности в источнике данных. Когда пользователь открывает отчет, Power BI отправляет запрос в базовый источник данных, который применяет правила безопасности к данным на основе учетных данных пользователя.
Вопрос. Может ли пользователь принадлежать более одной роли?
Ответ. Пользователь может принадлежать нескольким ролям, а роли являются аддитивными. Например, если пользователь принадлежит к ролям "Продажи" и "Маркетинг", они могут просматривать данные для обеих этих ролей.
Связанный контент
- Ограничение доступа к данным с помощью безопасности на уровне строк (RLS) для Power BI Desktop
- Руководство по безопасности на уровне строк (RLS) в Power BI Desktop
- Планирование реализации Power BI: планирование безопасности потребителей
- RLS для встраиваемых сценариев для независимых поставщиков программного обеспечения
Вопросы? Попробуйте обратиться к сообществу Power BI с вопросами? Участие в разработке идей по улучшению Power BI