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

通过IAM用户存储桶策略无法在副账号查看主账号S3存储桶

问题原因及解决办法

核心原因:缺少控制台列出桶所需的权限

S3控制台查看跨账号桶需要两个关键权限,当前配置均缺失:

  1. 副账号IAM用户缺少s3:ListAllMyBuckets权限
    控制台加载账号所有桶列表时,会调用s3:ListAllMyBuckets接口,这是账号级全局操作,必须在副账号给maddy的IAM策略中明确授权。当前内联策略仅包含对象操作权限,无此列表权限,导致控制台无法加载出该跨账号桶。

  2. 存储桶策略缺少s3:ListBucket权限(可选但必要)
    即便能看到桶,要查看桶内对象列表,还需在主账号的存储桶策略中添加s3:ListBucket操作权限,否则进入桶后会显示空内容。

修正方案

1. 更新副账号maddy的内联策略

添加s3:ListAllMyBuckets权限,同时保留原有对象操作权限:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowAccessToS3Bucket",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:PutObjectAcl",
                "s3:ListAllMyBuckets"
            ],
            "Resource": [
                "arn:aws:s3:::input-read",
                "arn:aws:s3:::input-read/*",
                "*"
            ]
        }
    ]
}

注:s3:ListAllMyBuckets需将Resource设为*,因这是账号级全局操作,无法限定到单个桶。

2. 更新主账号的存储桶策略(可选但建议)

添加s3:ListBucket权限,确保能查看桶内对象:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::<secondary-account>:user/maddy"
            },
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:PutObjectAcl",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::input-read",
                "arn:aws:s3:::input-read/*"
            ]
        }
    ]
}

验证方法

修改策略后,重新以maddy身份登录S3控制台:

  • 可看到input-read桶出现在列表中
  • 点击桶后能正常查看、上传、下载对象

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 05:36:15