Amazon web services 当使用公共可访问的S3存储桶时,如何避免与其他公共可访问的S3存储桶和对象名发生冲突?
我有一个S3 bucketAmazon web services 当使用公共可访问的S3存储桶时,如何避免与其他公共可访问的S3存储桶和对象名发生冲突?,amazon-web-services,amazon-s3,Amazon Web Services,Amazon S3,我有一个S3 bucketmy bucket,该bucketmy image.jpg 为了直接在S3之外的网站中显示这些图像,我将此bucket策略放在了my bucket: { "Version": "2008-10-17", "Statement": [ { "Sid": "AllowPublicRead", "Effect": "Allow", "Principal": {
my bucket
,该bucketmy image.jpg
为了直接在S3之外的网站中显示这些图像,我将此bucket策略放在了my bucket
:
{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "AllowPublicRead",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::my-bucket/*"
}
]
}
现在,在我的网站上,我可以方便地在我的HTML中执行此操作:
<img width="400" height="400"
src="https://s3.amazonaws.com/my-bucket/my-image.jpg">
但是,是什么阻止某人在某处公开自己的我的bucket
,并添加我的图像.jpg
?它将如何加载正确的图像?S3是否以某种方式处理这个问题
注意否,这些不是实际的存储桶名称+图像名称。它们是示例。来自
“您选择的bucket名称在Amazon S3中的所有现有bucket名称中必须是唯一的。”
所以亚马逊一开始不会让你有命名冲突
我认为这是每个区域的,因为区域有自己的域,但我不确定。是的,结果是
我的bucket
(毫不奇怪)是一个现有的S3 bucket。当我试图在自己的控制台中创建它时,我得到一个错误,说它已经存在。谢谢你,洛伦佐!