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

执行GitHub Actions工作流时遇AWS角色会话时长错误求助

GitHub Actions AWS凭证配置报错排查

核心问题

你遇到的Error: The requested DurationSeconds exceeds the MaxSessionDuration set for this role错误,大概率是因为工作流的AWS凭证配置存在遗漏,导致实际使用的身份并非你预期的IAM角色。

排查与修复步骤

1. 补全角色ARN配置

你的configure-aws-credentials步骤缺少role-to-assume参数——这是扮演指定IAM角色的必填项。当前配置只提供了AK/SK,Action会直接使用该凭证对应的IAM用户身份,而非你设置了1小时会话时长的那个角色。

修正后的配置需添加目标角色ARN:

steps:
- uses: actions/checkout@v4

- name: Configure AWS credentials
  uses: aws-actions/configure-aws-credentials@v4
  with:
    aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
    aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
    aws-region: us-east-2
    role-to-assume: arn:aws:iam::xxxx:role/xxxx  # 替换为你CLI中使用的角色ARN
    role-session-name: GithubActions
    role-duration-seconds: 3600
    role-skip-session-tagging: true

2. 验证目标角色的会话时长配置

再次确认目标角色的MaxSessionDuration确实为3600秒,避免控制台配置未生效或选错角色:

aws iam get-role --role-name YOUR_TARGET_ROLE_NAME --query 'Role.MaxSessionDuration'

若返回值不是3600,重新在IAM控制台修改并等待5-10分钟让配置生效。

3. 检查IAM用户的权限与限制

提供AK/SK的IAM用户需具备sts:AssumeRole权限,且自身的会话时长限制不能低于你设置的3600秒。可通过以下命令查看用户配置:

aws iam get-user --user-name YOUR_IAM_USER_NAME

同时检查是否存在AWS组织SCP策略限制了会话时长。

4. 验证Action版本兼容性

若上述步骤无效,尝试锁定configure-aws-credentials到具体稳定版本(如v4.0.1),或降级到v3版本,排除版本bug影响。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 13:02:50