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

AWS跨账号S3访问配置报错排查及权限配置全流程咨询

AWS跨账号S3访问问题排查与分步解决

一、ARN无效报错原因分析

你遇到的ARN无效、资源错误,核心问题出在账号ID位数不符合AWS规范:
AWS账号ID必须是12位数字,但你提供的ARN中账号部分868990465仅9位,格式不合法导致校验失败。

另外需确认角色ARN的完整性:SSO自动生成的角色ARN固定格式为:
arn:aws:iam::<12位账号ID>:role/aws-reserved/sso.amazonaws.com/<区域>/AWSReservedSSO_<权限集名称>_<随机字符串>
复制时要从IAM角色详情页完整复制,避免手动截断或输入错误。

你配置的S3资源部分是正确的:arn:aws:s3:::example-data对应桶本身(适配s3:ListBucket操作),arn:aws:s3:::example-data/*对应桶内所有对象(适配s3:Get*操作),这部分无问题。

二、修正桶策略及后续访问步骤

1. 修正并验证桶策略

将Principal中的ARN替换为包含12位正确账号ID的完整角色ARN,示例修正后策略:

{
    "Version": "2012-10-17",
    "Statement": [
       {
          "Sid": "PermissionsForExampleAccount",
          "Effect": "Allow",
          "Principal": {
            "AWS": "arn:aws:iam::123456789012:role/aws-reserved/sso.amazonaws.com/eu-west-1/AWSReservedSSO_AWSAdministratorAccess_67237874g479d"
          },
          "Action": [
            "s3:ListBucket",
            "s3:Get*"
          ],
          "Resource": [
            "arn:aws:s3:::example-data",
            "arn:aws:s3:::example-data/*"
          ]
       }
    ]
}

保存前用IAM Access Analyzer验证策略,确保无语法错误和权限逻辑冲突。

2. 检查中央SSO权限集

确认中央账号的SSO权限集(如AWSAdministratorAccess)没有显式拒绝s3:ListBucket、s3:Get*操作——IAM的显式拒绝规则会覆盖桶策略的允许规则。

3. 用户端测试访问

用户需按以下步骤验证:

  • 通过SSO门户登录,切换到桶策略中授权的SSO角色。
  • 直接在S3控制台访问目标桶,或用AWS CLI执行测试命令:
    aws s3 ls s3://example-data --profile <你的SSO配置文件名称>
    aws s3 cp s3://example-data/test-file.txt ./ --profile <你的SSO配置文件名称>
    

额外注意事项

  • 如果用户是从常用账号(非中央SSO账号)的角色访问目标S3桶,需将桶策略的Principal改为常用账号的角色ARN,同时确保常用账号的角色权限中允许访问该跨账号S3桶。
  • 检查目标S3桶的访问控制列表(ACL),确保无冲突的拒绝规则(ACL优先级低于桶策略,但显式拒绝会阻断访问)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 16:27:53