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

如何修复AWS S3存储桶策略中的无效主体错误?

S3策略「Invalid Principal」错误修复方案

问题描述

用户配置的S3桶策略(已脱敏)如下:

{
  "Id": "Policy1710830593816",
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Stmt1710830590440",
      "Action": "s3:*",
      "Effect": "Allow",
      "Resource": "arn:aws:s3:::ixxx2-station-data",
      "Principal": {
        "AWS":["arn:aws:iam::093297098997:M69-AWS-JXX-iCxxx-Developer/v_doxxx"]
      }
    }
  ]
}

应用该策略时触发「Invalid Principal」错误,需修正策略以解决问题。

错误原因及修复步骤

  • 错误根源:策略中Principal字段的ARN格式不符合AWS规范。你使用的arn:aws:iam::093297098997:M69-AWS-JXX-iCxxx-Developer/v_doxxx是IAM用户的用户名路径写法,而非标准的IAM用户ARN格式,S3桶策略无法识别这种格式的主体。

  • 修复方法:
    调整Principal为合法的IAM用户ARN,标准格式为arn:aws:iam::账号ID:user/用户名。针对你的场景,修正后的Principal部分应为:

    "Principal": {
      "AWS": ["arn:aws:iam::093297098997:user/v_doxxx"]
    }
    

    如果你实际需要授权的是整个IAM组(M69-AWS-JXX-iCxxx-Developer),则使用组ARN格式:

    "Principal": {
      "AWS": ["arn:aws:iam::093297098997:group/M69-AWS-JXX-iCxxx-Developer"]
    }
    
  • 额外优化建议:
    当前策略的Resource仅指定了桶本身(arn:aws:s3:::ixxx2-station-data),仅能授权桶级操作(如创建桶、删除桶等)。如果需要允许访问桶内对象,需补充对象级资源:

    "Resource": [
      "arn:aws:s3:::ixxx2-station-data",
      "arn:aws:s3:::ixxx2-station-data/*"
    ]
    

内容的提问来源于stack exchange,提问作者Đỗ Như Vỹ

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 11:17:34