限制存储在S3上的视频只能从Android应用

时间:2017-07-15 21:42:34

标签: android amazon-s3 video-streaming amazon-cloudfront

流程:

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

============================

设置:

  • 存储在AWS S3上的视频

  • 视频应仅可访问Android APP

=============================

到目前为止我发现的方式:

  1. 将CloudFront与已签名的网址一起使用 - 问题 - 如果有人访问签名的URL,则他/她可以访问该内容。如果视频长度超过确定的时间,那么签名的URL有效一段时间,是什么?
  2. 将CloudFront和Cookie用于网址 问题 - 我应该在Android上生成cookie还是应该正确的流程?

1 个答案:

答案 0 :(得分:2)

使用CloudFront签名的网址。

到期时间仅在Web发行版下载的开始处进行检查,因此只需要足够长的时间来启动下载。如果此后URL过期,CloudFront不会中断下载。见When Does CloudFront Check the Expiration Time of a Signed URL?

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

此外,如果您使用custom policy而不是预设策略,则可以生成仅在从单个客户端IP地址使用时有效的签名URL。如果您仍然担心未经授权使用已签名的网址,请添加此内容。

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