Kerberos,sentry 操作 hive 以及 hbase 权限

分享 123456789987654321 ⋅ 于 2021-07-09 08:19:23 ⋅ 252 阅读

kerberos

sed命令

#sed -i 就是直接对文本文件进行操作的
sed -i 's/原字符串/新字符串/' 文件名   对每行匹配的第一个字符进行替换
sed -i 's/原字符串/新字符串/g' 文件名  对每行所有的匹配的字符进行替换

#去掉 “行首” 带“@”的首字母@
sed -i 's/^@//' file

#特定字符串的行前插入新行
sed -i '/特定字符串/i 新行字符串' file

#特定字符串的行后插入新行
sed -i '/特定字符串/a 新行字符串' file

#特定字符串的删除
sed -i '/字符串/d' file

一、建立每个系统的超级管理员用户

2.建立hive超级管理员用户

1.添加主体
kadmin.local
#? 查看相关命令

# addprinc -pw 密码 用户名@配置文件的邮箱
addprinc -pw xiniu xiniu@HAINIU.COM

2.生成秘钥
#不生成随机密码     在哪个目录下生成      对哪个用户生成
xst -norandkey -k /data/xiniu.keytab xiniu
exit

3.赋权限

[root@worker-1 data]# chown xiniu:xiniu xiniu.keytab   
[root@worker-1 data]# chmod 777 xiniu.keytab

4.kerberos认证(切换认证用户)

认证方式一,使用keytab认证 参数kt意义为keytab文件路径 后面接要认证的主体名,keytab文件要和主体名一致

kinit -kt /data/xiniu.keytab xiniu

#认证方式二,是用主体加密码的方式认证
[xiniu@worker-1 data]# kinit xiniu
# 输入密码,即创建主体principal时-pw设置的密码
password

5.查看当前票据 (查看当前session认证用户)

[xiniu@worker-1 data]# klist

6.注销认证用户

[xiniu@worker-1 data]# kdestroy

7.删除注销用户

delprinc '主体名'

二、sentry权限管理-hive

1.认证用户

[xiniu@worker-1 data]$ kinit -kt /data/xiniu.keytab xiniu

2.使用kerberos认证方式登录hive

#使用beeline的方式连接hive,
#第一个worker-1为hiveserver2所在节点的域名,
#第二个worker-1为kerberos的server服务器域名

beeline -u "jdbc:hive2://worker-1:10000/;principal=hive/worker-1@HAINIU.COM"

sentry操作

--hive 超级管理员
create role admin;
grant all on server server1 to role admin;
grant role admin to group hive;

-- 创建角色
create role user1_role;
-- 给角色赋予数据库权限
grant all on database db1 to role user1_role;
-- 给角色赋予表权限
grant select on table db2.test2 to role user1_role;
-- 给角色赋予表中的某一列的权限
grant select(id) on table db2.test2 to role user1_role;
-- 授权角色给用户组
grant role user1_role to group user1;
-- 删除角色
drop role user1_role;
-- 查看角色权限
show grant role user1_role on database db1;
show grant role user1_role on table test1;
-- 权限收回
revoke select on table db2.test2 from role user1_role;
revoke all on database db2 from role user2;
-- 查看某个组都授权了哪些角色
show role grant group hainiu;

3.sentry权限管理-hbase

1)权限分类

RWXCA

•HBase ACLs的访问分为5个级别:
 Read(R) : 可以读取给定范围内数据的权限
 Write(W) : 可以在给定范围内写数据
 Executor(X) : 可以在指定表执行Endpoints类型的协处理
 Create(C) : 可以在给定范围内创建和删除表(包括非该用户创建的表)
 Admin(A) : 可以执行集群操作,如平衡数据等

2)hbase权限验证

用户授权

#1.创建hbase的超级管理员
[root@worker-1 ~]# useradd Hbase
[root@worker-1 ~]# passwd Hbase
#2. 安全认证
kinit -kt /data/xinniu.keytab xinniu 认证的哪个用户登录hbase就是哪个用户
#3. 登陆hbase
hbase shell
#4. 查看当前登陆用户
whoami
# 查看表
list
# 创建表
create 'testacl','cf'

# grant 用户组 给什么权限 CA权限等同于RWXCA所有权限
#当@出现在第一个参数位置的时候,代表的是用户组
grant '@Hbase','CA'

#查看当前所有用户及组权限
user_permission '.*'

命名空间acl授权

# 当@出现在第三个参数位置的时候代表的是命名空间,
第一个参数是你给哪个用户赋权,第二个参数代表给什么权限,第三个参数是命名空间
grant 'mapengfei','RWXCA','@mpf'

表级授权

#给mapengfei用户mpf:tableacl的所有权限
grant 'mapengfei','RWXCA','mpf:tableacl'

列族acl授权

给其他用户授权指定列族
                    命名空间:表名,烈族名
grant '用户名','RW','mpf:cfacl','cf1'

权限收回

revoke '用户名', 'mpf:cfacl', 'cf1'
版权声明:原创作品,允许转载,转载时务必以超链接的形式表明出处和作者信息。否则将追究法律责任。来自海牛部落-123456789987654321,http://hainiubl.com/topics/75756
回复数量: 0
    暂无评论~~
    • 请注意单词拼写,以及中英文排版,参考此页
    • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
    • 支持表情,可用Emoji的自动补全, 在输入的时候只需要 ":" 就可以自动提示了 :metal: :point_right: 表情列表 :star: :sparkles:
    • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif,教程
    • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
    Ctrl+Enter