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

使用AWS Java SDK 1.12.261调用STS遇403错误,请求排查配置问题

问题排查:STS AssumeRole 403 AccessDenied 错误

核心矛盾分析

从错误信息可见,你的请求尝试对**S3资源arn:aws:s3:::s3-name/执行sts:AssumeRole操作,但你的用户关联策略仅允许对STS角色arn:aws:iam::111111111111:role/sts-role**执行该操作,这是触发403错误的直接原因。

排查步骤

  1. 检查AssumeRole调用逻辑
    你当前提供的代码仅完成了STS客户端初始化,缺少实际调用assumeRole的核心逻辑。请确认在调用stsClient.assumeRole(...)时,AssumeRoleRequest中的roleArn参数是否错误传入了S3桶的ARN,而非目标STS角色的ARNarn:aws:iam::111111111111:role/sts-role。

    正确的AssumeRole调用示例:

    AssumeRoleRequest request = new AssumeRoleRequest()
        .withRoleArn("arn:aws:iam::111111111111:role/sts-role")
        .withRoleSessionName("your-custom-session-name");
    AssumeRoleResult result = stsClient.assumeRole(request);
    
  2. 验证策略配置有效性
    你的用户关联策略与角色信任策略配置本身是匹配的:

    • 用户策略允许test用户对目标STS角色执行sts:AssumeRole
    • 角色信任策略允许test用户扮演该STS角色
      这部分配置无问题,无需调整。
  3. 确认凭证归属
    检查代码中OssConfiguration.accessKey和OssConfiguration.secretKey是否属于arn:aws:iam::111111111111:user/test用户,避免因使用其他用户凭证导致权限不匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 16:27:21