Amazon s3 只读用户-列出我拥有读取权限的所有存储桶

Amazon s3 只读用户-列出我拥有读取权限的所有存储桶,amazon-s3,ceph,radosgw,Amazon S3,Ceph,Radosgw,我们正在使用ceph,有几个桶 我们使用一个只读用户对这些存储桶进行备份 如果我知道名单,我可以备份我所有的桶 我不明白为什么,但我不能列出所有的桶 在ceph radosgw有可能吗?我想不是 该策略如下所示: { "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal&quo

我们正在使用ceph,有几个桶

我们使用一个只读用户对这些存储桶进行备份

如果我知道名单,我可以备份我所有的桶

我不明白为什么,但我不能列出所有的桶

在ceph radosgw有可能吗?我想不是

该策略如下所示:

{
  "Version": "2012-10-17",
  "Statement": [{
    "Effect": "Allow",
    "Principal": {"AWS": ["arn:aws:iam:::user/read-only"]},
    "Action": [
       "s3:ListBucket",
       "s3:ListAllMyBuckets",
       "s3:GetObject"
     ],
    "Resource": [
      "arn:aws:s3:::bucket",
      "arn:aws:s3:::bucket/*"
    ]
  }]
}
"Principal": {"AWS": ["arn:aws:iam:::user/MAIN_USER:SUBUSER"]},
我在用户级别上没有什么特别的东西

但当我尝试列出时,我得到了以下结果:

export AWS_SECRET_ACCESS_KEY=xx
export AWS_ACCESS_KEY_ID=
export MC_HOST_ceph=https://${AWS_ACCESS_KEY_ID}:${AWS_SECRET_ACCESS_KEY}@radosgwdns
mc ls ceph
mc ls ceph/
mc ls ceph/bucket
只有最后一个命令列出了内容

在这一环节中,据说基本上不可能:

在这个发布页面上,他们可能会谈论:


谢谢你的帮助

当您使用bucket策略访问用户的bucket时,它不会出现在用户的bucket列表中。如果需要,可以创建具有
none
权限的子用户,然后使用bucket策略再次授予访问权限。现在,当子用户列出bucket时,它将看到bucket,并且由于
none
权限,它只能访问您指定的bucket。 子用户的主体如下所示:

{
  "Version": "2012-10-17",
  "Statement": [{
    "Effect": "Allow",
    "Principal": {"AWS": ["arn:aws:iam:::user/read-only"]},
    "Action": [
       "s3:ListBucket",
       "s3:ListAllMyBuckets",
       "s3:GetObject"
     ],
    "Resource": [
      "arn:aws:s3:::bucket",
      "arn:aws:s3:::bucket/*"
    ]
  }]
}
"Principal": {"AWS": ["arn:aws:iam:::user/MAIN_USER:SUBUSER"]},