场景:hadoop集群已经进行kerberos认证

  • 启动Hbase相关配置

  • Hbase权限分为以下五种:

Read(R) : 可以读取给定范围内数据的权限

Write(W) : 可以在给定范围内写数据

Executor(X) : 可以在指定表执行Endpoints类型的协处理

Create(C) : 可以在给定范围内创建和删除表(包括非该用户创建的表)

Admin(A) : 可以执行集群操作,如平衡数据等

以上5个控制级别都需要为其指定范围,范围定义如下:

Superuser : 超级用户可以执行HBase中所有操作及任何资源(如:hbase用户)

Global: 在全局范围内授予的权限,可以在超级管理下创建多种集群管理员

Namespace: 在命名空间范围内授权,适用于命名空间内所有表

Table: 表范围授权,适用于为指定表进行授权

ColumnFamily: ColumnFamily范围内授权

Cell: 为指定的单元格进行授权

grant

grant <user>, <permissions> [, <@namespace> [, <table> [, <column family> [, <column qualifier>]]]

  • 对指定用户授权

使用kerberos 授权的hdfs用户执行创建表,对HDFS文件系统hdfs有最高的权限,但是在hbase shell中创建表也是没有权限(前提是启动kerberos,未启动的集群可以随便搞~)

hbase(main):001:0> create 'test','fn'ERROR: org.apache.hadoop.hbase.security.AccessDeniedException: Insufficient permissions (user=hdfs@JAST.COM, scope=default, params=[namespace=default,table=default:test,family=fn],action=CREATE)

使用kerberos 授权的hbase用户有最高权限,我们使用hbase,授权给hdfs相关权限

kinit -kt hbase.keytab hbase@JAST.COM # 切换hbase 

给hdfs用户授权 Create(C) 、Admin(A) 权限

hbase(main):004:0> grant 'hdfs','CA'
0 row(s) in 0.2240 secondshbase(main):005:0> user_permission
User                                         Namespace,Table,Family,Qualifier:Permission                                                                                       hdfs                                        hbase,hbase:acl,,: [Permission: actions=CREATE,ADMIN] 

测试创建表 ,成功

hbase(main):005:0> create 'test2','ss'
0 row(s) in 1.2710 seconds

测试查询数据,发现只能查询、添加使用hdfs创建的表,其他表提示无权限(写入也无权限这里不做测试了)

hbase(main):003:0> scan 'test',{LIMIT=>1}
ROW                                          COLUMN+CELL                                                                                                                       ERROR: org.apache.hadoop.hbase.security.AccessDeniedException: Insufficient permissions for user 'hdfs' (table=test, action=READ)

也就是说授予CA权限的用户可以对自己新建的表进行读、写、删除等操作,但不能操作非admin用户创建的表。如果admin用户拥有RCA的权限则可以读非admin用户创建的表进行操作(如:读、写、删除操作)

注意:这里给用户设置了A的权限,他同时也可以修改其他用户的相关权限,所以admin谨慎设置,超级用户与hbase用户不受ACL权限控制,即便设置了也不生效

查看权限发现的确与测试结果相同

hbase(main):012:0> user_permission '.*'
User                                         Namespace,Table,Family,Qualifier:Permission                                                                                       hdfs                                        hbase,hbase:acl,,: [Permission: actions=CREATE,ADMIN]                                                                             hbase                                       default,test,,: [Permission: actions=READ,WRITE,EXEC,CREATE,ADMIN]                                                                hdfs                                        default,test2,,: [Permission: actions=READ,WRITE,EXEC,CREATE,ADMIN]
3 row(s) in 0.7510 seconds

重新授权,可以查看所有表数据~

hbase(main):004:0> grant 'hdfs','CAR'
0 row(s) in 0.0700 secondshbase(main):005:0> user_permission
User                                         Namespace,Table,Family,Qualifier:Permission                                                                                       hdfs                                        hbase,hbase:acl,,: [Permission: actions=CREATE,ADMIN,READ]
1 row(s) in 0.0320 seconds#授权后查看数据,成功
hbase(main):005:0> scan 'test',{LIMIT=>1}
ROW                                          COLUMN+CELL                                                                                                                       0000300_04bedaa8de0a226b3a7f48f12c5504a8    column=fn:article_type, timestamp=1562936918988, value=2                                                                          0000300_04bedaa8de0a226b3a7f48f12c5504a8    column=fn:crawler_site_id, timestamp=1562936918988, value=300                                                                     0000300_04bedaa8de0a226b3a7f48f12c5504a8    column=fn:crawler_time, timestamp=1562936918988, value=2019-07-09 20:17:51.473                                                    0000300_04bedaa8de0a226b3a7f48f12c5504a8    column=fn:created_at, timestamp=1562936918988, value=2019-07-09 07:00:00.000                                                      0000300_04bedaa8de0a226b3a7f48f12c5504a8    column=fn:created_date, timestamp=1562936918988, value=20190709                                                                   0000300_04bedaa8de0a226b3a7f48f12c5504a8    column=fn:download_type, timestamp=1562936918988, value=297                                                                       0000300_04bedaa8de0a226b3a7f48f12c5504a8    column=fn:emotion, timestamp=1562936918988, value=\xE4\xB8\xAD\xE6\x80\xA7                                                        0000300_04bedaa8de0a226b3a7f48f12c5504a8    column=fn:grade_all, timestamp=1562936918988, value=2                                                                             0000300_04bedaa8de0a226b3a7f48f12c5504a8    column=fn:media_type, timestamp=1562936918988, value=["002-001","001-002"]
  • 赋予某个用户命名空间权限
#给hdfs用户赋予命名空间default读R权限
grant 'hdfs','R','@default'
#hdfs用户移除命名空间default的权限
revoke 'hdfs','@default'
  • 赋予某个用户某个表的权限
#给hdfs 赋予表TEST_TABLE_NAME 读权限
grant 'hdfs','R','TEST_TABLE_NAME'
  • 赋予某个用户某个列的权限
#赋予权限
grant 'hdfs','R','TEST_TABLE_NAME','fn','text'
#查看
hbase(main):019:0> user_permission 'TEST_TABLE_NAME'
User                                        Namespace,Table,Family,Qualifier:Permission                                                                                                                                              hdfs                                       TEST_TABLE_NAME,fn,text: [Permission: actions=READ]
#删除
revoke 'hdfs','TEST_TABLE_NAME','fn','text'

HBase ACL管理 Hbase 权限管理相关推荐

  1. linux组权限管理,Linux组管理和权限管理

    ⒈Linux组基本介绍 1)在Linux中的每个用户必须属于一个组,不能独立于组外. 2)Linux中每个文件都有所有者.所在组.其它组的概念 ①所有者 一般(默认)为文件的创建者,谁创建了该文件,就 ...

  2. JAVAWEB开发之权限管理(一)——权限管理详解(权限管理原理以及方案)、不使用权限框架的原始授权方式详解

    知识清单 1.了解基于资源的权限管理方式 2. 掌握权限数据模型 3. 掌握基于url的权限管理(不使用Shiro权限框架的情况下实现权限管理) 4. shiro实现用户认证 5. shiro实现用户 ...

  3. MySQL学习笔记07【事务、用户管理和权限管理】

    MySQL 文档-黑马程序员(腾讯微云):https://share.weiyun.com/RaCdIwas 1-MySQL基础.pdf.2-MySQL约束与设计.pdf.3-MySQL多表查询与事务 ...

  4. MySQL用户管理和权限管理

    MySQL用户管理和权限管理 在项目中,一个数据库有很多人需要使用,不能所有的人都使用相同的权限,如果人比较多,一人一个用户也很难管理.一般来说,会分超级管理员权限,管理员权限,读写权限,只读权限等, ...

  5. 智能家居助手后台系统原型/智慧家居后台管理系统/应用分析/页面分析/设备分析/用户管理/运营管理/权限管理/系统设置/问题反馈/商城管理/消息管理/用户画像/公告管理/账号画像/留存用户/数据埋点

    作品介绍:智能家居助手后台系统原型/智慧家居后台管理系统/应用分析/页面分析/设备分析/用户管理/运营管理/权限管理/系统设置/问题反馈/商城管理/消息管理/用户画像/公告管理/账号画像/留存用户/数 ...

  6. 智慧、智能图书馆管理平台系统+web端业务数据管理平台+Axure通用web端高保真交互业务数据管理平台+铭牌管理+设备监控+系统管理+内容管理+机构列表管理+用户权限管理+专题管理+服务包管理

    作品介绍:智慧.智能图书馆管理平台系统+web端业务数据管理平台+Axure通用web端高保真交互业务数据管理平台+铭牌管理+设备监控+系统管理+内容管理+机构列表管理+用户权限管理+专题管理+服务包 ...

  7. Linux(5) 组管理和权限管理

    Linux(5) 组管理和权限管理 学习视频:https://www.bilibili.com/video/BV1Sv411r7vd?p=46&spm_id_from=pageDriver 一 ...

  8. Ubuntu/Linux用户管理与权限管理(超详细解析)

    由于实验室几个老师的学生要共同使用一台服务器,所以需要规范一下服务器的使用,并且给各位学生配置相关的用户和权限,之前一直都是自己用,所以借此机会学习和总结一下Linux服务器的用户管理与权限管理. U ...

  9. Linux之用户管理、权限管理、程序安装卸载

    一. 用户管理 1. 查看账户 (1). 查看当前账号:whoami ​(2). 查看系统当前登录的账号:who ​补充常用选项: ​(3). 查看系统所有的账号: cat /etc/passwd ​ ...

  10. Linux 组管理和权限管理

    组管理和权限管理 Linux组基本介绍 文件/目录所有者 查看文件的所有者 修改文件所有者 组的创建 文件/目录所在组 查看文件/目录所在组 修改文件所在的组 改变用户所在组 权限的基本介绍 rwx权 ...

