cdh用户权限_数据平台(hadoop)多用户权限管理

本文详细介绍了在CDH环境下进行多用户权限管理的方法,包括Hive的表权限配置、权限优化,以及HDFS的文件权限管理。通过实例解析了SQL Standard Base的权限控制,并提出了解决Hive CLI权限问题的优化方案。
摘要由CSDN通过智能技术生成

概述

CDH测试集群已经搭建好了,勉强算是有个数据平台可以实践了,这几天一直在忙多用户权限管理的问题,借鉴网上博客,但抄袭无数,基本百度第一页都是一模一样的内容(渣渣)。信息混乱,过时,很多博客根本没作用或者讲的不清不楚,踩坑无数,心里下定决心,一定要写篇博客专门讲清楚,这次不讲底层本质,讲应用

导读

认证 (authentication) 和授权 (authorization)

表权限

表权限优化

文件权限

平台权限和控制

认证 (authentication) 和授权 (authorization)

前提:用户已经合法,已经有相应权限

通俗举例(hive)

认证:用户登录hive客户端,是否有kerberos密钥证明用户合法

授权:认证后,获得对hive表增删改查相应的权限

hadoop认证这块基本都是用kerberos,但公司hadoop这块还处于起步阶段,不需要搞得这么复杂,所以认证基本靠linux的认证,这块不在本文讨论范围

表权限

CDH版本为5.13,hive版本为1.1.0(版本很重要),客户端选的是beeline,权限控制这块是sql standard base。顾名思义,类似传统数据库的权限控制方法,hiveserver2作为一道关卡,解析并授权beeline提交上来的sql,对权限的配置其实就是对hiveserver2的配置,简单高效又容易管理。具体的权限控制相关表可在元数据库查询,如下:

Db_privs:记录了User/Role在DB上的权限

Tbl_privs:记录了User/Role在table上的权限

Tbl_col_privs:记录了User/Role在table column上的权限

Roles:记录了所有创建的role

Role_map:记录了User与Role的对应关系

配置不能全信(包括我的),只能做参考,要看源码,源码,源码,hive1.1源码配置中的相关类说明,甚至测试类,配置的说明和默认值,源码都有

hive.security.authorization.enabled

true

hive.users.in.admin.role

hive

hive.security.authorization.manager

org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdHiveAuthorizerFactory

hive.security.authenticator.manager

org.apache.hadoop.hive.ql.security.SessionStateUserAuthenticator

hive.security.authorization.task.factory

官网(SqlBasedAuthorization)有详细的说明和配置,但是没有具体到版本,还是要回归源码,还是要亲自验证

表权限优化

通过beeline的方式,表权限控制已经能满足平台化需求,但是,在使用中发现,用hive cli方式是不用经过hiveserver2的,所以导致hive cli是不受权限约束的。权衡利弊下,为了管理和使用上的方便,默认所有用户只能使用beeline,但是用户的使用习惯是不可控的,因此需要从底层出发:

把hive脚本权限设置为对非root用户只读

修改hive脚本,使用hive cli的时候自动转向beeline

文件权限

hadoop acl 搞定一切,能够对目录,文件进行多个用户赋权,这个具体上网查询,hdfs-site.xml设置启动acl配置如下(没有歧义,可靠):

dfs.permissions.enabled

true

dfs.namenode.acls.enabled

true

core-site.xml设置用户组默认权限.

fs.permissions.umask-mode

002

平台权限需求和控制

总结

本文讲述了数据平台权限的建立,主要为表权限和文件权限

表权限方面介绍了beeline的权限开通和配置,着重讲了怎么依靠官网和源码进行正确的配置,同时对表权限的一些不足做小优化,文件权限主要是acl开通配置。最后结合自身平台对权限的需求,列举相关的控制手段。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值