簡體   English   中英

只讀用戶 - 列出我擁有讀取權限的所有存儲桶

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM