大数据权限管理-Security和hive-impala-hue的配置(2)

目录

1、Sentry和hive的配置

2、Sentry和impala的配置

3、Sentry和hue的配置



1、Sentry和hive的配置

       本文主要粗略叙述基于 ClouderaManager 在CDH 5.14 中为 Impala 和 Hive 配置 Sentry 的过程。
       在Sentry中,权限都只能授予给角色,角色被指定属于一个或多个组,当角色被挂载到用户组的时候,该组内的用户才具有相应的权限。权限->角色->用户组->用户显示了一条权限如何能最后被一个用户所拥有,从权限到角色,再到用户组都是通过grant/revoke的SQL语句来授予的。可以设定一个Sentry管理员所属的组,所有属于管理员组的用户都具有管理员的能力。
       1.禁用HiveServer2 impersonationin:
       Hive服务—>配置---->范围—>HiveServer2—>类别—>主要---->取消HiveServer2启用模拟,如下图:

在这里插入图片描述       2.添加hive用户为允许的系统用户(Allowed System Users)可以提交Yarn jobs:
       YARN服务—>配置—>范围—>NodeManager—>类别—>安全—>允许的系统用户(Allowed System Users),若没有hive用户,则添加hive用户,然后重启Yarn服务(所有Yarn的NodeManage节点都要做如此操作)如下图:
在这里插入图片描述
       3.在Hive服务中启动Sentry服务:
       Hive服务—>配置---->范围—>Hive(服务范围)—>类别—>主要---->SentryService—>选择Sentry
在这里插入图片描述       重启Hive服务。
       4.如3分别在impala/hue服务中启动Sentry服务。

在这里插入图片描述在这里插入图片描述       5.把hive/impala/hue添加到Sentry服务的管理员组:
       Sentry服务—>配置---->范围—>Sentry(服务范围)—>类别—>主要---->管理员组(AdminGroups)—>添加hive/impala/hue。 如图:
在这里插入图片描述       6.开启hive服务的testing模式:
        Hive服务—>配置---->范围—>Hive(服务范围)—>类别—>主要---->高级–>sentry-site.xml的hive服务高级配置代码段,如图:[sentry.hive.testing.mode]
在这里插入图片描述
       注:若不开启testing mode,在启动Sentry服务的时候可能会报错:

       FAILED: InvalidConfigurationExceptionhive.server2.authentication can’t be none in non-testing mode

       注:Sentry服务启动后,由于Hive CLI在Sentry中不支持所以建议禁止使用Hive查询,应该使用Beeline来执行Hive查询。配置Sentry的SQL授权语句也必须在Beeline客户端中进行。有关Sentry的SQL授权语句请参考Hive SQL Syntax for Use with Sentry.

2、Sentry和impala的配置

在这里插入图片描述

3、Sentry和hue的配置

       为了能够在hue中修改角色和权限,hue用户所属的组必须在sentry的admin group之中。
       比如:hue用户yuhui属于admin组,那就需要把admin组添加到sentry_service_admin_group配置中。

       除此之外,还需要修改以下配置:

sentry_service_allow_connect  添加  yuhui
sentry_service_admin_group   添加   admin

参考 http://gethue.com/apache-sentry-made-easy-with-the-new-hue-security-app/
配置如下:
在这里插入图片描述结果如下:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/silentwolfyh/article/details/88851815