You need to enable JavaScript to run this app. 调用sts:AssumeRole报AccessDenied 无法连接Amazon SP-API问题咨询
优惠活动
大模型
产品
解决方案
定价
更多

调用sts:AssumeRole报AccessDenied 无法连接Amazon SP-API问题咨询

问题诊断

你的权限配置存在三处核心错误,直接导致AssumeRole权限报错:

  1. STS策略资源配置错误
    sts:AssumeRole是用于扮演IAM角色的操作,你当前策略中Resource字段填写的是IAM用户的ARN,完全不符合操作要求,该字段必须填写你专门用来对接SP-API的IAM角色的ARN。另外无需开放sts:*全量权限,遵循最小权限原则仅开放sts:AssumeRole即可。
  2. 缺失IAM角色信任策略配置
    仅给IAM用户配置AssumeRole权限不够,你创建的SP-API专用IAM角色本身的信任策略也需要允许你的IAM用户执行扮演操作,否则依旧会被STS服务拦截。
  3. execute-api策略资源配置错误
    SP-API是亚马逊官方提供的公共API服务,不属于你个人AWS账号下的资源,你当前填写的带自身账号ID的ARN只会允许调用你自己账号下的API网关,无法访问SP-API服务。

修正后的配置示例

1. 绑定到IAM用户的STS策略

//STS-POLICY
{ 
    "Version": "2012-10-17", 
    "Statement": [
        {
            "Sid":  "AllowAssumeSPAPIRole",
            "Effect" : "Allow",
            "Action": "sts:AssumeRole",
            "Resource": "arn:aws:iam::<你的AWS账号ID>:role/<你创建的SP-API专用IAM角色名称>"
        }
    ]
}

2. SP-API专用IAM角色的信任策略

在IAM角色的「信任关系」配置页修改:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::<你的AWS账号ID>:user/<你的IAM用户名>"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}

3. 绑定到IAM角色的execute-api策略

//EXECUTE-API-POLICY
{ 
    "Version": "2012-10-17", 
    "Statement": [
        {
            "Sid":  "AllowCallSPAPI",
            "Effect" : "Allow",
            "Action": "execute-api:Invoke",
            "Resource": "arn:aws:execute-api:*:*:*/*/sellingpartnerapi/*"
        }
    ]
}

额外检查项

确认你在python SP-API库配置中填写的role_arn参数是上述SP-API专用IAM角色的ARN,不是IAM用户的ARN,该配置项填错也会触发相同报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 11:00:02