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

AWS Glue运行作业遇Permission denied错误请求协助

AWS Glue作业权限拒绝错误(/run-xxx Permission denied)解决方案

排查与解决步骤:

1. 验证IAM角色的信任关系配置

即使角色附加了管理员权限,若Glue服务无法扮演该角色,依然会触发权限问题:

  • 进入IAM控制台,找到你的Glue作业关联角色
  • 切换到信任关系标签页,确认策略包含Glue服务的 AssumeRole 权限:
    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "Service": "glue.amazonaws.com"
          },
          "Action": "sts:AssumeRole"
        }
      ]
    }
    
  • 若缺失,点击编辑信任策略添加上述内容并保存。

2. 检查Glue作业的临时存储配置

Glue依赖S3存储临时中间文件,若临时路径配置错误或权限不足,会 fallback 到本地目录触发权限拒绝:

  • 打开Glue作业配置页面,找到**安全配置、脚本库和作业参数(可选)**区域
  • 确认临时路径为有权访问的S3路径(格式:s3://your-temp-bucket/glue-temp/)
  • 若未设置,手动指定一个存在且角色有权读写的S3路径;若已设置,检查该S3桶的桶策略是否未拒绝角色访问。

3. 排查作业代码是否误写本地文件系统

如果代码中直接写入本地路径而非S3,会触发本地容器/EC2实例的权限限制:

  • 检查writeDynamicFrame或df.write逻辑,确保输出路径以s3://开头
  • 错误示例:
    # 错误:写入本地路径
    glueContext.write_dynamic_frame.from_options(
        frame=dynamic_frame,
        connection_type="file",
        connection_options={"path": "/run-test-output"}
    )
    
  • 修正示例:
    # 正确:写入S3
    glueContext.write_dynamic_frame.from_options(
        frame=dynamic_frame,
        connection_type="s3",
        connection_options={"path": "s3://your-bucket/output/"}
    )
    

4. 检查VPC配置(若作业关联VPC)

若Glue作业配置了VPC访问,需确认网络层面的权限:

  • 安全组允许出站访问S3(或配置S3网关端点)
  • 子网配置NAT网关(访问公网S3桶时),或S3网关端点的策略允许角色访问。

5. 验证角色的权限边界

若角色设置了权限边界,会覆盖附加的管理员权限:

  • 进入IAM角色页面,检查权限边界区域是否有配置
  • 确认边界策略允许Glue相关操作与S3访问,或临时移除边界测试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 18:12:57