Как сгенерировать токен SAS для подключения к учетной записи хранения Azure - файловый ресурс?

Чтобы подключиться к общему хранилищу Azure (в частности, к общему файловому ресурсу) для выполнения таких задач, как копирование / удаление / изменение файлов с удаленного хранилища на Azure, нам потребуется либо SAS (общая подпись доступа), либо включены параметры Active Directory (а затем назначить роли на основе по требованию).

Я хотел реализовать доступ с использованием подхода SAS, я попытался сгенерировать SAS из пользовательского интерфейса, попытался создать SAS с использованием ключей доступа (Present Inside Storage Account - конфиденциальный и самый важный ключ для учетной записи хранения), оба работали. Но подход пользовательского интерфейса в моем случае не подходит, и токен доступа не может быть отдан никому, кроме администратора.

Итак, есть ли способ сгенерировать SAS с использованием учетных данных Azure AD или какой-либо службы, где мы можем создать учетную запись и пароль / ключ, и эту учетную запись можно использовать для создания токена SAS с помощью curl (вызов REST), а не для создания SAS с помощью ключей доступа (администратор ключ).


person mozilla_firefox    schedule 18.06.2021    source источник
comment
Правильно ли я понимаю, что вы хотите, чтобы пользователи могли создавать для себя соответствующие токены SAS, не предоставляя им полный доступ ко всей учетной записи хранения?   -  person Manuel Batsching    schedule 18.06.2021
comment
да, я хочу, чтобы пользователь мог писать только в свою папку или общую папку, а не контролировать учетную запись хранения в целом.   -  person mozilla_firefox    schedule 18.06.2021


Ответы (2)


Сложная часть состоит в том, чтобы позволить вашим пользователям создавать токены sas для общего файлового ресурса, не предоставляя им разрешений для всей учетной записи хранения.

Вы можете использовать приложение среднего уровня, которое создает токен SAS и позволяет пользователям использовать это приложение. Например, можно использовать лазурную функцию с триггером HTTP. Вы предоставляете лазурной функции доступ к учетной записи хранения с помощью управляемого удостоверения службы и защищаете доступ к функции Azure либо с помощью Active Directory, либо с помощью функционального ключа, который вы раздаете своим пользователям.

person Manuel Batsching    schedule 18.06.2021
comment
да, мне пришлось использовать приложение среднего уровня, так как я не мог придумать простой способ предоставить доступ. Спасибо ! - person mozilla_firefox; 23.06.2021

Вы можете попробовать такой подход:

Маркер SAS для доступа к контейнеру, каталогу или BLOB-объекту можно защитить с помощью учетных данных Azure AD или ключа учетной записи. Microsoft рекомендует использовать учетные данные Azure AD, когда это возможно, в качестве наилучшей практики безопасности, а не использовать ключ учетной записи, который может быть легче скомпрометирован. Если в дизайне приложения требуются подписи общего доступа, используйте учетные данные Azure AD для создания SAS делегирования пользователей для обеспечения максимальной безопасности.

Создайте делегирование пользователей SAS

Создайте ключ делегирования пользователя:

POST https://myaccount.blob.core.windows.net/?restype=service&comp=userdelegationkey
person Juanma Feliu    schedule 18.06.2021