Поделиться через


Маркеры SAS для контейнеров хранилища

Узнайте, как создать делегирование пользователей, маркеры подписанного URL-адреса (SAS) с помощью портал Azure. Маркеры SAS делегирования пользователей защищены учетными данными Microsoft Entra. Маркеры SAS обеспечивают безопасный делегированный доступ к ресурсам в учетной записи хранения Azure.

Снимок экрана: URL-адрес хранилища с добавленным маркером SAS.

Совет

Управление доступом на основе ролей (управляемые удостоверения) предоставляет альтернативный метод предоставления доступа к данным хранилища без необходимости включать маркеры 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 и перейдите к контейнеру или конкретному файлу, как показано ниже, и выполните следующие действия:

Рабочий процесс. Контейнеры → учетной записи хранения → контейнерафайла

  1. Щелкните правой кнопкой мыши контейнер или файл и выберите Создать SAS в раскрывающемся меню.

  2. Выберите Метод подписыванияКлюч делегирования пользователя.

  3. Определите разрешения, установив и (или) сняв соответствующий флажок:

    • Исходный файл должен назначить доступ для чтения и списка.

    • Целевой файл должен назначить доступ к записи и списку.

  4. Укажите дату и время начала и окончания срока действия подписанного ключа.

    • При создании подписанного URL-адреса (SAS) длительность по умолчанию составляет 48 часов. Через 48 часов вам потребуется создать новый маркер.
    • Рекомендуется задать более длительный период времени, когда вы используете учетную запись хранения для операций языковой службы.
    • Значение срока действия определяется тем, используется ли ключ учетной записи или метод подписывания ключа делегирования пользователей:
      • Ключ учетной записи: не налагается максимальное ограничение времени. Однако рекомендуется настроить политику истечения срока действия, чтобы ограничить интервал и свести к минимуму компромисс. Настройте политику истечения срока действия для подписей общего доступа.
      • Ключ делегирования пользователей: значение срока действия не более семи дней после создания маркера SAS. SAS недействителен после истечения срока действия ключа делегирования пользователей, поэтому SAS с истекающим сроком действия больше семи дней по-прежнему будет действителен только в течение семи дней. Дополнительные сведения см. в статье "Использование учетных данных Microsoft Entra для защиты SAS".
  5. Поле Разрешенные IP-адреса является необязательным. В нем указывается IP-адрес или диапазон IP-адресов, из которых принимаются запросы. Если IP-адрес запроса не соответствует IP-адресу или диапазону адресов, указанному в маркере SAS, авторизация завершается ошибкой. IP-адрес или диапазон IP-адресов должен быть общедоступным IP-адресом, а не частным. Дополнительные сведения см. в разделе "Указание IP-адреса" или диапазона IP-адресов.

  6. Поле Разрешенные протоколы является необязательным и указывает протокол, разрешенный для запроса, созданного с помощью SAS. Значение по умолчанию — HTTPS.

  7. Проверьте настройки и нажмите Создать маркер SAS и URL-адрес.

  8. Строка запроса маркера BLOB-объектов и URL-адрес SAS BLOB-объектов отображаются в нижней области окна.

  9. Скопируйте значения маркера SAS большого двоичного объекта и URL-адреса и вставьте их в безопасное место. Они будут показаны только один раз, и вы не сможете получить его после закрытия окна.

  10. Чтобы создать 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 для авторизации доступа клиентов к данным.

Следующие шаги