Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services Amazon S3-通过引用限制访问_Amazon Web Services_Amazon S3 - Fatal编程技术网

Amazon web services Amazon S3-通过引用限制访问

Amazon web services Amazon S3-通过引用限制访问,amazon-web-services,amazon-s3,Amazon Web Services,Amazon S3,我有一个bucket策略来限制对文件名中带有“-original”的文件的访问,但它只有在将URL直接输入浏览器时才起作用。如果您单击“在新选项卡中打开图像”,它就会显示得很好(我假设http引用程序确实来自该站点)。我需要访问该网站以显示图像,但如果在新选项卡中或尝试下载,则无法访问。我需要加入某种重定向吗 这是我的政策: { “版本”:“2012-10-17”, “Id”:“拒绝文件访问”, “声明”:[ { “效果”:“拒绝”, “委托人”:“*”, “行动”:[ “s3:GetObjec

我有一个bucket策略来限制对文件名中带有“-original”的文件的访问,但它只有在将URL直接输入浏览器时才起作用。如果您单击“在新选项卡中打开图像”,它就会显示得很好(我假设http引用程序确实来自该站点)。我需要访问该网站以显示图像,但如果在新选项卡中或尝试下载,则无法访问。我需要加入某种重定向吗

这是我的政策:

{
“版本”:“2012-10-17”,
“Id”:“拒绝文件访问”,
“声明”:[
{
“效果”:“拒绝”,
“委托人”:“*”,
“行动”:[
“s3:GetObject”,
“s3:GetObjectVersion”
],
“资源”:“arn:aws:s3:::examplebucket/*--original*”,
“条件”:{
“StringNotLike”:{
“aws:Referer”:[
"https://examplebucket.com*",
"https://examplebucket.dev*"
]
}
}
}
]
}

通过
referer
控制访问不是很安全。它很容易被欺骗。不要使用它来保护机密信息


相反,您的应用程序应该生成一个,它提供对私有对象的有时间限制的访问。

默认情况下,所有S3资源都是私有的。因此,如果策略中没有允许规则,它将默认拒绝。如果存在与请求匹配的任何拒绝规则,则该请求将被拒绝,即使其他规则允许该请求

请尝试以下操作:

{
“版本”:“2012-10-17”,
“Id”:“拒绝文件访问”,
“声明”:[
{
“效果”:“允许”,
“委托人”:“*”,
“行动”:[
“s3:GetObject”,
“s3:GetObjectVersion”
],
“资源”:“arn:aws:s3:::examplebucket/*”
},
{
“效果”:“拒绝”,
“委托人”:“*”,
“行动”:[
“s3:GetObject”,
“s3:GetObjectVersion”
],
“资源”:“arn:aws:s3:::examplebucket/*--original*”,
“条件”:{
“StringNotLike”:{
“aws:Referer”:[
"https://examplebucket.com*",
"https://examplebucket.dev*"
]
}
}
}
]
}

是否有理由限制用户在新选项卡中打开图像?