Создание маркеров SAS для контейнеров хранилища
Из этой статьи вы узнаете, как создать делегирование пользователей, маркеры подписанного URL-адреса (SAS) с помощью портал Azure или обозревателя служба хранилища 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. Если ее нет, можно создать бесплатную учетную запись.
Ресурс Переводчика.
Учетная запись Хранилища BLOB-объектов Azure с производительностью уровня "Стандартный". Кроме того, необходимо создать контейнеры для хранения и упорядочивания файлов в учетной записи хранения. Если вы не знаете, как создать учетную запись хранения Azure с контейнером хранилища, следуйте этим кратким руководствам:
- Создание учетной записи хранения. При создании учетной записи хранения выберите уровень производительности Стандартныйв поле Сведения об экземпляре>Производительность.
- Создание контейнера. При создании контейнера в окне Создание контейнера установите для поля Уровень общего доступа значение Контейнер (анонимный доступ на чтение для контейнеров и файлов).
Создание маркеров SAS на портале Azure
Перейдите к портал Azure и перейдите к контейнеру или конкретному файлу, как показано ниже, и выполните следующие действия:
Создание маркера SAS для контейнера | Создание маркера SAS для определенного файла |
---|---|
Учетная запись хранения → Контейнеры → ваш контейнер. | Учетная запись хранения → Контейнеры → ваш контейнер → ваш файл. |
Щелкните правой кнопкой мыши контейнер или файл и выберите Создать 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-адресу службы хранилища.
Создание маркеров SAS с помощью Обозревателя службы хранилища Azure
Обозреватель службы хранилища Azure — это бесплатное отдельное приложение, с помощью которого можно с легкостью управлять ресурсами в облачном хранилище Azure с вашего компьютера.
Вам потребуется приложение служба хранилища Azure Explorer, установленное в среде разработки Windows, macOS или Linux.
После установки приложения "Обозреватель службы хранилища Azure" подключите его к учетной записи хранения, которую вы используете для функции "Перевод документов". Выполните следующие действия, чтобы создать маркеры для контейнера хранилища или конкретного файла BLOB-объектов:
Откройте приложение Обозревателя службы хранилища Azure на локальном компьютере и перейдите к подключенным учетным записям хранения.
Разверните узел "Учетные записи хранения" и выберите Контейнеры больших двоичных объектов.
Разверните узел "Контейнеры больших двоичных объектов" и щелкните правой кнопкой мыши узел контейнера хранилища, чтобы открыть меню "Параметры".
В меню "Параметры" выберите Подписанный URL-адрес.
В окне Подписанный URL-адрес сделайте следующее.
- Выберите Политика доступа (значение по умолчанию — "Нет").
- Укажите дату и время начала и окончания срока действия подписанного ключа. Рекомендуется использовать короткий срок существования, поскольку отозвать созданный SAS невозможно.
- Выберите Часовой пояс для даты/времени начала и окончания срока действия (по умолчанию выбрано местное время).
- Определите разрешения контейнера, установив или сняв соответствующий флажок.
- Проверьте настройки и нажмите Создать.
Откроется новое окно с именем контейнера, URI и строкой запроса для контейнера.
Скопируйте значения контейнера, URI и строки запроса и вставьте в безопасное место. Они будут показаны только один раз, и вы не сможете получить их после закрытия окна.
Чтобы создать URL-адрес SAS, добавьте маркер SAS (URI) к URL-адресу службы хранилища.
Предоставление доступа с помощью подписанного URL-адреса
Подписанный URL-адрес включает специальный набор параметров запроса. Эти параметры указывают, как клиент обращается к ресурсам.
Подписанный URL-адрес можно включить в запросы REST API двумя способами:
Используйте подписанный URL-адрес в качестве значений sourceURL и targetURL.
Добавьте строку запроса SAS к существующим значениям sourceURL и targetURL.
Ниже приведен пример запроса REST API:
{
"inputs": [
{
"storageType": "File",
"source": {
"sourceUrl": "https://my.blob.core.windows.net/source-en/source-english.docx?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D"
},
"targets": [
{
"targetUrl": "https://my.blob.core.windows.net/target/try/Target-Spanish.docx?sv=2019-12-12&st=2021-01-26T18%3A31%3A11Z&se=2021-02-05T18%3A31%3A00Z&sr=c&sp=wl&sig=AgddSzXLXwHKpGHr7wALt2DGQJHCzNFF%2F3L94JHAWZM%3D",
"language": "es"
},
{
"targetUrl": "https://my.blob.core.windows.net/target/try/Target-German.docx?sv=2019-12-12&st=2021-01-26T18%3A31%3A11Z&se=2021-02-05T18%3A31%3A00Z&sr=c&sp=wl&sig=AgddSzXLXwHKpGHr7wALt2DGQJHCzNFF%2F3L94JHAWZM%3D",
"language": "de"
}
]
}
]
}
Вот и все! Вы только что узнали, как создать маркеры SAS для авторизации доступа клиентов к данным.