Маркеры SAS для контейнеров хранилища
Узнайте, как создать делегирование пользователей, маркеры подписанного URL-адреса (SAS) с помощью портал Azure. Маркеры SAS делегирования пользователей защищены учетными данными Microsoft Entra. Маркеры SAS обеспечивают безопасный делегированный доступ к ресурсам в учетной записи хранения Azure.
Совет
Управление доступом на основе ролей (управляемые удостоверения) предоставляет альтернативный метод предоставления доступа к данным хранилища без необходимости включать маркеры SAS с HTTP-запросами.
- Управляемые удостоверения можно использовать для предоставления доступа к любому ресурсу, поддерживающему проверку подлинности Microsoft Entra, включая собственные приложения.
- Использование управляемых удостоверений заменяет требование для включения маркеров подписи общего доступа (SAS) на URL-адреса источника и целевого объекта.
- Дополнительная плата за использование управляемых удостоверений в Azure не взимается.
Вот как в общих чертах работают маркеры SAS:
Приложение отправляет маркер SAS в службу хранилища Azure в рамках запроса REST API.
Если служба хранилища подтверждает, что SAS допустимый, выполнение запроса разрешается.
Если маркер SAS считается недействительным, запрос отклоняется и возвращается код ошибки 403 (запрещено).
В хранилище BLOB-объектов Azure предлагается три типа ресурсов:
- Учетные записи хранения предоставляют для ваших данных уникальное пространство имен в Azure.
- Контейнеры хранения данных находятся в учетных записях хранения и упорядочивают наборы BLOB-объектов (файлы, текст или изображения).
- BLOB-объекты находятся в контейнерах и хранят текстовые и двоичные данные, такие как файлы, текст и изображения.
Внимание
Маркеры SAS используются для предоставления разрешений на доступ к ресурсам хранилища и должны быть защищены так же, как и ключ учетной записи.
Операции, использующие маркеры SAS, должны выполняться только по соединению HTTPS, а сами URI подписанных URL-адресов должны распространяться только по безопасным соединениям, таким как HTTPS.
Необходимые компоненты
Чтобы приступить к работе, вам потребуется следующее:
Активная учетная запись Azure. Если ее нет, можно создать бесплатную учетную запись.
Ресурс языка ИИ Azure.
Учетная запись Хранилища BLOB-объектов Azure с производительностью уровня "Стандартный". Кроме того, необходимо создать контейнеры для хранения и упорядочивания файлов в учетной записи хранения. Если вы не знаете, как создать учетную запись хранения Azure с контейнером хранилища, следуйте этим кратким руководствам:
- Создание учетной записи хранения. При создании учетной записи хранения выберите уровень производительности Стандартныйв поле Сведения об экземпляре>Производительность.
- Создание контейнера. При создании контейнера в окне Создание контейнера установите для поля Уровень общего доступа значение Контейнер (анонимный доступ на чтение для контейнеров и файлов).
Создание маркеров SAS на портале Azure
Перейдите к портал Azure и перейдите к контейнеру или конкретному файлу, как показано ниже, и выполните следующие действия:
Рабочий процесс. Контейнеры → учетной записи хранения → контейнера → файла
Щелкните правой кнопкой мыши контейнер или файл и выберите Создать SAS в раскрывающемся меню.
Выберите Метод подписывания → Ключ делегирования пользователя.
Определите разрешения, установив и (или) сняв соответствующий флажок:
Исходный файл должен назначить доступ для чтения и списка.
Целевой файл должен назначить доступ к записи и списку.
Укажите дату и время начала и окончания срока действия подписанного ключа.
- При создании подписанного URL-адреса (SAS) длительность по умолчанию составляет 48 часов. Через 48 часов вам потребуется создать новый маркер.
- Рекомендуется задать более длительный период времени, когда вы используете учетную запись хранения для операций языковой службы.
- Значение срока действия определяется тем, используется ли ключ учетной записи или метод подписывания ключа делегирования пользователей:
- Ключ учетной записи: не налагается максимальное ограничение времени. Однако рекомендуется настроить политику истечения срока действия, чтобы ограничить интервал и свести к минимуму компромисс. Настройте политику истечения срока действия для подписей общего доступа.
- Ключ делегирования пользователей: значение срока действия не более семи дней после создания маркера SAS. SAS недействителен после истечения срока действия ключа делегирования пользователей, поэтому SAS с истекающим сроком действия больше семи дней по-прежнему будет действителен только в течение семи дней. Дополнительные сведения см. в статье "Использование учетных данных Microsoft Entra для защиты SAS".
Поле Разрешенные IP-адреса является необязательным. В нем указывается IP-адрес или диапазон IP-адресов, из которых принимаются запросы. Если IP-адрес запроса не соответствует IP-адресу или диапазону адресов, указанному в маркере SAS, авторизация завершается ошибкой. IP-адрес или диапазон IP-адресов должен быть общедоступным IP-адресом, а не частным. Дополнительные сведения см. в разделе "Указание IP-адреса" или диапазона IP-адресов.
Поле Разрешенные протоколы является необязательным и указывает протокол, разрешенный для запроса, созданного с помощью SAS. Значение по умолчанию — HTTPS.
Проверьте настройки и нажмите Создать маркер SAS и URL-адрес.
Строка запроса маркера BLOB-объектов и URL-адрес SAS BLOB-объектов отображаются в нижней области окна.
Скопируйте значения маркера SAS большого двоичного объекта и URL-адреса и вставьте их в безопасное место. Они будут показаны только один раз, и вы не сможете получить его после закрытия окна.
Чтобы создать URL-адрес SAS, добавьте маркер SAS (URI) к URL-адресу службы хранилища.
Предоставление доступа с помощью подписанного URL-адреса
Подписанный URL-адрес включает специальный набор параметров запроса. Эти параметры указывают, как клиент обращается к ресурсам.
Подписанный URL-адрес можно включить в запросы REST API двумя способами:
Используйте подписанный URL-адрес в качестве значений sourceURL и targetURL.
Добавьте строку запроса SAS к существующим значениям sourceURL и targetURL.
Ниже приведен пример запроса REST API:
{
"analysisInput": {
"documents": [
{
"id": "doc_0",
"language": "en",
"source": {
"location": "myaccount.blob.core.windows.net/sample-input/input.pdf?{SAS-Token}"
},
"target": {
"location": "https://myaccount.blob.core.windows.net/sample-output?{SAS-Token}"
}
}
]
}
}
Вот и все! Вы узнали, как создать маркеры SAS для авторизации доступа клиентов к данным.