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

如何配置AWS Lambda执行角色以获取Batch作业列表权限?

解决AWS Lambda执行Batch ListJobs的权限问题

问题根源

从报错信息能直接看出,你的Lambda执行角色myproject/dev-StartJobLambda-HZO22Z5IMTFB没有被授予执行batch:ListJobs的权限,所以调用client.list_jobs(jobQueue=_job_queue)时触发了AccessDeniedException。

一步步搞定权限配置

你需要在IAM控制台给这个角色添加对应的权限策略,具体操作如下:

  1. 定位到目标Lambda执行角色

    • 登录AWS控制台,进入IAM服务。
    • 在左侧导航栏点击「角色」,用搜索框输入dev-StartJobLambda-HZO22Z5IMTFB,找到你的Lambda执行角色。
  2. 添加权限策略(两种可选方案)
    推荐优先用自定义精细策略(遵循最小权限原则),如果追求快速也可以用AWS托管策略:

    方案1:自定义精细权限策略(更安全)

    • 在角色详情页切换到「权限」标签,点击「添加权限」→「创建内联策略」。
    • 切换到「JSON」标签,粘贴以下策略内容(记得把REGION、ACCOUNT_ID、JOB_QUEUE_NAME替换成你自己的实际值):
      {
          "Version": "2012-10-17",
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": "batch:ListJobs",
                  "Resource": "arn:aws:batch:REGION:ACCOUNT_ID:job-queue/JOB_QUEUE_NAME"
              }
          ]
      }
      
    • 点击「下一步」,给策略起个直观的名字(比如BatchListJobsForMyQueue),最后点击「创建策略」。

    方案2:使用AWS托管策略(快速便捷)

    • 如果不需要严格的权限限制,直接在角色的「权限」标签点击「添加权限」→「附加策略」。
    • 搜索AmazonBatchReadOnlyAccess(这个托管策略包含batch:ListJobs等所有Batch只读操作),选中后点击「附加策略」即可。
  3. 验证修复效果
    权限配置完成后,重新触发你的Lambda函数,调用client.list_jobs()应该就能正常执行了。

小提示

  • 尽量避免使用AmazonBatchFullAccess这类权限过宽的策略,减少不必要的安全风险。
  • 如果需要访问多个Job队列,可以把策略里的Resource改成通配符形式:arn:aws:batch:REGION:ACCOUNT_ID:job-queue/*。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 09:47:54