通过CDN服务受保护的资产

vas*_*ily 11 cdn amazon-cloudfront

我们希望从少数可用的AWS区域提供大量视频文件.目标受众来自全球多个地点.连接速度无法保证.因此绝对需要CDN(最好是CloudFront).

视频需要受到保护,因此只有在用户通过身份验证并有权查看这些视频后才能播放.显然,谁可以看到什么和什么时候是应用程序的一部分的逻辑.从原点流式传输视频会慢得令人无法接受.使视频公开且可缓存也不是一种选择.

人们如何解决这类问题?

Ste*_*pel 11

Amazon CloudFront通过CloudFront提供服务私人内容以解决您的使用案例:

许多通过互联网分发内容的公司希望限制对选定用户(例如付费用户)的文档,业务数据,媒体流或内容的访问.要使用CloudFront安全地提供此私人内容,您可以:

  • 要求您的用户使用特殊的CloudFront签名URL来访问您的内容,而不是标准的CloudFront公共URL.

  • 要求您的用户使用CloudFront URL而非Amazon S3 URL访问您的Amazon S3内容.

应用程序可以生成和分发所需的签名URL,但是,考虑到谁可以看到应用程序逻辑的一部分和什么时间的逻辑,您似乎已为该部分做好了充分的准备.

请注意,您需要确保使用Origin Access Identity来限制对Amazon S3内容的访问,以便用户无法泄漏/猜测S3 URL,并且确实需要通过CloudFront.

如果您想使用CloudFront签名URL来访问Amazon S3存储桶中的对象,您可能还希望阻止用户使用Amazon S3 URL访问您的Amazon S3对象.如果用户直接在Amazon S3中访问您的对象,他们将绕过CloudFront签名URL提供的控制,包括控制URL何时到期以及控制可用于访问对象的IP地址.[...]

您可以通过创建原始访问标识来限制对Amazon S3内容的访问,该标识是特殊的CloudFront用户.您更改Amazon S3权限以授予原始访问身份访问对象的权限,并从其他所有人中删除权限.[...]

[强调我的]