Azure Databricks: доступ к хранилищу BLOB-объектов за брандмауэром

Я читаю файлы в учетной записи хранилища BLOB-объектов Azure (поколение 2) из ​​записной книжки Azure Databricks. Обе службы находятся в одном регионе (Западная Европа). Все работает нормально, кроме тех случаев, когда я добавляю брандмауэр перед учетной записью хранения. Я разрешил "доверенные службы Microsoft":

Учетная запись хранения портала Azure - брандмауэр

Однако при запуске ноутбука теперь возникает ошибка отказа в доступе:

com.microsoft.azure.storage.StorageException: This request is not authorized to perform this operation.

Я попытался получить доступ к хранилищу напрямую из Spark, смонтировав его с помощью dbutils, но то же самое.

Я бы предположил, что Azure Databricks считается надежной службой Microsoft? Более того, я не смог найти достоверной информации о диапазонах IP-адресов для регионов Databricks, которые можно было бы добавить в правила брандмауэра.


person Tuomas Tikka    schedule 03.01.2019    source источник


Ответы (2)


Да, Azure Databricks не считается надежной службой Microsoft, вы можете увидеть поддерживаемые доверенные службы Microsoft с брандмауэром учетной записи хранения.

От сети вот два предложения:

  1. Найдите IP-адрес центра обработки данных Azure и укажите регион где расположены ваши Azure Databricks. Добавьте список IP-адресов в белый список брандмауэра учетной записи хранения.

  2. Разверните Azure Databricks в виртуальной сети Azure (предварительная версия) затем занесите в белый список диапазон адресов виртуальной сети в брандмауэре учетной записи хранения. Вы можете обратиться к настройке брандмауэров службы хранилища Azure и виртуальных сетей. Кроме того, у вас есть группа безопасности сети для ограничения входящего и исходящего трафика из этой виртуальной сети Azure. Примечание. Вам необходимо развернуть Azure Databricks в собственной виртуальной сети.

Надеюсь это поможет.

person Nancy Xiong    schedule 03.01.2019
comment
Хорошо, я приму этот ответ. Внесение IP-адресов в белый список похоже на серьезное обслуживание, поэтому мы рассмотрим, как работать с виртуальными сетями. Спасибо. - person Tuomas Tikka; 03.01.2019
comment
Если вы собираетесь работать с виртуальными сетями, вам необходимо развернуть Azure Databricks в своей собственной виртуальной сети. - person Nancy Xiong; 04.01.2019

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

Включение упомянутого исключения не работает, поскольку Azure Databricks отсутствует в списке доверенных служб для хранилища BLOB-объектов. См. Следующую документацию, которая обслуживает по-прежнему может получить доступ к учетной записи хранения с включенным исключением.

person Hauke Mallow    schedule 03.01.2019