Безопасность на уровне столбцов в OneLake

Безопасность на уровне столбцов (CLS) — это функция безопасности OneLake , которая позволяет получить доступ к выбранным столбцам в таблице вместо полного доступа к таблице. CLS позволяет указать подмножество таблиц, к которым пользователи могут получить доступ. Данные в столбцах, удаленных из списка, не отображаются пользователям.

Предпосылки

Общие сведения о безопасности на уровне столбцов

Среда CLS безопасности OneLake внедряется одним из следующих двух способов:

  • Отфильтрованные таблицы в движках Fabric: Запросы к движкам Fabric, таким как записные книжки Spark, приводят к тому, что пользователь видит только те столбцы, которые разрешены ему в соответствии с правилами CLS.
  • Заблокирован доступ к таблицам: Таблицы с правилами CLS, применяемыми к ним, не могут быть прочитаны за пределами поддерживаемых подсистем Fabric или авторизованных сторонних обработчиков , которые применяют безопасность OneLake. Доступ заблокирован для неавторизированных обработчиков.

Для отфильтрованных таблиц действуют следующие действия.

  • Правила CLS не ограничивают доступ к пользователям с ролями администратора, участника и сотрудника.
  • Если правило CLS имеет несоответствие с таблицей, на которой оно определено, то запрос завершается ошибкой и столбцы не возвращаются. Например, если CLS определен для столбца, который не является частью таблицы.
  • Запросы таблиц CLS завершаются ошибкой, если пользователь является частью двух разных ролей, а одна из ролей имеет безопасность на уровне строк (RLS).
  • Правила CLS могут применяться только для объектов таблиц Delta Parquet.
    • Правила CLS, применяемые к объектам таблиц, не являющимся Delta-таблицами, блокируют доступ ко всей таблице для членов роли.
  • Если пользователь запускает select * запрос в таблице, где у них есть доступ только к некоторым столбцам, правила CLS работают по-разному в зависимости от подсистемы Fabric.
    • Записные книжки Spark: запрос завершается успешно и отображает только допустимые столбцы.
    • Конечная точка аналитики SQL: доступ к столбцам заблокирован для столбцов, к которые пользователь не может получить доступ.
    • Семантические модели. Доступ к столбцам заблокирован для столбцов, к которые пользователь не может получить доступ.
  • Имя защищенного столбца может отображаться в определенных интерфейсах, однако значения данных никогда не отображаются.

Доступ к данным из авторизованных обработчиков

Поддерживаемые движки Fabric могут получить доступ к таблицам с примененными к ним правилами CLS.

Tip

Авторизованные сторонние подсистемы могут получить эффективный доступ к столбцам для пользователя из OneLake с помощью API авторизованных обработчиков и принудительно применять CLS во время запроса. OneLake остается единственным источником правды, и определения CLS, созданные в OneLake, последовательно применяются в модулях Fabric и авторизованных внешних движках.

Дополнительные сведения см. в разделе "Интеграция стороннего обработчика с безопасностью OneLake".

Определение правил безопасности на уровне столбцов

Безопасность на уровне столбца можно определить как часть роли безопасности OneLake для любой таблицы Delta-parquet в разделе "Таблицы " элемента. CLS всегда указана для таблицы и может быть либо включена, либо отключена. По умолчанию CLS отключен и пользователи имеют доступ ко всем столбцам. Пользователи могут включить CLS и удалить столбцы из списка для отзыва доступа.

Это важно

Удаление доступа к столбцу не запрещает доступ к такому столбцу, если другая роль предоставляет ему доступ.

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

  1. Перейдите к элементу данных и выберите "Управление безопасностью OneLake".

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

  3. На странице сведений о роли выберите дополнительные параметры (...) рядом с таблицей, для которой требуется определить clS, а затем выберите "Безопасность столбца".

    Снимок экрана, на котором показано, как выбрать

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

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

  5. Чтобы ограничить доступ к столбцу, установите флажок рядом с именем столбца, а затем нажмите кнопку "Удалить". По крайней мере один столбец должен оставаться в списке разрешенных столбцов.

  6. Нажмите кнопку "Сохранить", чтобы обновить роль.

  7. Если вы хотите добавить удаленный столбец, нажмите кнопку "Создать правило". Это действие добавляет новую запись правила CLS в конец списка. Затем используйте раскрывающийся список, чтобы выбрать столбец, который требуется включить в доступ.

  8. После завершения изменений нажмите кнопку "Сохранить".

Объединение безопасности на уровне строк и на уровне столбцов

Безопасность на уровне строк и на уровне столбцов можно использовать вместе для ограничения доступа пользователей к таблице. Однако обе политики должны применяться через единую роль безопасности OneLake. В этом сценарии доступ к данным ограничен в соответствии с правилами, заданными в одной роли.

Безопасность OneLake не поддерживает сочетание двух или нескольких ролей, в которых один содержит правила RLS, а другой — правила CLS. Пользователи, пытающиеся получить доступ к таблицам, которые являются частью неподдерживаемой комбинации ролей, получают ошибки запроса.