HDFS、HBase、Hue等权限操作
HDFS文件ACL授权
1.集群开启acl权限,由参数dfs.namenode.acls.enabled控制
2.授权流程
##切换为超级用户hdfs
su hdfs
##授权之前,可查看库下有哪些用户已有权限,通过命令getfacl
hadoop fs -getfacl $PATH
##如:hadoop fs -getfacl /user/hive/warehouse/dw_tmp.db
##acl授权,运行时间较长,可后台执行;执行完成后,通过上述getfacl命令进行验证
hadoop fs -setfacl -m -R user:$username:rwx $PATH
##如:hadoop fs -setfacl -m -R user:zhanghza:rwx /user/hive/warehouse/ploan_analyst.db
HBase 授权
权限设置:
Read(R) 允许读取权限
Write(W) 允许写入权限
Execute(X) 允许执行权限
Create(C) 允许建表、删表权限
Admin(A) 允许管理操作,如balance、split、snapshot
##随机进去任意一台regionserver,使用cli进行授权
hbase shell
##查看名称空间
hbase(main):001:0> list_namespace
NAMESPACE
default
hbase
kylin_ns
kylin_pay
risk
5 row(s) in 0.2270 seconds
##查看risk命名空间下用户的权限
hbase(main):002:0> user_permission '@risk'
User Namespace,Table,Family,Qualifier:Permission
jiuyunloan risk,,,: [Permission: actions=READ,WRITE,EXEC,CREATE,ADMIN]
##空间授权,并验证
hbase(main):007:0> grant 'risk_jiql','RWXC','@risk'
hbase(main):008:0> user_permission '@risk'
User Namespace,Table,Family,Qualifier:Permission
jiuyunloan risk,,,: [Permission: actions=READ,WRITE,EXEC,CREATE,ADMIN]
risk_jiql risk,,,: [Permission: actions=READ,WRITE,EXEC,CREATE]
##表只授权读,并验证
hbase(main):013:0> grant 'personal','R','risk:risk_phonelist'
hbase(main):014:0> user_permission 'risk:risk_phonelist'
User Namespace,Table,Family,Qualifier:Permission
root risk,risk:risk_phonelist_info_by_userid,,: [Permission: actions=READ,WRITE,EXEC,CREATE,ADMIN]
personal risk,risk:risk_phonelist,,: [Permission: actions=READ]
Hue 授权
前言
集群提供Hue组件,可用于访问HDFS的数据,目前集成了impala查询
##在这里登录到sentry主机,将授权用户需要访问的数据库授权
ssh root@IP
impala-shell -u impala
##连接impala主机
[Not connected] > connect $ip
##查看授权的用户是否在已有的角色列表中;如果没有,则创建角色,并授权
create role $user;
GRANT select ON DATABASE $DBname TO ROLE $user;
GRANT select ON DATABASE $DBname TO ROLE $user;
grant role $user to group $user;
exit;
##登录到Hue链接的impala主机上
ssh root@$IP
useradd $user
usermod -a -G $group $user
less /etc/group|grep $user
##将用户授权给用户所属者
grant $user query to group $group
Yarn 队列授权
操作流程:
群集->动态资源池配置->选择授权队列->编辑->选择提交访问控制->填写用户保存
为hadoop用户授予root相同的权限
chattr -i /etc/sudoers
chmod u+w /etc/sudoers
vi /etc/sudoers
hadoop ALL=(ALL) NOPASSWD: NOPASSWD: ALL
less /etc/sudoers
chmod u-w /etc/sudoers
chattr +i /etc/sudoers