配置多项权限后创建AWS Glue开发端点仍遇权限错误,求排查
解决AWS Glue开发端点创建的权限缺失问题
嘿,从你列出的权限清单来看,最可能卡壳的地方是你没给角色配置 iam:PassRole 权限——这可是创建Glue开发端点的核心权限之一。
为啥这个权限这么重要?
当你创建Glue开发端点时,AWS Glue服务得扮演你指定的IAM角色才能干活:比如启动EC2实例、访问S3里的数据、和其他AWS服务交互。iam:PassRole权限就是允许你把自己的角色“递”给Glue服务,让它能以这个角色的身份操作。要是没这个权限,Glue根本拿不到角色的权限上下文,自然会报错卡壳。
还有个场景要注意:VPC配置的开发端点
如果你的开发端点是要部署在VPC里(大部分生产场景都会这么做),那还得确保角色有这些EC2相关权限(要是你现在没有的话):
ec2:CreateSecurityGroup:创建开发端点需要的安全组ec2:DescribeSecurityGroups:查看可用的安全组信息ec2:DescribeSubnets:获取VPC里的子网详情ec2:DescribeVpcs:查看VPC的配置ec2:AuthorizeSecurityGroupIngress:给安全组配置入站规则
怎么加权限?
你可以去IAM控制台给现有角色加个内联策略,我给你写了个示例,替换成自己的账号ID和角色名就行:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::你的AWS账号ID:role/你的Glue角色名称", "Condition": { "StringEquals": { "iam:PassedToService": "glue.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "ec2:CreateSecurityGroup", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "ec2:AuthorizeSecurityGroupIngress" ], "Resource": "*" } ] }
最后再排查两个点
要是加了上面的权限还是不行,你可以再检查下:
- 角色的信任策略是不是允许
glue.amazonaws.com作为服务主体——一般AWSGlueServiceRole自带这个,但确认下没坏处 - 有没有组织级的SCP或者IAM边界限制了这些权限的使用
内容的提问来源于stack exchange,提问作者jonathanglima
相关产品推荐
相关产品推荐

