Безопасность на уровне объекта (OLS)

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

Создание отчета, использующего OLS

Как и безопасность на уровне строк (RLS), OLS также определяется в рамках ролей модели. Определения OLS можно создавать с помощью представления языка определения табличной модели (TMDL) или внешних инструментов, таких как табличный редактор.

Настройка безопасности на уровне объекта с помощью представления TMDL

Представление TMDL позволяет определять правила OLS непосредственно в семантической модели с помощью скриптов TMDL, поэтому внешние средства не требуются.

  1. Откройте представление TMDL в среде разработки.

  2. Создайте новую вкладку скрипта TMDL и напишите сценарий createOrReplace, который определяет роль с соответствующими metadataPermission для таблицы или столбца, которые требуется защитить.

    • Нет: OLS применяется, а таблица или столбец скрыты от этой роли.
    • Чтение: таблица или столбец доступны для этой роли.

Чтобы защитить всю таблицу, выполните следующие действия.

createOrReplace

    role CategoriesOLS
        modelPermission: read

        tablePermission Customers
            metadataPermission: none

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

createOrReplace

    role CategoriesOLS
        modelPermission: read

        tablePermission Customers
            columnPermission Address
                metadataPermission: none
  1. Перед применением кнопки предварительного просмотра просмотрите изменения, внесенные в семантику модели.

  2. Нажмите кнопку "Применить ", чтобы выполнить скрипт TMDL и применить определение роли к семантической модели.

  3. Опубликуйте семантику модели в служба Power BI.

  4. В служба Power BI выберите меню "Дополнительные параметры" (...) для семантической модели. Выберите страницу "Безопасность " и назначьте участникам или группам соответствующие роли.

Настройка безопасности на уровне объекта с помощью табличного редактора

  1. В Power BI Desktop создайте модель и роли, определяющие правила OLS.

  2. На ленте "Внешние инструменты" выберите табличный редактор. Если кнопка табличного редактора не отображается, установите программу. При открытии табличный редактор автоматически подключается к модели.

    Снимок экрана: меню

  3. В представлении модели выберите раскрывающееся меню в разделе "Роли". Отображаются роли, созданные на шаге 1.

    Снимок экрана: имена ролей, отображаемые в папке ролей в представлении модели.

  4. Выберите роль, для которой нужно включить определение OLS, и разверните права доступа к таблице.

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

  5. Задайте для таблицы или столбца разрешения "Нет " или "Чтение".

    Нет: OLS применяется, а таблица или столбец скрыты от этой роли. Чтение: таблица или столбец доступны для этой роли.

    Установите категории в разделе "Разрешения таблицы" на "Нет".

    Снимок экрана, где правило OLS для всей таблицы установлено на

  6. После определения OLS для ролей сохраните изменения.

    Снимок экрана: сохранение определений ролей.

  7. В Power BI Desktop опубликуйте семантику модели в службе Power BI.

  8. В службе Power BI перейдите на страницу "Безопасность ", выбрав меню "Дополнительные параметры " (...) для семантической модели и назначьте членам или группам соответствующие роли.

Теперь определены правила OLS. Пользователи без требуемого разрешения получают сообщение о том, что поле не удается найти для всех визуальных элементов отчета с помощью этого поля.

Снимок экрана: сообщение об ошибке, указывающее, что столбец не найден или не может использоваться в этом выражении.

Рекомендации и ограничения

  • OLS применяется только к средствам просмотра в рабочей области. Члены рабочей области, назначенные роли администратора, члена или участника , имеют разрешение на изменение семантической модели и, следовательно, OLS не применяется к ним. Узнайте больше о ролях в рабочей среде.

  • Семантические модели с OLS, настроенные для одной или нескольких таблиц или объектов столбцов, не поддерживаются этими функциями Power BI:

    • Визуализации мгновенных аналитических данных
    • умные наративные визуализации
    • Коллекция Типов данных Excel
  • Другие ограничения OLS