Как я могу реализовать в бессерверной службе SQL-пула Micorsoft Azure / Microsoft Synapse функцию безопасности на уровне строк во внешних таблицах?

#azure #azure-synapse #row-level-security #serverless-architecture

#azure #azure-synapse #безопасность на уровне строк #бессерверная архитектура

Вопрос:

Я просматриваю csv-файл озера данных и хочу создать внешнюю таблицу в бессерверном SQL-пуле Microsoft Synapse. Цель состоит в том, чтобы запросить этот файл с установленными ограничениями безопасности на уровне строк.

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

Как я могу обеспечить безопасность на уровне строк для внешних таблиц в бессерверном SQL-пуле?

Ответ №1:

К сожалению, безопасность на уровне строк на данный момент не поддерживается в бессерверном SQL-пуле.

Не могли бы вы проголосовать за это нашим пользовательским голосом? https://feedback.azure.com/forums/307516-sql-data-warehouse?category_id=171048

Ответ №2:

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

Например, CREATE FUNCTION не поддерживается.

Этот синтаксис не поддерживается бессерверным SQL-пулом в Azure Synapse Analytics.


Вы, конечно, можете попробовать использовать представления, поддерживаемые в бессерверном режиме.

  • На рисунке ниже права доступа станут другой CSV и ВНЕШНЕЙ ТАБЛИЦЕЙ, которую вы создадите.
  • Вам нужно будет либо найти правильную функцию для получения текущего пользователя и / или роли для запроса выбора представления, либо предоставить ее с помощью некоторого кода-оболочки из другого места, где вы поддерживаете свой собственный контекст.

Отказ от ответственности: я не делал этого в бессерверной, поэтому не могу сказать наверняка.

введите описание изображения здесь