已授予权限仍无法创建AWS Glue爬虫:访问被拒问题求助
AWS Glue爬虫创建权限配置指南及问题排查
一、核心权限清单
创建并运行AWS Glue爬虫,需确保以下两类权限配置完整:
1. IAM用户权限(创建爬虫的用户)
- 必须拥有
iam:PassRole权限,允许将Glue服务角色传递给Glue服务,否则创建爬虫时会触发访问拒绝。
2. Glue服务角色权限
- Glue服务操作权限:允许创建、管理爬虫及访问数据目录
glue:CreateCrawler、glue:GetCrawler、glue:StartCrawler、glue:UpdateCrawlerglue:GetDatabase、glue:CreateTable、glue:UpdateTable、glue:GetTable
- S3存储权限:访问爬虫目标存储桶及对象
s3:ListBucket(列出桶内对象)s3:GetObject(读取目标文件)s3:PutObject(若爬虫需写入临时文件或输出结果)
- CloudWatch日志权限:允许爬虫生成运行日志(缺失会导致爬虫运行失败)
logs:CreateLogGroup、logs:CreateLogStream、logs:PutLogEvents
- KMS权限(可选):若目标S3桶启用KMS加密,需添加
kms:Decrypt、kms:GenerateDataKey
二、完整IAM角色策略示例
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:CreateCrawler", "glue:GetCrawler", "glue:StartCrawler", "glue:UpdateCrawler", "glue:GetDatabase", "glue:CreateTable", "glue:UpdateTable", "glue:GetTable" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetObject", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::YourBucketName", "arn:aws:s3:::YourBucketName/*" ] }, { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:*:*:*" }, { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "arn:aws:kms:region:account-id:key/your-key-id" } ] }
三、S3桶策略注意事项
- 确保桶策略无拒绝语句,AWS权限逻辑中拒绝会优先于允许
- 验证策略中角色ARN完全匹配,避免拼写错误
- 若桶开启了「阻止公有访问」,不影响IAM角色的访问权限,无需修改
四、常见排查点
- IAM用户的PassRole权限:创建爬虫的用户需具备以下策略(替换角色ARN):
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::834715106494:role/YourGlueServiceRole" } ] } - 角色信任关系验证:确认信任关系仅允许
glue.amazonaws.com扮演角色,如你提供的配置即可 - Glue爬虫路径配置:检查目标S3路径是否正确,路径不存在也会触发访问拒绝
- 组织级SCP限制:若账号属于AWS组织,需确认服务控制策略(SCP)未限制Glue或S3的相关操作
内容的提问来源于stack exchange,提问作者Anu Anusha
相关产品推荐
相关产品推荐

