本文为您介绍如何配置Presto开启Ranger权限控制。
前提条件
已创建EMR-3.45.0及之后版本、EMR-5.11.0及之后版本的DataLake或Custom集群,并选择了Hive、Presto和Ranger服务,创建集群详情请参见创建集群。
注意事项
与Trino不同,Presto没有单独的Ranger插件,其Ranger权限控制仅支持Hive连接器,并且开启和权限配置的方式与Hive完全一致。因此,要开启Presto的Ranger,请确保同一集群内包含Hive服务,或Presto能够访问一个包含Hive服务的数据集群。
当前版本的Presto+Ranger与Kerberos存在冲突,需要确保Hive所在的集群未开启Kerberos。
配置方法
配置Hive开启Ranger权限控制,具体操作请参见配置Hive开启Ranger权限控制。
在EMR控制台中,进入目标集群的Presto服务配置页签,在hive.properties中新增以下配置项,并确保新增的配置项生效。新增和生效配置项的具体操作请参见管理配置项。
Key
Value
说明
hive.security
ranger
固定为ranger。
hive.ranger.rest-endpoint
http://master-1-1:6080
Ranger的服务地址。请确保该地址能够被Presto部署的所有节点访问。
hive.ranger.policy.hive-servicename
emr-hive
上一步开启的Hive Service的名称,EMR集群中默认为emr-hive。
hive.ranger.service.basic-auth-username
admin
Ranger UI的用户名。
hive.ranger.service.basic-auth-password
Admin1234
Ranger UI的密码。
权限配置
Ranger权限配置需要在Ranger UI页面完成,如何进入Ranger UI页面,详情请参见访问Ranger UI。Ranger Presto权限需要单击HADOOP SQL下的emr-hive进行配置。
Ranger Presto与Ranger Hive使用相同的Ranger Service(emr-hive)进行权限管理,相关权限配置的方式是一样的,有关权限配置的详细介绍请参见配置Hive开启Ranger权限控制。