最新文章

  1. idea uml图怎么画_有了IDEA中的这款插件,流程图、类图轻松搞定,简直神器
  2. 第十天2017/04/21(2、泛型编程:模板 / 全特化、偏特化)
  3. STM32的ADC通道间干扰的问题
  4. word文档保存发生错误_文档还是没有发生
  5. python 极速后台开发框架_基于FastAdmin快速搭建后台管理系统
  6. 系统学习机器学习之正则化(二)
  7. 精灵混合加密系统_混合云的数据备份
  8. 【T3】打印凭证没有任何反应
  9. 阿里云ACA课程之阿里云简介
  10. Fully-hierarchical fine-grained prosody modeling for interpretable speech synthesis
  11. UOJ #60 [UR #5] 怎样提高智商
  12. 什么是SEO,为什么要做SEO?
  13. 计算机工作室名字大全,设计工作室名字(精选300个)
  14. 一行代码帮你彻底解决pip下载速度慢的问题,更改pip源至国内镜像(无须新建文件夹), 享受飞一般的速度
  15. 作为泛娱乐圈专属域名,.fans岂能错过这匹年末综艺“黑马”?
  16. 使用openCV进行边缘检测、二值化、轮廓、轮廓检测、BGR、灰度图、二值化,专栏:各种openCV实践的案例
  17. Jenkins Bitbucket Vue 部署
  18. kubernetes(k8s)部署报错问题解决
  19. sed 首行加一行,末尾加一行
  20. 实用新型专利申请书——一种基于蓝牙定位的地摊打卡装置

热门文章

  1. python修改列表指定位置的_Python 基础教程—列表(1)
  2. pythonwx功能_python中wx模块的具体使用方法
  3. Java的主要特性有哪些?
  4. c++ mqtt客户端_MQTT详解及百度物接入连接手机测试(含源码) 秦子帅
  5. mysql排序行号_mysql 取得行号后再排序
  6. html button跳转页面_HTML跳转到页面指定位置的几种方法
  7. linux没有usr目录_了解linux系统目录,sys,tmp,usr,var!
  8. wan口有流量但电脑上不了网_wan口有ip地址但是上不了网怎么办?
  9. matlab数据接口技术,matlab接口技术与应用
  10. 正交变换在基下的矩阵都是可逆阵_矩阵分析与应用(一,矩阵基础知识)