Использование Azure сеть доставки содержимого с SAS
Внимание
Azure CDN standard от Корпорации Майкрософт (классическая версия) будет прекращена 30 сентября 2027 г. Чтобы избежать нарушений работы службы, важно перенести профили Azure CDN уровня "Стандартный" от Майкрософт (классический) на уровень Azure Front Door standard или Premium к 30 сентября 2027 года. Дополнительные сведения см. в статье Azure CDN Standard от майкрософт (классическая версия).
Azure CDN из Эдгио будет прекращено 4 ноября 2025 г. Перед этой датой необходимо перенести рабочую нагрузку в Azure Front Door. Дополнительные сведения см. в статье Azure CDN из Edgio для выхода на пенсию.
При настройке учетной записи хранения для Azure сеть доставки содержимого использовать для кэширования содержимого по умолчанию любой пользователь, который знает URL-адреса контейнеров хранилища, может получить доступ к загруженным файлам. Чтобы защитить файлы в своей учетной записи хранения, можно изменить параметры доступа к контейнерам хранилища, сделав их частными, а не общедоступными. Однако при этом никто не сможет получить доступ к файлам.
Если вы хотите предоставить ограниченный доступ к частным контейнерам хранилища, то можете использовать функцию подписанных URL-адресов (SAS) учетной записи хранения Azure. SAS — это URI, который предоставляет ограниченные права доступа к ресурсам хранилища Azure, не отображая ключ вашей учетной записи. Вы можете предоставить SAS клиентам, которым вы не доверяете ключ учетной записи хранения, но которым вы хотите делегировать доступ к определенным ресурсам учетной записи хранения. Распространяя URI подписанного URL-адреса для этих клиентов, вы предоставляете им доступ к ресурсу в течение определенного периода времени.
SAS дает возможность определить различные параметры доступа к большому двоичному объекту, такие как время запуска и срок действия, разрешения (на чтение и запись) и диапазоны IP-адресов. В этой статье описывается, как использовать SAS с Azure сеть доставки содержимого. Дополнительные сведения о SAS, включая данные о его создании и настройке параметров, см. в статье Использование подписанных URL-адресов (SAS).
Настройка Azure сеть доставки содержимого для работы с SAS хранилища
Для использования SAS с azure сеть доставки содержимого рекомендуется использовать следующие два варианта. Все параметры предполагают, что вы уже создали рабочий SAS (см. предварительные требования).
Необходимые компоненты
Для начала создайте учетную запись хранения, а затем создайте SAS для ресурса. Вы можете создать два типа подписанных URL-адресов: SAS службы или учетной записи. Дополнительные сведения см. в разделе Типы подписанных URL-адресов.
После создания маркера SAS можно обращаться к файлу в хранилище BLOB-объектов, добавляя ?sv=<SAS token>
в URL-адрес. Этот URL-адрес имеет следующий формат.
https://<account name>.blob.core.windows.net/<container>/<file>?sv=<SAS token>
Например:
https://democdnstorage1.blob.core.windows.net/container1/demo.jpg?sv=2017-07-29&ss=b&srt=co&sp=r&se=2038-01-02T21:30:49Z&st=2018-01-02T13:30:49Z&spr=https&sig=QehoetQFWUEd1lhU5iOMGrHBmE727xYAbKJl5ohSiWI%3D
Дополнительные сведения о настройке параметров см. в рекомендациях по параметрам SAS и параметрах подписанного URL-адреса.
Вариант 1. Использование SAS с сквозной передачей в хранилище BLOB-объектов из Azure сеть доставки содержимого
Этот параметр является самым простым и использует один маркер SAS, который передается из Azure сеть доставки содержимого на сервер-источник.
Выберите конечную точку, щелкните Правила кеширования, затем выберите Кэшировать каждый уникальный URL-адрес из списка Query string caching (Кэширование строк запросов).
После настройки SAS в учетной записи хранения необходимо использовать маркер SAS с URL-адресами конечной точки сети доставки содержимого и URL-адресами сервера-источника для доступа к файлу.
Полученный URL-адрес конечной точки сети доставки содержимого имеет следующий формат:
https://<endpoint hostname>.azureedge.net/<container>/<file>?sv=<SAS token>
Например:
https://demoendpoint.azureedge.net/container1/demo.jpg?sv=2017-07-29&ss=b&srt=c&sp=r&se=2027-12-19T17:35:58Z&st=2017-12-19T09:35:58Z&spr=https&sig=kquaXsAuCLXomN7R00b8CYM13UpDbAHcsRfGOW3Du1M%3D
Точная настройка длительности кэширования выполняется либо с помощью правил кеширования, либо путем добавления заголовков
Cache-Control
на сервер-источник. Так как Azure сеть доставки содержимого обрабатывает маркер SAS как строку обычного запроса, рекомендуется настроить длительность кэширования, которая истекает или до истечения срока действия SAS. В противном случае, если файл кэшируется в течение длительного периода, чем SAS, файл может быть доступен из сервера источника Azure сеть доставки содержимого после истечения срока действия SAS. В этом случае, если вы хотите сделать кэшированный файл недоступным, выполните операцию очистки кэша в файле. Сведения о настройке длительности кэша в Azure сеть доставки содержимого см. в статье Управление поведением кэширования сеть доставки содержимого Azure с помощью правил кэширования.
Вариант 2. Использование проверки подлинности маркера безопасности сети доставки содержимого с правилом перезаписи
Чтобы использовать проверку подлинности маркера безопасности Azure сеть доставки содержимого, необходимо иметь Azure CDN Premium из профиля Edgio. Этот вариант является наиболее безопасным и настраиваемым. Клиентский доступ основан на параметрах безопасности, установленных для маркера безопасности. После создания и настройки маркера безопасности требуется для всех URL-адресов конечной точки доставки содержимого. Однако из-за правила переопределения URL-адресов маркер SAS не требуется в конечной точке сети доставки содержимого. Если маркер SAS позже становится недействительным, Azure сеть доставки содержимого не может повторно изменить содержимое с исходного сервера.
Создайте маркер безопасности Azure сеть доставки содержимого и активируйте его с помощью обработчика правил для конечной точки сети доставки содержимого и пути, где пользователи могут получить доступ к файлу.
URL-адрес конечной точки с маркером безопасности имеет следующий формат:
https://<endpoint hostname>.azureedge.net/<container>/<file>?<security_token>
Например:
https://sasstoragedemo.azureedge.net/container1/demo.jpg?a4fbc3710fd3449a7c99986bkquaXsAuCLXomN7R00b8CYM13UpDbAHcsRfGOW3Du1M%3D
Параметры аутентификации на основе маркера безопасности отличаются от параметров маркера SAS. Если вы решите использовать срок действия при создании маркера безопасности, установите для него то же значение, что и для срока действия маркера SAS. Это обеспечит прогнозируемость срока окончания действия.
Используйте обработчик правил, чтобы создать правило переопределения URL-адресов и разрешить доступ с маркером SAS ко всем большим двоичным объектам в контейнере. Распространение новых правил может длиться до 4 часов.
Ниже приведен пример правила переопределения URL-адресов, в котором используется шаблон регулярного выражения с группой записи и конечной точкой sasstoragedemo.
Источник:
(container1/.*)
Назначение:
$1&sv=2017-07-29&ss=b&srt=c&sp=r&se=2027-12-19T17:35:58Z&st=2017-12-19T09:35:58Z&spr=https&sig=kquaXsAuCLXomN7R00b8CYM13UpDbAHcsRfGOW3Du1M%3D
При продлении SAS убедитесь, что вы обновляете правило переопределения URL-адресов новым маркером SAS.
Рекомендации по настройке параметров SAS
Так как параметры SAS не отображаются в Azure сеть доставки содержимого, Azure сеть доставки содержимого не может изменить его поведение доставки на основе них. Определенные ограничения параметров применяются только к запросам, которые Azure сеть доставки содержимого выполняет на сервер-источник, а не для запросов от клиента к Azure сеть доставки содержимого. Это различие следует учитывать при настройке параметров SAS. Если эти расширенные возможности необходимы, и вы используете вариант 2, задайте соответствующие ограничения для маркера безопасности Azure сеть доставки содержимого.
Имя параметра SAS | Description |
---|---|
Начать | Время начала доступа к файлу BLOB-объектов в Azure сеть доставки содержимого. Из-за разницы в показаниях часов (когда сигнал времени поступает в разное время для различных компонентов) установите время на 15 минут раньше, если вы хотите, чтобы ресурс был доступен немедленно. |
Завершить | Время, после которого Azure сеть доставки содержимого больше не может получить доступ к файлу BLOB-объекта. Ранее кэшированные файлы в Azure сеть доставки содержимого по-прежнему доступны. Чтобы управлять сроком действия файла, задайте соответствующее время истечения срока действия в маркере безопасности Azure сеть доставки содержимого или очистите ресурс. |
Разрешенные IP-адреса | Необязательно. Если вы используете Azure CDN из Edgio, этот параметр можно задать для диапазонов, определенных в Azure сеть доставки содержимого из диапазонов IP-адресов сервера Edgio Edge. |
Разрешенные протоколы | Протоколы, разрешенные для запроса, сделанного с помощью SAS учетной записи. Рекомендуется использовать параметр HTTPS. |
Следующие шаги
Дополнительные сведения о SAS доступны в следующих статьях:
- Использование подписанных URL-адресов (SAS)
- Подписанные URL-адреса. Часть 2: создание и использование подписанного URL-адреса в службе BLOB-объектов
Дополнительные сведения о настройке аутентификации на основе маркеров см. в разделе Защита ресурсов сети доставки содержимого Azure с помощью аутентификации на основе маркеров.