IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> AWS EMR内置Ranger插件使用的IAM Role及其设计策略 -> 正文阅读

[大数据]AWS EMR内置Ranger插件使用的IAM Role及其设计策略

AWS EMR提供三种内置的Ranger插件,分别是:S3(EMRFS),Spark,Hive,如果要启用这些插件,需要创建三个特定的IAM Role,以便相关组件能获得适当的权限。对这三种Role的介绍可参考官方文档:https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-ranger-iam.html 本文主要是解释一下三种Role之间的关系。

在创建标准EMR集群时,如果你有留意的话,应该会注意到EMR会自动创建并分配给各个EC2节点一个默认的IAM Role,这个Role叫做:EMR_EC2_DefaultRole,如果你查看一下这个Role的policies就会发现,这个默认的Role拥有很大的权限,包括对S3和Glue Data Catalog的全局读写权限,对于不做细粒度权限控制的EMR集群来说,这样做是没有问题的。当然,你可以以该Role为模板创建新的Role,删减或添加一些policies,例如限制EMR仅可以使用部分的S3桶。

如果打算启用EMR内置的Ranger插件,就会如前面文档所述,将要涉及到三个Role,看上去一下子变得复杂起来,但如果搞清楚了三个Role之间的关系,理解起来也很简单。我们先把三个Role列出来:

Role的简称参考文档本文给该Role定义的名称
赋予EMR各EC2节点的Rolehttps://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-ranger-iam-ec2.htmlEMR_EC2_RangerRole
赋予Ranger插件的Rolehttps://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-ranger-iam-ranger.htmlEMR_RANGER_PluginRole
赋予其他服务/组件(非Ranger插件)的Rolehttps://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-ranger-iam-other-AWS.htmlEMR_RANGER_OtherRole

我们先把最重要的结论给出来,然后再做梳理。EMR_EC2_RangerRole对应标准EMR集群使用的EMR_EC2_DefaultRole,是在建EMR集群时通过“EC2 instance profile”这一选项选择的。但是与后者不同的是,EMR_EC2_RangerRole实际上是一个被“架空”的Role,它除了拥有获取SecretManager上指定证书的权限(该权限用户EMR所有节点获取TLS证书以便实现Ranger插件与Ranger Admin之间的TLS通信)外,就没有任何其他权限了;同时它允许另外两个Role带代入,则更加实际的权限分配其实是由另外两个Role定义的。在创建一个EMR Security Configuration时,在“IAM role for Apache Ranger”一项上,我们选取EMR_RANGER_PluginRole,EMR会将这个Role赋给Hive、Record Server(for Spark)使用,该Role通常会分配较大权限(例如S3桶全开),以保证这些服务拥有“充足”的IAM权限访问S3等资源,具体到用户级别的细粒度权限控制会由Ranger负责;而对于那些非Ranger插件服务,就可以最大程度上削减权限,以防止这些服务在IAM层级上获得不应有的权限。
在这里插入图片描述
上图展示了三个Role在控制台上的出现的位置以及相互之间的关系。如果用一句话总结EMR内置Ranger插件的IAM Role设计策略那就是:EMR将原来简单分配给EC2节点的EMR_EC2_DefaultRole 替换成了一个较为笼统的EMR_EC2_RangerRole,仅支持必须要的secret读取权限,然后再配置两个定向使用的Role,一个给需要运行Ranger插件的组件/服务使用,这个Role是EMR_RANGER_PluginRole,另一个给非使用Ranger插件的组件/服务使用,这个Role是EMR_RANGER_OtherRole

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章           查看所有文章
加:2022-06-18 23:28:02  更:2022-06-18 23:30:03 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 22:19:13-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码