如何正确格式化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
相关产品推荐
相关产品推荐

