Есть несколько различных способов делегировать доступ к ресурсам в Azure. Один из способов – через токен Shared Access Signature (SAS). Токен SAS – это способ гранулированного контроля за тем, как клиент может получить доступ к данным в Azure. Вы можете управлять многими вещами, такими как ресурсы, к которым клиент может получить доступ, разрешения клиента, срок действия токена и многое другое.
Один из распространенных способов использования токена SAS – обеспечение безопасности учетных записей хранения Azure с использованием account SAS.
В этой статье вы узнаете, как создать токен SAS Azure как через портал Azure, так и через PowerShell. Когда вы закончите, у вас будет токен SAS, который затем можно передать различным клиентским командам для аутентификации и авторизации управления хранением Azure.
Предварительные требования
В этой статье вы научитесь выполнять несколько различных задач. Если вы хотите следовать за мной, убедитесь, что у вас есть следующие предварительные требования.
- Подписка Azure. Если у вас ее еще нет, вы можете запросить пробную подписку.
- Учетная запись хранения Azure. Пожалуйста, обратитесь к Создание учетной записи хранения, чтобы узнать больше.
- Модуль Az PowerShell (необязательно). Это требуется только в случае, если вы собираетесь создавать токены общего доступа с помощью PowerShell
- Windows PowerShell 5.1 или PowerShell Core 6+, если создаете токен SAS через PowerShell
Генерация токена SAS с использованием портала Azure
Самый простой способ сгенерировать токен SAS – использовать портал Azure. При использовании портала Azure вы можете навигироваться по различным опциям графически.
Для создания токена через портал Azure сначала перейдите к хранилищу, к которому вы хотите получить доступ, в разделе Настройки, затем нажмите Общий доступ. Ниже вы можете увидеть пример того, как это может выглядеть.
Существует много разрешений, которые вы можете предоставить для токенов SAS, а также времена начала/окончания. В этой статье вы назначите полные разрешения и оставите время истечения по умолчанию – восемь часов. Если вам нужно подробное объяснение каждого разрешения, ознакомьтесь с документацией Microsoft.
Оставьте все флажки по умолчанию и нажмите кнопку Создать токен SAS и строку подключения, как показано ниже.

Как только токен будет сгенерирован, вы увидите его в списке ниже кнопки Создать токен SAS и строку подключения, как показано ниже.

На этом этапе вы можете скопировать токен SAS и вставить его значение туда, где вам нужно его использовать.
Создание токена SAS с использованием PowerShell
Чтобы избежать необходимости входа в портал Azure или, возможно, если вам нужно сгенерировать токены SAS для множества хранилищных аккаунтов одновременно, вы можете использовать PowerShell. PowerShell использует REST API Azure для вызовов к Azure для генерации токена.
Для создания токена SAS через PowerShell сначала откройте консоль PowerShell и выполните аутентификацию с помощью Connect-AzAccount. После аутентификации найдите хранилищный аккаунт, к которому вы хотите получить доступ. Ниже вы можете увидеть пример запроса к хранилищному аккаунту с именем demo_account в ресурсной группе demo_rg. Используя значение $context
, вы передадите его команде генерации токена.
Как только будет найден контекст хранилищного аккаунта, создайте токен SAS с помощью команды New-AzStorageAccountSASToken
. Ниже приведен пример генерации токена SAS с полными правами для хранилищного аккаунта и всех его компонентов.
При создании токенов SAS с помощью
New-AzStorageAccountSASToken
токен будет действителен в течение одного часа. Если вы хотите продлить этот срок, вы можете использовать параметрExpiryTime
.
Ограничение разрешений токена SAS
Одна из причин использования токена SAS – предоставление доступа другим сторонам на ограниченный период времени и с определенным набором разрешений. В предыдущем примере был сгенерирован токен SAS с полными правами доступа. Предоставление полного доступа не всегда является оптимальным вариантом.
Параметр Service
определяет доступ к сервису или сервисам. Например, используйте blob
, чтобы разрешить доступ только к службе хранения блобов Azure. Другие сервисы включают Файл, Таблица и Очередь.
Параметр ResourceType
ограничивает доступ к определенным типам ресурсов. Используя значение контейнер
, например, разрешается доступ только к ресурсам контейнера. Другие допустимые типы ресурсов Сервис и Объект.
Параметр Permission
позволяет определить разрешенные разрешения. Укажите одно или несколько разрешений по мере необходимости. Значение rwd
эквивалентно предоставлению разрешений на чтение, запись и удаление. Другие допустимые значения разрешений (l)ist, (a)dd, (u)pdate и (p)rocess.
Использование токена SAS
Существует много способов использования сгенерированного токена SAS. Один из самых распространенных способов – использовать его в контексте хранения. Контекст хранения – это способ упаковки учетных данных, которые затем можно передавать различным командам.
A common way to use the SAS token is via PowerShell. Using the New-AzStorageContext
command that’s part of the Az PowerShell module. You can see an example below using the SAS token to upload a file to an existing storage container.
Аннотация
Создание токена SAS можно выполнить несколькими разными способами. В этой статье вы узнали о нескольких наиболее распространенных способах. После создания токен SAS может быть использован по-разному, но выбор способа зависит от вас.