AWS Glue爬虫配置遇AccessDeniedException(400)权限问题求助
解决Glue爬虫配置时的AccessDeniedException错误
问题概述
搭建基于S3、Glue、Athena的数据管道时,配置Glue爬虫进行数据索引触发如下错误:
{"service":"AWSGlue","statusCode":400,"errorCode":"AccessDeniedException","requestId":"7bd42729-bc4b-4e22-af2a-553860002c64","errorMessage":"Account 834025784276 is denied access.","type":"AwsServiceError"}
错误截图显示配置过程中弹出权限拒绝提示框;角色权限截图显示已为爬虫角色附加AmazonS3FullAccess和AWSGlueServiceRole托管策略。
排查与解决步骤
1. 检查S3存储桶的桶策略
即使IAM角色有全权限,S3桶的桶策略若包含针对目标账号(834025784276)的Deny规则,会直接覆盖IAM权限导致访问被拒:
- 登录S3控制台,找到爬虫指向的存储桶,进入「权限」-「桶策略」页面
- 检查是否存在类似如下的拒绝语句:
{ "Effect": "Deny", "Principal": {"AWS": "arn:aws:iam::834025784276:root"}, "Action": "s3:*", "Resource": "arn:aws:s3:::your-bucket/*" } - 若存在此类规则,根据业务需求修改或移除该
Deny语句。
2. 验证Glue角色的信任关系
Glue服务需要能正常扮演指定角色,若信任策略配置错误,会间接引发权限拒绝:
- 进入IAM控制台,找到该Glue角色,进入「信任关系」页面
- 确认信任策略包含允许Glue服务扮演角色的规则,正确配置示例:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "glue.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } - 若配置不符,点击「编辑信任策略」修改为上述内容。
3. 排查AWS组织的服务控制策略(SCP)
如果你的账号属于AWS组织,需检查组织层面的SCP是否限制了Glue或S3的访问:
- 使用组织管理账号登录AWS Organizations控制台
- 查看目标账号(834025784276)关联的SCP,确认是否存在
DenyGlue操作或S3访问的规则 - 若存在限制,调整SCP规则以允许必要的Glue和S3操作。
4. 确认爬虫数据源路径正确性
若爬虫指向的S3路径不属于当前账号,且该外部桶未配置跨账号共享权限,也会触发账号访问被拒:
- 检查Glue爬虫配置中的数据源S3路径,确认路径指向的桶属于账号834025784276
- 若需访问外部桶,需在目标桶的桶策略中添加允许当前账号访问的规则。
5. 检查Glue服务权限完整性
虽然已附加AWSGlueServiceRole,但需确认该托管策略是否包含所有必要操作权限:
- 进入IAM控制台,查看
AWSGlueServiceRole的权限详情,确认包含glue:StartCrawler、glue:CreateDatabase、glue:CreateTable等核心操作 - 若有缺失,可自定义附加策略补充所需权限。
内容的提问来源于stack exchange,提问作者Zaheer UD Din Baber
相关产品推荐
相关产品推荐

