AWS S3认证用户政策



我试图设置一个S3策略存储桶,但它根本不起作用。我需要允许向匿名用户上传文件,但只有经过身份验证的用户才能下载这些文件。我试了两个想法:

{
  "Id": "Policy1378380575437",
  "Statement": [
{
  "Sid": "Stmt1378380436712",
  "Action": [
    "s3:PutObject"
  ],
  "Effect": "Allow",
  "Resource": "arn:aws:s3:::my_bucket/*",
  "Principal": {
    "AWS": [
      "*"
    ]
  }
},
{
  "Sid": "Stmt1378380568645",
  "Action": [
    "s3:GetObject"
  ],
  "Effect": "Allow",
  "Resource": "arn:aws:s3:::my_bucket/*",
  "Principal": {
    "AWS": [
      "arn:aws:iam::1111111111:root"
    ]
  }
 }
 ]
}

但问题是默认情况下允许使用GetObject,这意味着匿名用户可以下载文件。我试图为GetObject添加一个新的Sid拒绝,但拒绝总是覆盖允许。

我很感激你的建议。

谢谢。

我认为您可以使用ACL来完成此操作。将bucket上的权限更改为要求ACL"authenticated read"。你的用户必须在上传时设置ACL标志,否则他们会收到拒绝访问的错误,但如果你能让他们设置该标志,我认为这可能对你有用。编辑Bucket权限

相关内容

  • 没有找到相关文章

最新更新