Использование Azure сеть доставки содержимого с SAS
При настройке учетной записи хранения для 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 с помощью аутентификации на основе маркеров.