Как разрешить безопасный доступ ко всем BLOB-объектам в контейнере? - PullRequest
0 голосов
/ 09 мая 2019

У меня есть несколько динамических файлов в хранилище BLOB-объектов Azure, которые создаются службой.

Я бы хотел, чтобы мой прокси-сервер, находящийся впереди, имел доступ к любым этим BLOB-файлам в контейнере

Есть ли способ, которым я могу сделать это, не делая общедоступным весь контейнер больших двоичных объектов или не генерируя токены SAS для каждого отдельного большого двоичного объекта?

Является ли лучший подход к Shared Key ?

Любой совет будет принят с благодарностью.

Спасибо!

Ответы [ 2 ]

0 голосов
/ 13 мая 2019

Поскольку вы используете Функция Azure , существует несколько возможных подходов:

  • Использование SAS Token является правильным подходом. Обеспечивает детальный доступ на уровне BLOB-объектов.

    • Вы можете сохранить строку подключения учетной записи хранения в настройках приложения функции-приложения. Использование ключа доступа к учетной записи хранения дает разрешение super admin на все хранилище. Если вы поворачиваете ключ доступа к учетной записи хранения, вам также придется обновить строку подключения в настройках приложения-функции.
    • Вы также можете сохранить строку подключения внутри Хранилище ключей Azure и получить к нему доступ из приложения функций, используя Управляемый идентификатор .
  • Учетная запись хранилища Azure теперь поддерживает RBAC . Это означает, что вы можете разрешить доступ вашего приложения-функции к чтению для определенного контейнера:

    Проверка подлинности доступа к BLOB-объектам и очередям с помощью Azure Active Directory и управляемых удостоверений для ресурсов Azure

Из Документация Microsoft :

Аутентификация пользователей или приложений с использованием учетных данных Azure AD обеспечивает превосходную безопасность и простоту использования по сравнению с другими средствами авторизации. Хотя вы можете продолжать использовать авторизацию с помощью общего ключа в своих приложениях, использование Azure AD позволяет обойтись без сохранения ключа доступа к вашей учетной записи вместе с кодом. Вы также можете продолжать использовать подписи общего доступа (SAS) для предоставления детального доступа к ресурсам в вашей учетной записи хранения, но Azure AD предлагает аналогичные возможности без необходимости управлять токенами SAS или беспокоиться об отзыве скомпрометированного SAS. Microsoft рекомендует по возможности использовать аутентификацию Azure AD для своих приложений хранилища Azure .

0 голосов
/ 09 мая 2019

Будет ли ваш прокси иметь публичный IP?Если это так, настройте контейнер больших двоичных объектов с включенным анонимным доступом и включите брандмауэр хранилища Azure , добавив публичный IP-адрес прокси-сервера в белый список, чтобы убедиться, что только ваш прокси-сервер сможет получить доступ к контейнеру больших двоичных объектов.Это будет простой способ, я думаю.

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

https://docs.microsoft.com/en-us/azure/storage/common/storage-auth-aad

https://docs.microsoft.com/en-us/rest/api/storageservices/authenticate-with-azure-active-directory

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...