如何解决只读用户 - 列出我拥有读取权限的所有存储桶
我们正在使用 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/*"
]
}]
}
而且我在用户层面没有什么特别之处。
但是当我尝试列出时,我得到以下信息:
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
只有最后一个命令是列出内容。
在这个链接里说基本上是不可能的: https://help.switch.ch/engines/documentation/s3-like-object-storage/s3_policy/
Only S3 bucket policy is available,S3 user policy is not implemented in Ceph S3.
在这个发布页面上,他们可能会谈论它: https://ceph.io/releases/v16-2-0-pacific-released/
RGW: Improved configuration of S3 tenanted users.
感谢您的帮助!
解决方法
当您获得对用户具有存储桶策略的存储桶的访问权限时,该存储桶将不会出现在用户的存储桶列表中。如果您愿意,您可以创建一个具有 constructor(private el: ElementRef){}
this.render.setStyle(this.el.nativeElement('buttonContainer'),'marginTop','0px')
权限的子用户,然后再次使用存储桶策略授予对它的访问权限。现在,当子用户列出存储桶时,它将看到存储桶,并且由于 none
权限,它只能访问您指定的存储桶。
子用户的主体如下:
none
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。