Amazon S3 域级隐私

Amazon S3 domain level privacy

我必须使用 Amazon S3 来存储由 Camtasia 创建的交互式视频文件。然后我必须在特定域上使用 iframe 的网站上显示这些视频,而无需转换这些文件 public。这是 Vimeo 的一项功能,称为域级隐私,这意味着您可以选择要允许嵌入视频的特定网站。

如何在 Amazon S3 上实现它?

我已经达到了可以通过这种方式使用存储桶策略控制文件访问的地步:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::mybucket/*",
            "Condition": {
                "StringLike": {
                    "aws:Referer": "http://myurl.hu/*"
                }
            }
        }
    ]
}

如果我在 iframe 中调用单个文件会很好,但我必须获得一个 .html 文件,其中包含指向同一存储桶目录中其他 .js 文件的链接。然后我得到了 403 代码。

问题已解决。

iframe 重新定义了 "referer",这就是亚马逊屏蔽其中来源的原因。