【发布时间】:2020-06-06 18:37:19
【问题描述】:
我需要阻止来自 amazon s3 的特定用户代理。我对 S3 相当陌生,通常在 .htaccess 文件中执行此操作,据我所知,亚马逊无法做到这一点。
我看到了这个Deny access to user agent to access a bucket in AWS S3。解决方案看起来像这样:
{ "Version": "2012-10-17",
"Statement": [{
"Effect": "Deny",
"Principal": "*",
"Action": "s3:*",
"Resource": "arn:aws:s3:::bucket/*",
"Condition":
{ "StringLike": { "aws:UserAgent": "*NSPlayer*" } }
}]
}
但是,我仍然希望允许除该用户代理之外的所有其他用户访问该站点。我的政策目前如下所示:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::www.examplesite.com/*"
}
]
}
当我尝试实现它时,我得到了无效的 json。所以,我只是好奇格式化它的正确方法是什么?我想拥有公共访问权限,但能够阻止一些不同的用户代理。另外,如果我想阻止多个用户代理,用户代理会用逗号分隔吗?
感谢您的帮助,非常感谢。
【问题讨论】:
标签: amazon-web-services amazon-s3