大数据权限管理-Security和hue案例操作(3)

目录

一、需求及说明

二、大数据平台权限管理明细表

       1) 角色和用户分配
       2) 角色和权限分配

三、创建hue用户及分组

       1)用户登录及查看
       2)增加Hue组及用户分配

四、创建linux用户及分组

        1)创建linux用户账号和用户组(linux用户账号和用户组跟HUE用户账号和用户组一致)
       2)附一些常用命令:

五、创建Sentry角色,角色授予linux组,给角色授权

       1)Hue Security界面操作及授权方法
       2)beeline命令行操作及授权方法

六、结果展示

       1)管理员yuhui展示
       2) 开发者wangxing展示

七、其他

       1)Hue Application Permissions
       2)ACL权限同步说明
       3)Linux用户和组同步说明


一、需求及说明

       大数据平台需要给不同用户,分配搭配不同组,每个组都有自己的权限。在本文中不仅可以对用户访问hive库进行授权,同时也可以用户访问对hdfs路径进行授权。

二、大数据平台权限管理明细表

1) 角色和用户分配
角色名称用户名称
guestyuqin
adminyuhui
devwangxing
etlxiaoting
serviceLinedongdong
2) 角色和权限分配

其中:select只有查询功能,all是有增删改查功能

Role(Sentry)Group(Linux)Permissions(Hive)Group(HUE)Permissions(HUE)
guest(游客)guestaa select
bb select;
cc select;
dd select;
ee select;
ff select;
guesthive & impala
dev(开发者)devaa all;
bb all;
cc select;
ee select;
devhive & impala
adminadminAlladminall
etletlaa select;
bb select;
cc all;
ee all;
etlhive & impala
serviceLineserviceLinecc select;
ee select;
dd all;
ff all;
serviceLinehive & impala

Hiveserver2权限和sentry权限对比,如下图:
在这里插入图片描述

三、创建hue用户及分组

1)用户登录及查看

在这里插入图片描述添加用户如下:
在这里插入图片描述

2)增加Hue组及用户分配

因为权限太多为了方便截图,所以只给admin赋值权限,之后所有组都有权限

在这里插入图片描述

四、创建linux用户及分组

1)创建linux用户账号和用户组(linux用户账号和用户组跟HUE用户账号和用户组一致)

hue启动hive,所以hiveService2角色所在机器建立用户和组
hue启动impala,所以impala daemon角色所在机器建立用户和组
hue启动spark,同时hdfs是acl控制权限,所以namenode角色所在机器建立用户和组

#Linux中创建用户组
sudo  groupadd  guest
sudo  groupadd  dev
sudo  groupadd  admin
sudo  groupadd  etl
sudo  groupadd  serviceLine

#Linux中添加用户以及分配组
sudo useradd  -g  admin  yuhui
sudo useradd  -g  guest  yuqin
sudo useradd  -g  dev    wangxing
sudo useradd  -g  etl    xiaoting
sudo useradd  -g  serviceLine   dongdong

#修改用户密码
passwd  yuhui
passwd  yuqin
passwd  wangxing
passwd  xiaoting
passwd  dongdong

结果如下:
在这里插入图片描述

2)附一些常用命令:
(创建一个新用户且添加到已有组)
例:创建用户baidu且将用户baidu加入到etl组中,
sudo  useradd -g etl baidu

(将一个已有的用户添加到已有组, 使此用户组成为该用户的附加用户组)
例:将用户 baidu加入到 users组中,
sudo  usermod -a -G users baidu

(将一个已有的组移除已有用户)
从wheel组中删除 test用户
gpasswd wheel -d test

(用户的密码设置)
sudo  passwd username

cat /etc/passwd 可以查看所有用户的列表
cat /etc/group 查看用户组
groups username 显示用户所属的用户组

五、创建Sentry角色,角色授予linux组,给角色授权

参考官网: https://www.cloudera.com/documentation/enterprise/5-14-x/topics/sg_hive_sql.html

1)Hue Security界面操作及授权方法

1.添加角色并分配给组
在这里插入图片描述2.给角色授权
在这里插入图片描述

2)beeline命令行操作及授权方法
  1. 访问(hive节点),进入beeline命令行,建立连接
!connect jdbc:hive2://localhost:10000/

(用hue或hive或impala登录)

在这里插入图片描述

2.创建角色:create ROLE [role_name];

3.将角色授予组:GRANT ROLE role_name [, role_name]
TO GROUP (groupName) [,GROUP (groupName)]

4.将角色移除组:REVOKE ROLE role_name [, role_name]
FROM GROUP (groupName) [,GROUP (groupName)]

5.给角色授权(权限分三种:SELECT,INSERT,ALL):GRANT    
    (PRIVILEGE) [, (PRIVILEGE) ]    
    ON (OBJECT) (object_name)   
TO ROLE (roleName) [,ROLE (roleName)]

给角色授权例子:
GRANT select on table dws.dws_t1_branch_master_a to role T1Consult;
GRANT select on database t1_project to role T1Consult;

创建和删除角色 CREATE ROLE ROLE_NAME
删除角色: DROP ROLE ROLE_NAME

把role_test1角色授权给jayliu用户,命令如下 
grant role role_test1 to user jayliu;

查看jayliu用户被授权的角色,命令如下: 
SHOW ROLE GRANT user jayliu;

取消jayliu用户的role_test1角色,操作命令如下: 
revoke role role_test1 from user jayliu;

把某个库的所有权限给一个角色,角色给用户!
grant all on database user_lisi to role role_lisi;
grant role role_lisi to user lisi;

把某个库的权限直接给用户!
grant ALL ON DATABASE USER_LISI TO USER lisi;

收回 revoke ALLondatabase default from user lisi;

查看用户对数据看的权限 show grant user lisi on database user_lisi;


六、结果展示

1)管理员yuhui展示

yuhui是管理角色,所以可以看到所有数据,同时也可以操作所有数据。

在这里插入图片描述

2) 开发者wangxing展示

在这里插入图片描述

七、其他

1)Hue Application Permissions

https://www.cloudera.com/documentation/enterprise/5-14-x/topics/hue_adm_permissions.htm

2)ACL权限同步说明

使用spark访问集群进行数据查询,需要开启acl权限;目前已开启sentry权限与acl权限同步,故不需要单独设置。需要注意的是,sentry中的server和uri权限无法同步给acl,只能同步database和table的权限。
参考https://www.cloudera.com/documentation/enterprise/latest/topics/sg_hdfs_sentry_sync.html

3)Linux用户和组同步说明

可以通过build / env / bin / hue useradmin_sync_with_unix命令进行同步,但每次新建用户都需要执行一次,故暂不采取这种方式进行同步。
参考http://gethue.com/hadoop-tutorial-how-to-integrate-unix-users-and-groups/

北京小辉微信公众号

在这里插入图片描述

大数据资料分享请关注
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值