[英]Read only users - list all the buckets I have read rights to
我們正在使用 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.
謝謝你的幫助!
當您通過對用戶的存儲桶策略訪問存儲桶時,它不會出現在用戶的存儲桶列表中。 如果你想要它,你可以創建一個none
權限的子用戶,並再次使用存儲桶策略授予對它的訪問權限。 現在,當子用戶列出存儲桶時,它將看到該存儲桶,並且由於none
權限,它只能訪問您指定的存儲桶。 子用戶的主體是這樣的:
"Principal": {"AWS": ["arn:aws:iam:::user/MAIN_USER:SUBUSER"]},
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.