Обеспечение безопасности на уровне строк
Приблизительное время выполнения лабораторной работы – 45 минут.
В этой лабораторной работе вы создадите связь «многие ко многим» между таблицей Salesperson и таблицей Sales. Вы также включите безопасность на уровне строк, чтобы продавец мог анализировать данные о продажах только для назначенных им регионов. После выполнения работы, вы будете знать, как:
- Настроить отношения "многие ко многим".
- Обеспечить безопасность на уровне строк.
Для лабораторной работы вам понадобятся следующие материалы:
-
SQL сервер со следующими данными:
https://docs.microsoft.com/ru-ru/sql/samples/adventureworks-install-configure?view=sql-server-ver15&tabs=ssms -
Набор файлов и расширений:
https://github.com/MicrosoftLearning/DA-100KO-Analyzing-Data-with-Power-BI/tree/master/Allfiles/DA-100-Allfiles
История лабораторной работы
Эта лабораторная работа – одна из многих в серии лабораторных работ, которые были разработаны в виде полного рассказа от подготовки данных до публикации в виде отчетов и информационных панелей. Вы можете выполнять лабораторные работы в любом порядке. Но, если вы намереваетесь выполнить несколько лабораторных работ, для первых 10 лабораторных работ мы предлагаем вам выполнить их в следующем порядке:
- Подготовка данных в Power BI Desktop.
- Загрузка данных в Power BI Desktop.
- Данные модели в Power BI Desktop, часть 1
- Данные модели в Power BI Desktop, часть 2
- Создание вычислений DAX в Power BI Desktop, часть 1
- Создание вычислений DAX в Power BI Desktop, часть 2
- Создание отчета в Power BI Desktop, часть 1
- Создание отчета в Power BI Desktop, часть 2
- Создание информационной панели Power BI.
- Создание отчета Power BI с разбивкой на страницы.
- Выполнение анализа данных в Power BI Desktop.
- Обеспечение безопасности на уровне строк
Упражнение 1: Обеспечение безопасности на уровне строк
В этом упражнении вы будете применять безопасность на уровне строк, чтобы продавец мог видеть продажи только в назначенных им регионах.
Задача 1. Начало
В этой задаче вы настроите среду для лаборатории.
Важно: если вы продолжаете предыдущую лабораторную работу (и вы ее успешно выполнили), не выполняйте эту задачу; вместо этого просто переходите к следующему заданию.
- Чтобы открыть Power BI Desktop, на панели задач щелкните ярлык Microsoft Power BI Desktop.
- Чтобы закрыть окно начала работы, в левом верхнем углу окна нажмите X.
- Чтобы открыть начальный файл Power BI Desktop, щелкните вкладку File на ленте, чтобы открыть представление Backstage.
- Выберите Open Report.
- Щелкните Browse Reports.
- В окне Open перейдите в папку D:\DA100\Labs\12-row-level-security\Starter.
- Выберите файл Sales Analysis.
- Щелкните Open.
- Закройте все информационные окна, которые могут открыться.
- Чтобы создать копию файла, щелкните вкладку ленты File, чтобы открыть представление Backstage.
- Выберите Save As.
- Если будет предложено применить изменения, нажмите Apply.
- В окне Save As перейдите в папку D:\DA100\MySolution.
- Щелкните Save.
Задача 2. Обеспечение безопасности на уровне строк.
В этой задаче вы будете применять безопасность на уровне строк, чтобы продавец мог видеть только продажи, сделанные в назначенных им регионах.
- Переключитесь в просмотр данных.
- На панели Fields выберите таблицу Salesperson (Performance).
- Просмотрите данные и обратите внимание, что Майкл Блайт (EmployeeKey 281) имеет значение UPN: michael-blythe@adventureworks.com.
Напомним, что Майкл Блайт относится к трем регионам продаж: Северо-восток США, Центральный США и Юго-Восток США.
- Переключитесь в представление отчета.
- На вкладке ленты Modeling в группе Security щелкните Manage Roles.
- В окне Manage Roles нажмите Create.
- В поле замените выделенный текст на имя роли: Salespeople и нажмите Enter.
- Чтобы назначить фильтр, для таблицы Salesperson (Performance) щелкните символ многоточия (…), а затем выберите Add Filter | [UPN].
- В поле Table Filter DAX Expression измените выражение, заменив Value на USERPRINCIPALNAME().
USERPRINCIPALNAME() – это функция выражений анализа данных (DAX), которая возвращает имя аутентифицированного пользователя. Это означает, что таблица Salesperson (Performance) будет отфильтрована по имени участника-пользователя (UPN) пользователя, запрашивающего модель.
- Щелкните Save.
- Чтобы проверить роль безопасности, на вкладке ленты Modeling в группе Security щелкните View As.
- В окне View as Roles отметьте пункт Other User, а затем в соответствующем поле введите: michael-blythe@adventureworks.com.
- Проверьте роль Salespeople.
Эта конфигурация приводит к использованию роли Salespeople и выдаче себя за пользователя с вашим именем Майкла Блайта.
- Щелкните OK.
- Обратите внимание на желтый баннер над страницей отчета, описывающий контекст безопасности теста.
- Обратите внимание на то, что на графике таблицы указан только продавец Michael Blythe.
- Чтобы остановить тестирование, справа от желтого баннера нажмите Stop Viewing.
Когда файл Power BI Desktop публикуется в службе Power BI, вам необходимо выполнить задачу после публикации, чтобы сопоставить участников безопасности с ролью Salespeople. В этой лабораторной работе вы этого не сделаете.
- Чтобы удалить роль, на вкладке ленты Modeling в группе Security щелкните Manage Roles.
- В окне Manage Roles нажмите Delete.
- Когда будет предложено подтвердить удаление, нажмите Yes, Delete.
- Щелкните Save.
Задача 2: Завершение
В этом задании вы выполните лабораторную работу.
- Сохраните файл Power BI Desktop.