Недавно я начал изучать, как разные провайдеры CDN позволяют защищать ресурсы / файлы, которые они обслуживают.В частности, я заинтересован в подписывании URL-адресов токеном с ограниченным временем действия.
Вот еще немного о контексте.Тысячи пользователей будут использовать приложение на своих мобильных устройствах для доступа к вышеупомянутым ресурсам.В течение одного сеанса пользователь может работать с сотнями элементов, и вот некоторые требования, касающиеся безопасности:
- существуют частные активы (доступны только владельцам)
- общиеединицы (несколько человек могут просматривать актив)
- общедоступные (каждый пользователь может получить доступ)
- только владельцы будут иметь права на изменение состояния актива
- только для аутентифицированных пользователейдолжен иметь доступ к ресурсам, даже общедоступным
Используя CDN для извлечения элементов , я думал о предоставлении пользователям токена в URL, и многие поставщики CDN имеютэта особенность.Проблема заключается в том, что в соответствии с примерами, которые я видел, токен создается «для каждого актива» , поэтому, когда пользователь запрашивает, скажем, сотню элементов, серверная часть генерирует отдельный токен для каждого из них., , что, я сомневаюсь, будет эффективным с точки зрения производительности (?).
Потенциально я могу генерировать токены только один раз в течение некоторого периода времени, а затем сохранять их в кеше или хранилище данных, иобновите их в следующий раз, когда они будут извлечены и идентифицированы как просроченные, но это также не кажется лучшим способом сделать это.
Итак,
- Есть ли провайдеры CDN, которые будутразрешить генерировать токен только для части URL?Например, предоставить доступ ко всем URL-адресам, которые начинаются с ...?
- Есть предложения о других способах решения этой задачи?