Lambda触发Glue Job遇AccessDeniedException,需配置何种角色?
解决Lambda触发Glue Job时的AccessDeniedException权限问题
你需要给Lambda的执行角色添加以下两个IAM权限:
- glue:StartJobRun:对应代码中
glue.start_job_run()的调用 - glue:GetJobRun:对应代码中
glue.get_job_run()的调用
从错误日志可以明确看到,当前Lambda使用的角色(arn:aws:sts::XXXX:assumed-role/xxxx-role/xx-Job)没有被授权执行glue:StartJobRun操作,而你的代码还额外调用了get_job_run接口,所以这两个权限都需要配置。
示例IAM策略
将以下策略附加到Lambda的执行角色中,注意替换占位符为你的实际信息:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:StartJobRun", "glue:GetJobRun" ], "Resource": "arn:aws:glue:us-east-1:XXXX:job/AWS_ETL_Load" } ] }
内容的提问来源于stack exchange,提问作者Jim Macaulay
相关产品推荐
相关产品推荐

