You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何正确格式化Ceph S3存储桶策略的Principal字段?

Ceph S3存储桶策略配置问题:指定用户访问时触发403权限拒绝

我正在给Ceph S3存储桶配置桶策略,当前有一个能正常运行但会开启公共访问的策略:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowAllForAuthenticatedUsers",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "*"
                ]
            },
            "Action": "s3:*",
            "Resource": [
                "arn:aws:s3:::mybucket",
                "arn:aws:s3:::mybucket/*"
            ]
        }
    ]
}

我需要在Principal字段中指定有权访问该桶的特定用户。参考Ceph官方文档的示例策略:

{
  "Version": "2012-10-17",
  "Statement": [{
    "Effect": "Allow",
    "Principal": {"AWS": ["arn:aws:iam::usfolks:user/fred:subuser"]},
    "Action": "s3:PutObjectAcl",
    "Resource": [
      "arn:aws:s3:::happybucket/*"
    ]
  }]
}

示例中的usfolks是租户标识,官方文档说明:

我们使用RGW的‘tenant’标识符替代亚马逊的12位账户ID。未来可能允许为租户分配账户ID,但目前若要在AWS S3和RGW S3间使用策略,创建用户时需将亚马逊账户ID作为租户ID。

我通过radosgw-admin bucket stats确认目标存储桶的tenant为空字符串,同时用radosgw-admin user info查看发现该用户的子用户列表"subusers": [](为空)。

我尝试了多种Principal格式,但使用桶所有者myuser-000的凭证下载文件时,始终出现403 HeadObject operation Forbidden错误,尝试过的格式包括:

"AWS": ["myuser-000"]
"AWS": ["arn:aws:iam:::user/myuser-000:"]
"AWS": ["arn:aws:iam:::user/*"]
"AWS": ["arn:aws:iam::usfolks:user/myuser-000:"]
"AWS": ["arn:aws:iam:::myuser-000:"]

内容的提问来源于stack exchange,提问作者David Parks

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 05:36:12