Amazon S3 存储桶策略引用
Posted
技术标签:
【中文标题】Amazon S3 存储桶策略引用【英文标题】:Amazon S3 Bucket Policy Referer 【发布时间】:2013-01-08 06:34:53 【问题描述】:我正在尝试编辑我的 S3 存储桶配置,以使第 3 方网站无法链接到其中的内容。还有一个额外的好处是他们只能访问我的域中的内容,而不是补充的 s3bucket.amazon-east.amazonaws.com 或类似的东西。
文档中有一个完全适用于此的示例,但是当我在下面为我的网站复制/粘贴/修改时它不起作用?我仍然收到 403 错误。当我只取出条件部分时,它允许完全访问,所以只有引用部分存在问题。
这么短的代码让我头疼不已……希望第二双眼睛能启发我发现我可能很明显遗漏的东西?
或者,这可能没有任何问题,并且其他地方可能还有我没有设置/考虑的其他配置?
感谢阅读。
"Version": "2008-10-17",
"Statement": [
"Sid": "fml",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::www.mysite.com/*",
"Condition":
"StringLike":
"aws:Referer": [
"http://mysite.com/*",
"http://www.mysite.com/*"
]
]
【问题讨论】:
你有没有找到解决方案。我遇到了同样的问题,文档很糟糕 【参考方案1】:您是否为您的存储桶启用了日志记录?
如果您这样做,您可以检查日志以验证引用者是否与那些 403 Access Denied 消息一起被记录,并且这是您所期望的。如果不是,那么问题不在于存储桶配置——而是为什么浏览器没有发送引荐来源网址的问题。
如果您没有启用日志记录,则启用日志记录。
另外一个好处是他们只能访问我的域中的内容,而不是补充的 s3bucket.amazon-east.amazonaws.com 或类似的东西。
是什么让你认为这是真的?
【讨论】:
【参考方案2】:请务必注意,如果您的引荐来源网址末尾包含 /*,那么它将只允许来自该引荐来源网址的孩子的内容,而不是来自该引荐来源网址本身的内容。
因此,如果您还想包含您的主域,那么您需要这样做:
"aws:Referer": [
"http://example.com",
"http://example.com/*",
"http://www.example.com",
"http://www.example.com/*"
]
【讨论】:
以上是关于Amazon S3 存储桶策略引用的主要内容,如果未能解决你的问题,请参考以下文章
Amazon S3 存储桶策略:如何锁定仅访问您的 EC2 实例