服务角色 EMR_DefaultRole 的 EC2 权限不足

Posted

技术标签:

【中文标题】服务角色 EMR_DefaultRole 的 EC2 权限不足【英文标题】:Service role EMR_DefaultRole has insufficient EC2 permissions 【发布时间】:2020-11-14 18:38:07 【问题描述】:

在创建 AWS EMR 集群时,我总是遇到问题 -

集群自动终止,甚至按照aws文档完成了重新创建emr特定角色的步骤,但没有进展请指导如何解决问题-服务角色EMR_DefaultRole的EC2权限不足

【问题讨论】:

您的账户是 AWS 组织的一部分吗?也许您对 EMR 的功能有一些限制? 【参考方案1】:

EMR 需要两个角色来启动集群 1) EC2 实例配置文件角色 2)EMR 服务角色。服务角色应该有足够的权限来配置新资源来启动集群、EC2 实例、它们的网络等。这个常见错误可能有很多原因:

    验证资源及其操作。参考https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-iam-role.html

    检查您是否传递了表示集群是否需要使用 emr 托管策略的标记。

                
                    "Key": "for-use-with-amazon-emr-managed-policies",
                    "Value": "true"
                
    最后尝试从云迹中找出确切原因。转到 aws>cloud trail。从事件历史配置中启用错误代码,以便您可以看到确切的错误。如果您发现错误代码类似于“您无权执行此操作。编码授权失败消息'。然后打开事件历史详细信息,拿起加密的错误消息并使用 aws cli 解密 aws sts decode-authorization-message message。这将向您显示完整的角色详细信息、事件、资源、操作。将其与 AWS IAM 权限进行比较,您可以找出在创建作业流时需要传递的缺少的权限或参数。

【讨论】:

以上是关于服务角色 EMR_DefaultRole 的 EC2 权限不足的主要内容,如果未能解决你的问题,请参考以下文章

[AWS][安全][S3] IAM 角色授权 EC2 访问 S3

linux 忘记密码无法登陆问题处理

可以创建跨账户访问 EC2 角色吗?

从 EC2 访问 SQS - 实例配置文件与角色

无法修复“提供的执行角色无权在 EC2 上调用 CreateNetworkInterface”

使用 terraform 创建 IAM 角色并将其附加到 EC2