Amazon web services AWS Glue和Development Endpoint缺少什么权限?
当我尝试为AWS Glue创建开发端点时,出现以下错误Amazon web services AWS Glue和Development Endpoint缺少什么权限?,amazon-web-services,amazon-iam,aws-glue,Amazon Web Services,Amazon Iam,Aws Glue,当我尝试为AWS Glue创建开发端点时,出现以下错误 { "service":"AWSGlue", "statusCode":400, "errorCode":"ValidationException", "requestId":"<here goes an UUID>", "errorMessage":"Role
{ "service":"AWSGlue",
"statusCode":400,
"errorCode":"ValidationException",
"requestId":"<here goes an UUID>",
"errorMessage":"Role arn:aws:iam::<IAM ID>:role/AWSGlueServiceRole-DefaultRole
should be given assume role permissions for Glue Service.\n",
"type":"AwsServiceError" }
{“服务”:“AWSGlue”,
“状态代码”:400,
“错误代码”:“ValidationException”,
“请求ID”:“,
“errorMessage:”角色arn:aws:iam:::角色/AWSGlueServiceRole默认角色
应为Glue服务授予假定角色权限。\n“,
“类型”:“AwsServiceError”}
并且我的角色具有以下权限
- AmazonS3FullAccess
- AWSGlueServiceNotebookRole
- AmazonAthenaFullAccess
- AWSGlueServiceRole
- CloudWatchLogsRadonlyAccess
- AwsGluesConsolutionallaccess
- AWSCloudFormation只读访问
关于我遗漏了什么,有什么线索吗?在您的信任关系中,应该使用
glue.amazonaws.com
建立信任关系。您的角色(AWSGlueServiceRole DefaultRole)可能没有此设置。要确认,请转到IAM角色控制台,选择IAM角色:AWSGlueServiceRole DefaultRole并单击信任关系选项卡
用于此的json应该如下所示:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "glue.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
信任关系的示例屏幕截图:
这个问题不知何故与我已经搞糟的旧角色有关。创造了一个全新的角色,只是为了发展,然后像一个魔咒一样工作。我也被这个绊倒了;问题是,当您使用控制台创建默认的粘合服务角色时,它最终会创建IAM角色,如下所示:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "glue.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
arn:aws:iam:::角色/服务角色/AWSGlueServiceRole默认角色
记下路径中的“服务角色”
但是,当选择该角色作为要在控制台向导中用于设置新的开发人员端点的角色时,它不会在路径中包含“服务角色”,而是查找名为以下内容的角色:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "glue.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
arn:aws:iam:::角色/AWSGlueServiceRole默认角色
我认为这只是创建dev端点的控制台向导中的一个bug。我通过创建一个路径中没有“服务角色”的新角色解决了这个问题,然后在控制台向导中选择了该角色,并成功地创建了一个开发人员端点。您看过这个AWS文档了吗:。用户(您已使用该用户登录AWS控制台)应具有iam:PassRole
权限;不仅仅是IAM角色(AWSGlueServiceRole DefaultRole)。我将尝试添加它。但是这里说,如果我的角色具有完全访问权限,我可以跳过此操作。该语句表明-您登录到AWS控制台的用户应该附加该策略。因为AWSGlueConsoleLaccess
具有iam:PassRole
。向登录的用户添加了AWSGlueConsoleLaccess,并将iam:PassRole作为内联。仍然不起作用吗?我需要为作业指定一个角色,为开发端点指定另一个角色?如果您遵循data lake QuickStart,请不要重用它创建的角色。它创建了角色的“/服务角色”版本,用于创建开发端点时失败。