将存储在 S3 上的视频限制为只能从 Android 应用程序访问



Flow:

  • 应用将授权的 API 请求发送到服务器以获取视频列表
  • 服务器返回网址

====

============================设置:

  • 存储在 AWS S3 上的视频

  • 视频应该只能访问安卓应用程序

====

===============================到目前为止我发现的方法:

  1. 将 CloudFront 与签名 URL 结合使用 - 问题 - 如果有人可以访问签名 URL,那么他/她可以访问内容。如果视频长度超过决定的时间,签名 URL 也有效一段时间,然后呢?
  2. 将 CloudFront 和 Cookie 用于 URL 问题 - 我应该在安卓上生成 cookie 还是正确的流程?

使用 CloudFront 签名 URL。

对于 Web 发行版,仅在下载开始时检查过期时间,因此它只需要足够长的有效期即可开始下载。 如果 URL 在此之后过期,CloudFront 不会中断下载。请参阅 CloudFront 何时检查签名 URL 的过期时间?

较短的过期时间和一起使用HTTPS可以有效地解决URL被发现和重用的问题。

此外,如果使用自定义策略而不是标准策略,则可以生成仅在从单个客户端 IP 地址使用时才有效的签名 URL。 如果您仍然担心未经授权使用您的签名 URL,请添加此项。

签名 Cookie 并不比签名 URL 更安全。

最新更新