Вопрос управления доступом по ADLS для бессерверного пула Azure Synapse Analytics для подключения и запроса

У меня есть пул без сервера Azure Analytics (где я являюсь администратором). У меня также есть доступ к ADLS Gen-2 через ACL (список управления доступом) для определенного списка папок [На изображении ниже - все зеленые поля представляют доступ, который я имеют ]

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

Я работаю под оператором SQL в Synapse Studio (бессерверный пул)

ВЫБЕРИТЕ ТОП 100 * ИЗ OPENROWSET (BULK 'https://SAFINCAL.dfs.core.windows.net/Container-2/Post-Sale/shipments/2021/*.parquet', FORMAT = 'PARQUET') КАК [результат]

Я получаю сообщение об ошибке ниже

Начато выполнение запроса в строке 1

Невозможно открыть файл https://SAFINCAL.dfs.core.windows.net/Container-2/Post-Sale/shipments/2021/*.parquet, поскольку он не существует или используется другим процессом. Посетите эту статью, чтобы узнать больше об этой ошибке. Общее время выполнения: 00: 00: 12.269.

В статье указывается на https://docs.microsoft.com/en-us/azure/synapse-analytics/sql/resources-self-help-sql-on-demand#query-fails-because-file-cannot-be-open

Решение, предложенное в статье, - получить участника Storage Blob Data Contributor. Возникающий у меня вопрос - если я получу участника Storage Blob Data Contributor, то в конечном итоге я могу получить доступ ко всему контейнеру, что противоречит цели доступа ACL, предоставляемого на уровне папки (выделенные зеленым цветом поля)

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

Это правильное понимание? Если да, то как мне убедиться, что я все еще могу запрашивать данные в папке доставки из пула без сервера Azure Synapse Analytics, не добавляя себя в качестве участника / читателя для всей учетной записи контейнера / хранилища

Спасибо


person Aravind    schedule 18.02.2021    source источник
comment
Возможно, глупый вопрос, но является ли использование Container-1 в openrowset опечаткой? Остальная часть каталога предполагает, что вы должны указать Container-2.   -  person iamdave    schedule 18.02.2021
comment
да, это была опечатка :) спасибо - исправил   -  person Aravind    schedule 18.02.2021


Ответы (2)


Я не знаком с пулом без сервера Azure Analytics, но думаю, что он может быть таким же, как Azure SQL. Эта проблема обычно возникает из-за того, что у вас нет прав на доступ к файлу.
Поэтому я использовал Создайте учетную запись SAS, затем используйте ключ SAS для доступа к файлам. введите описание изображения здесь

person Joseph Xu    schedule 19.02.2021
comment
Спасибо. Но я ищу здесь сквозное решение AD, чтобы мне не нужно было создавать / управлять этими SAS для каждого отдельного пользователя. - person Aravind; 20.02.2021

Если вы используете ACL, вам также необходимо иметь как минимум X разрешений для контейнеров.

person vvasic-MSFT    schedule 05.03.2021