AWS S3策略拒绝ListObjectVersions

时间:2019-03-07 22:13:52

标签: amazon-web-services amazon-s3 object-storage

我正在使用Wasabi。我有一个启用版本控制的s3存储桶。 我希望能够列出所有未删除的对象。我的存储桶包含以下对象:

a.txt
b.txt
c.txt

c.txt已被删除。

我正在使用遵循以下策略的IAM访问s3存储桶:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:ListBucket",
        "s3:GetBucketLocation"
      ],
      "Resource": "arn:aws:s3:::MyBucket"
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:PutObject",
        "s3:GetObject",
        "s3:DeleteObject",
        "s3:PutObjectAcl"
      ],
      "Resource": "arn:aws:s3:::MyBucket/*"
    }
  ]
}

如果我列出对象(aws s3 ls s3://my-bucket),它将返回所有对象,包括已删除的对象(其最新版本)。

为防止列出已删除的对象,我尝试在根存储桶和所有对象上deny s3:ListBucketVersions,但是它不起作用。

如何制定政策以防止用户列出以前的版本/删除的对象?

编辑:我正在使用Wasabi,我刚刚注意到此行为与AWS S3行为不一致。我想它现在就在他们这边。

0 个答案:

没有答案