Ranger 2.1.0版本开始支持配置Security Zone功能,可以将资源划分到不同的Security Zone中,给每个Security Zone分配不同的管理员进行权限管理,即可以将资源分类交由不同的管理员管理。本文介绍如何配置Security Zone。
背景信息
例如,某公司有部门A和部门B两个部门,部门A主要使用Hive database a,以及HDFS路径/a,部门B主要使用Hive database b,以及HDFS路径/b。如果要使用Security Zone功能,可以将Hive database a和HDFS路径/a划分到Zone a当中,将Hive database b和HDFS路径/b划分到Zone b当中,并分别设置管理员,统一配置Zone中资源的权限。
Zone a和Zone b配置如下。
Zone: a
service: emr-hive; path=/a/*,
service: emr-hdfs; database=a
Zone: b
service: emr-hive; path=/b/*,
service: emr-hdfs; database=b
Security Zone的管理员有权限配置Zone中资源的权限,如果配置属于其他Zone的资源的权限,则将不会生效。当Ranger Plugin鉴权时,首先会判断资源属于哪个Security Zone,然后只会使用该Security Zone中配置的权限进行鉴权。如果没有找到资源所属的Security Zone,则会使用未划分Security Zone的权限进行鉴权。
前提条件
- 已创建集群,并选择了Ranger服务,详情请参见创建集群。
- 已完成配置Hive集成Ranger和配置HDFS集成Ranger。
使用限制
仅EMR-5.x系列版本,支持配置Security Zone功能。
创建Security Zone管理员用户
本文示例需要新建admin_a和admin_b用户。
配置Security Zone
您可以按照以下步骤配置Zone a和Zone b。