Ограничение доступа к объектам модели Power BI

Завершено

В качестве моделиатора данных можно рассмотреть возможность ограничения доступа пользователей к объектам модели Power BI. Безопасность на уровне объектов (OLS) может ограничить доступ к определенным таблицам и столбцам и их метаданным. Как правило, вы применяете OLS для защиты объектов, которые хранят конфиденциальные данные, например персональные данные сотрудников.

Если Power BI применяет OLS, он не только ограничивает доступ к таблицам и столбцам, но и может защитить метаданные. При защите метаданных невозможно получить сведения о защищенных таблицах и столбцах с помощью динамических административных представлений (DMV).

Это важно

Табличные модели могут скрывать таблицы и столбцы (и другие объекты) с помощью перспективы. Перспектива определяет видимые подмножества объектов модели, чтобы помочь сосредоточиться на конкретных аспектах для авторов отчетов. Перспективы предназначены для снижения сложности модели, помогая авторам отчетов находить интересующие ресурсы. Однако перспективы не являются функцией безопасности, так как они не защищают объекты. Пользователь по-прежнему может запрашивать таблицу или столбец, даже если он не отображается для них.

Рассмотрим пример в Adventure Works. В этой организации есть таблица измерений хранилища данных с именем DimEmployee. Таблица содержит столбцы, которые хранят имя сотрудника, телефон, адрес электронной почты и зарплату. Хотя общие потребители отчетов могут видеть имя сотрудника и контактные данные, они не должны видеть значения заработной платы. Только старшие сотрудники по персоналу могут видеть значения заработной платы. Таким образом, модельизатор данных использовал OLS для предоставления доступа к столбцу заработной платы только определенным сотрудникам по персоналу.

Снимок экрана: представление схемы модели таблицы Employee, которая включает ограниченный столбец

OLS — это функция, унаследованная от Служб Azure Analysis Services (AAS) и служб SQL Server Analysis Services (SSAS). Эта функция доступна в Power BI Premium для обеспечения обратной совместимости моделей, перенесенных в Power BI. По этой причине невозможно полностью настроить OLS в Power BI Desktop.

Настройка OLS

Чтобы настроить OLS, сначала создайте роли. Роли в Power BI Desktop можно создавать так же, как при настройке RLS. Затем необходимо добавить правила OLS в роли. Эта возможность не поддерживается Power BI Desktop, поэтому вам потребуется использовать другой подход.

Правила OLS добавляются в модель Power BI Desktop с помощью конечной точки XML для анализа (XMLA). Конечные точки XMLA доступны в Power BI Premium и предоставляют доступ к подсистеме служб Analysis Services в службе Power BI. Конечная точка чтения и записи поддерживает управление наборами данных, управление жизненным циклом приложений, расширенное моделирование данных и многое другое. API с включенной поддержкой конечных точек XMLA можно использовать для создания скриптов, таких как язык скриптов табличной модели (TMSL) или модуль PowerShell SqlServer. Или вы можете использовать клиентское средство, например SSMS. Существуют также сторонние инструменты, такие как Tabular Editor, который является средством с открытым исходным кодом для создания, обслуживания и управления моделями.

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

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

Соображения

В отчете Power BI, если у пользователя нет разрешения на доступ к таблице или столбцу, он получит сообщение об ошибке. Сообщение сообщит им о том, что объект не существует.

Снимок экрана показывает сообщение об ошибке Power BI Desktop, возникающее при попытке визуализации отчета выполнить запрос к ограниченному столбцу.

Тщательно рассмотрите, является ли OLS правильным решением для вашего проекта. Когда пользователь открывает отчет Power BI, который запрашивает ограниченный объект (для них), сообщение об ошибке может быть запутано и приведет к отрицательному опыту. Для них кажется, что отчет сломался. Лучше всего создать отдельный набор моделей или отчетов для различных требований потребителя отчета.

Ограничения

Существуют ограничения, которые следует учитывать при реализации OLS.

Вы не можете смешивать RLS и OLS в одной роли. Если необходимо применить RLS и OLS в одной модели, создайте отдельные роли, выделенные для каждого типа. Кроме того, невозможно задать безопасность на уровне таблицы, если она нарушает цепочку связей. Например, если между таблицами A и B и таблицами B и C существуют связи, вы не можете сделать таблицу B защищенной. Если таблица B защищена, запрос к таблице A не сможет проследовать через связи между A и B, а также B и C. В этом случае можно установить отдельную связь между таблицами A и C.

На схеме показан пример связи, описанный в предыдущем абзаце.

Однако связи модели, ссылающиеся на защищённый столбец, будут работать при условии, что таблица столбца не защищена.

Наконец, хотя не удается защитить меры, мера, которая ссылается на защищенные объекты, автоматически ограничивается.

Дополнительные сведения см. в разделе "Безопасность на уровне объектов".