Использование RLS с подключением Live Service Analysis в сценарии PB IE «Данные, принадлежащие приложению» - PullRequest
0 голосов
/ 11 февраля 2020

Я новичок в PBI и ищу подходящий инструмент для моего случая.

Я хотел бы использовать Power BI Embedded в веб-приложении для наших клиентов (где они вошли), у которых нет учетной записи / лицензии Power BI.

База данных, на которой основаны отчеты, является локальной, поэтому для доступа к ним мы будем использовать Live Service Analysis Services.

Каждый клиент должен иметь свой собственный отчет.

  • Можно ли использовать RLS в этом случае?
  • Значит ли это, что мы должны создать роль для каждого из них?
  • Какое имя пользователя должно быть указано в EffectiveIdentity? Это «свободный текст», который используется PBI для получения имени пользователя в DAX?

1 Ответ

0 голосов
/ 11 февраля 2020

Если у каждого клиента будет свой собственный отчет, тогда зачем вам вообще нужен RLS? Просто сделайте отчет, чтобы показать, что пользователь должен видеть. Или вы хотите иметь один отчет (или набор отчетов), который будет разделен между пользователями, и они должны видеть только свои данные? Я предполагаю, что это более поздний.

Я начну с последнего вопроса - эффективная личность не является «свободным текстом». Это должно быть действительное имя пользователя с правами доступа к данным, как указано в документации :

Действительным идентификатором, указанным для свойства username, должно быть Windows пользователь с разрешениями на сервере служб Analysis Services.

Вы можете определить RLS в своей модели службы Analysis Services, добавив таблицу «Безопасность пользователей», в которой вы указываете, какие строки должны быть видны каждому пользователь. Определите отношения между этой таблицей безопасности пользователей и другими таблицами в модели, а затем разрешите RLS фильтровать данные в таблице безопасности. Отношения с остальной частью модели будут применять каскадную фильтрацию данных, поэтому только соответствующие строки будут видны пользователю. См., Например, Реализация защиты на уровне строк в табличной модели служб Analysis Services .

Итак, ответ на ваш второй вопрос - нет, вам не нужна отдельная роль для каждого пользователя, потому что фильтрация основана на имени пользователя, и для каждого пользователя она фильтрует одну и ту же вещь одинаково.

...