You need to enable JavaScript to run this app.
导航

权限管理

最近更新时间2022.12.21 11:34:52

首次发布时间2022.04.27 18:51:54

火山引擎 E-MapReduce(EMR) 集成 Apache Ranger 集中式权限管理框架,为 Hadoop 生态组件提供细粒度的权限访问控制。

考虑权限管控并非必选特性,为了提升您的体验,EMR 在产品设计上给予您极大的自主权,允许您自行选择是否安装 Ranger 服务。对于已安装 Ranger 服务的集群也允许您自行选择是否为特定服务启用 Ranger 鉴权。同时,我们还提供了一套基于 Role-Based Access Control (RBAC) 权限模型的权限管控交互 UI,以方便普通您能够更加简单、快速的实现对于 EMR 集群进行权限配置。

1 Ranger 默认启用情况

权限管理在 EMR 3.1.0 软件栈版本中引入,目前支持的集群类型和服务如下表所示:

分析场景集群类型服务默认启用 Ranger 鉴权
数据湖HadoopHDFS
YARN
Hive
Spark
Presto
Trino
实时计算KafkaKafka
交互式分析PrestoHDFS
Hive
Presto

Trino

HDFS

Hive
Trino
NoSQL 数据库HBaseHDFS
HBase

2 使用限制

  • 为保证权限管理模块功能的正常使用,您需要在集群的安全组中为 100.64.0.0/10 IP 段开放 8080 端口。操作详见添加安全组访问规则

  • 请勿修改 Ranger 管理员密码,否则会导致权限管理功能不可用。

3 权限管控启停

EMR 允许您控制是否为集群安装 Ranger 服务,对于已安装 Ranger 服务的集群也允许控制是否针对特定服务启用或关闭 Ranger 鉴权。

3.1 Ranger 服务安装

您在创建集群时可以选择是否安装 Ranger 服务,从而控制是否开启权限管控功能。

  • 创建集群时勾选安装 Ranger 服务

    如果您比较关心集群数据访问安全,可以创建集群时,在可选服务中勾选安装 Ranger 服务,此时区分不同集群类型,EMR 会为相应服务默认启用 Ranger 鉴权,具体 Ranger 鉴权默认启用情况可以参考上面的表格。

  • 创建集群时不勾选安装 Ranger 服务

如果您仅仅是希望快速体验 EMR 产品,可以选择在创建集群时不勾选安装 Ranger 服务。此时,对于当前版本所有支持 Ranger 鉴权的服务均不启用 Ranger 鉴权,您后续在集群运行期间仍然可以通过添加 Ranger 服务再次启用权限管控。详见添加服务

说明

如果您是在集群运行起来后通过添加 Ranger 服务启用权限管控,对于当前版本所有支持 Ranger 鉴权的服务不会自动开启 Ranger 鉴权,您需要在 Ranger 服务概览页手动为对应组件启用 Ranger 鉴权。操作详见下方 Ranger 鉴权启停小节)。

3.2 Ranger 鉴权启停

对于安装了 Ranger 服务的集群,EMR 允许您控制是否针对特定服务启用或关闭 Ranger 鉴权,您可以在 Ranger 服务概述页面进行操作。
以 HDFS 服务为例,您可以按照如下步骤进行操作:

  1. 进入集群详情 > 服务列表 > Ranger > 服务概述页面,开启 HDFS Plugin 开关。

  2. 单击服务,在下拉列表中选中 HDFS 服务,并进入部署拓扑页签,重启相应的 HDFS 服务组件。


如果希望针对特性服务停用 Ranger 鉴权,同样参考上述步骤进行操作。

HDFS 和 YARN 服务除了使用 Ranger 鉴权外,仍然保留内置 ACL 鉴权,此时的鉴权流程如下图所示:

即当内置 ACL 和 Ranger 中的一个匹配权限允许策略时即认为鉴权通过,否则拒绝请求。

4 权限配置管理

Ranger 服务提供了 Web UI 用于对服务操作权限进行配置。考虑 Ranger Web UI 在易用性、交互习惯等方面对于普通用户不够友好,EMR 提供了一套基于 RBAC 权限模型的管控交互 UI (下面简称 EMR 权限管控 UI),旨在面向普通用户提供更加简单、直观的权限配置操作方式。对于支持权限管理的集群类型,您可以在集群导航栏中看到“权限管理”入口。

同时,EMR 也保留了原生的 Ranger Web UI,您可以按照个人使用习惯进行选择,二者在底层数据层面已经实现互通。下图描绘了 EMR 权限管控 UI 与 Ranger Web UI 的关系:

EMR 权限管控 RBAC 权限模型当前版本包含权限、角色,以及用户 3 个维度。其中,1 个角色可以关联 1 个或多个服务的 1 条或多条权限,1 个角色可以被授予 0 个或多个已创建或导入的普通用户(可以在 EMR 用户管理中创建或导入用户)。

您可以通过“权限管理”页面查看集群中已经创建的角色列表,同时支持新建、编辑或删除已创建的角色。

4.1 创建角色

新建角色时需要填写以下内容:

  • 角色名称(必选):需要保证集群范围内唯一,长度控制在 30 个字符以内,不允许出现中文。

  • 关联用户(可选):下拉选择在用户管理模块中创建或导入的普通用户,可以关联多个。

  • 角色描述(可选):用于对当前角色进行描述,长度控制在 255 个字符以内,允许包含中文。

  • 角色权限(可选):设置与角色关联的具体服务的权限信息,通过点击“添加权限”按钮为各个服务配置权限要素。

4.2 编辑角色

您可以点击“编辑”按钮对已创建的角色进行修改,修改内容包括关联用户、角色描述,以及角色权限信息,不允许修改角色名称。

4.3 删除角色

您可以点击“删除”按钮对已创建的角色进行删除,删除前请评估对集群的影响范围。