限制对Amazon S3 URL的全局访问

时间:2014-12-22 02:10:10

标签: amazon-web-services amazon-s3

我已经使用CloudFront配置了一个S3存储桶,并使用了CludFront提供的备用域名(我在DNS区域文件中设置了域别名images.mydomain.com)。 在我的DNS主机上,CNAME我指向xyz.cloudfront.net。我的s3存储桶名称和CNAME域别名都是images.mydomain.com。

我希望世界能够在images.mydomain.com/image.jpg上访问我的图片,这非常有效。

问题是世界可以通过以下两个网址直接访问相同的资源,我也不希望这种情况发生。我只想image.mydomain.com/image.jpg为世界而不是下面的两个工作。

images.mydomain.com.s3.amazonaws.com/image.jpg s3.amazonaws.com/images.mydomain.com/image.jpg

我如何实现这一目标?请帮忙。

1 个答案:

答案 0 :(得分:1)

http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html

  

您可以通过创建原始访问来限制对Amazon S3内容的访问   identity,这是一个特殊的CloudFront用户。您更改了Amazon S3   权限授予访问权限的原始访问权限   您的对象,以及从其他人删除权限。当你的   用户使用CloudFront URL访问您的Amazon S3对象   CloudFront原始访问标识获取用户的对象   代表。如果您的用户尝试使用Amazon S3 URL访问对象,   他们被拒绝进入。原始访问标识具有权限   访问Amazon S3存储桶中的对象,但用户不访问。