Amazon CloudFront 与 S3 --> 按域限制访问?

Amazon CloudFront vs. S3 --> restrict access by domain?

在 Amazon S3 上,您可以按域限制对存储桶的访问。

但据我从一位乐于助人的 Whosebug 用户那里了解到,您不能在 CloudFront 上执行此操作。但为什么?如果我是正确的,CloudFront 只允许基于时间的限制或 IP 限制(--> 所以我需要知道随机访问者的 IP ..?)还是我遗漏了什么?

这里引用了 S3 文档中的一段话,表明每个域的限制是可能的:

---> "要允许从您的网站读取这些对象,您可以添加一个允许 s3:GetObject 权限的存储桶策略,使用 aws:referer 键,获取请求必须来自特定网页。“

--> 有没有办法让这个方法也适用于 CloudFront?或者为什么像这样的东西在 CloudFront 上不可用?

--> 是否有类似的服务可以做到这一点,更容易设置?

结合使用 CloudFront 和 WAF(Web 应用程序防火墙),您可以根据 IP 地址、引荐来源网址或域限制请求。

这是一个关于限制 "hotlinking".

的 AWS 博客教程

https://blogs.aws.amazon.com/security/post/Tx2CSKIBS7EP1I5/How-to-Prevent-Hotlinking-by-Using-AWS-WAF-Amazon-CloudFront-and-Referer-Checkin

在此示例中,它禁止 Referrer: header 与特定域不匹配的请求。