CDH5.8 安装配置安全组件Sentry

    本文主要粗略叙述基于 ClouderaManager 在CDH 5.8 中为 Impala 和 Hive 配置 Sentry 的过程。

    在Sentry中,权限都只能授予给角色,角色被指定属于一个或多个组,当角色被挂载到用户组的时候,该组内的用户才具有相应的权限。权限->角色->用户组->用户显示了一条权限如何能最后被一个用户所拥有,从权限到角色,再到用户组都是通过grant/revoke的SQL语句来授予的。可以设定一个Sentry管理员所属的组,所有属于管理员组的用户都具有管理员的能力。

1.禁用HiveServer2 impersonationin:

    Hive服务—>配置—->范围—>HiveServer2—>类别—>主要—->取消HiveServer2启用模拟,如下图:

《CDH5.8 安装配置安全组件Sentry》

2.添加hive用户为允许的系统用户(Allowed System Users)可以提交Yarn jobs:

    YARN服务—>配置—>范围—>NodeManager—>类别—>安全—>允许的系统用户(Allowed System Users),若没有hive用户,则添加hive用户,然后重启Yarn服务(所有Yarn的NodeManage节点都要做如此操作)如下图:

《CDH5.8 安装配置安全组件Sentry》

3.在Hive服务中启动Sentry服务:

    Hive服务—>配置—->范围—>Hive(服务范围)—>类别—>主要—->SentryService—>选择Sentry

《CDH5.8 安装配置安全组件Sentry》

重启Hive服务。

4.如3分别在impala/hue服务中启动Sentry服务。

5.把hive/impala/hue添加到Sentry服务的管理员组:

    Sentry服务—>配置—->范围—>Sentry(服务范围)—>类别—>主要—->管理员组(AdminGroups)—>添加hive/impala/hue。 如图:

《CDH5.8 安装配置安全组件Sentry》

6.开启hive服务的testing模式:

    Hive服务—>配置—->范围—>Hive(服务范围)—>类别—>主要—->高级–>sentry-site.xml的hive服务高级配置代码段,如图:

《CDH5.8 安装配置安全组件Sentry》

注:若不开启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.

% bin/beeline

Beeline version 1.1.0-cdh5.8.3  by Apache Hive

beeline> !connect jdbc:hive2://ln-master:10000 hive hive (使用Sentry服务管理员组中的用户登入,否则没有权限执行下面的SQL语句)

0: jdbc:hive2://ln-master:10000>show roles;

创建admin角色并授予权限:

CREATE ROLE admin_role;

GRANT ALL ON SERVER server1 TO ROLE admin_role;

创建analyst_role角色并授予权限:

CREATE ROLE analyst_role;

GRANT ALL ON DATABASE analyst1 TO ROLE analyst_role;

GRANT SELECT ON DATABASE jranalyst1 TO ROLE analyst_role;

GRANT ALL ON URI ‘hdfs://ha-nn-uri/landing/analyst1’ TO ROLE analyst_role;

把角色赋予组:

GRANT ROLE  admin_role  TO GROUP  `admin`;

GRANT ROLE  analyst_role TO GROUP  `analyst`;

    原文作者:囧蛋
    原文地址: https://www.jianshu.com/p/055c40dcb8c5
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