美文网首页Hadoop
CDH5.8 安装配置安全组件Sentry

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

作者: 囧蛋 | 来源:发表于2017-03-08 11:15 被阅读5678次

        本文主要粗略叙述基于 ClouderaManager 在CDH 5.8 中为 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服务高级配置代码段,如图:

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

    相关文章

      网友评论

        本文标题:CDH5.8 安装配置安全组件Sentry

        本文链接:https://www.haomeiwen.com/subject/fkfbgttx.html