首页 文章

针对经过身份验证的用户的AWS S3策略

提问于
浏览
4

我正在尝试设置一个S3策略桶,但它根本不起作用 . 我需要允许上传文件给匿名用户,但只有经过身份验证的用户才能下载 . 我试过2想:

{
  "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,那么这意味着匿名用户可以下载文件 . 我试图添加一个新的Sid拒绝GetObject但拒绝总是覆盖允许 .

我感谢任何建议 .

谢谢 .

1 回答

  • 1

    我认为你可以用ACL做到这一点 . 将存储桶的权限更改为要求ACL 'authenticated-read' . 您的用户必须在他们的上传中设置该ACL标志,否则他们将获得被访问被拒绝的错误,但如果您可以让他们设置该标志,我认为这可能对您有用 . Editing Bucket Permissions

相关问题