`
ziye520
  • 浏览: 13114 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Hbase 之访问控制

 
阅读更多

权限控制范围包括库级别(全局)、表级别、列簇级别和列级别,目前总共有五种级别,分别是  READ('R'), WRITE('W'), EXEC('X'), CREATE('C'), ADMIN('A') 其中Exec 目前没有使用,CREATE,ADMIN只涉及库级别和表级别,列簇级别和列级别只涉及到READWRITE权限。

Hbase 提供了相应的api 来操作用户的访问控制。涉及的类主要有以下几个

org.apache.hadoop.hbase.security.access.AccessController 

这是对所有访问进行拦截的入口,它既是MasterObserver又是RegionObserver,言下之意,它能拦截所有的操作

org.apache.hadoop.hbase.security.access.AccessControlLists

管理由AccessController 授权的权限列表

org.apache.hadoop.hbase.security.access.TableAuthManager

负责对用户进行权限检测。该类的实例缓存了所有的用户Permission。

 

下面举几个简单的例子。来展示下Hbase 的权限访问控制是如何实现的

	public static void grant(final String userName,final String tableName,final String columnFamily,final String qulifier) 
			throws IOException, 
				   InterruptedException{
		
		User user = User.create(UserGroupInformation.createRemoteUser("root"));
		System.out.println("user.isSecurityEnabled:"+User.isSecurityEnabled());
		
		user.runAs(new PrivilegedExceptionAction<Object>(){
		     @Override
		     public Object run()throws Exception{
			  HTable acl = new HTable(conf, AccessControlLists.ACL_TABLE_NAME);
		        try {
		          BlockingRpcChannel service = acl.coprocessorService(Bytes.toBytes("scores"));
		          AccessControlService.BlockingInterface protocol =
		            AccessControlService.newBlockingStub(service);
		          ProtobufUtil.grant(protocol, userName, TableName.valueOf(tableName),
		            Bytes.toBytes(columnFamily), Bytes.toBytes(qulifier), Action.READ,Action.WRITE);
		        } finally {
		          acl.close();
		        }
		        
		        return null;
		        }
		        }
		     );
	}

 

分享到:
评论

相关推荐

    基于HBase的细粒度访问控制方法研究

    为增强HBase的安全访问控制能力,提出一种针对HBase的细粒度访问控制方法。该方法通过修改优化HBase源码,扩展访问控制权限、重写访问控制器达到细粒度访问控制的目的。归纳出应用于HBase的RBAC模型,内建数据库角色...

    Hbase中文文档

    8.2. 访问控制 9. 架构 9.1. 概述 9.2. Catalog Tables 9.3. 客户端 9.4. Client Request Filters 9.5. Master 9.6. RegionServer 9.7. Regions 9.8. Bulk Loading 9.9. HDFS 10. 外部 APIs 10.1. 非Java语言和 JVM...

    Hbase系统架构及数据结构

    HBase中的表一般有这样的特点:1大:一个表可以有上亿行,上百万列2面向列:面向列(族)的存储和权限控制,列(族)独立检索。3稀疏:对于为空(null)的列,并不占用存储空间,因此,表可以设计的非常稀疏。下面一幅图是...

    Hbase原理分享

    HBase是一种构建在HDFS之上的分布式、面向列、多版本、非关系型的数据库。在需要实时读写、随机访问超大规模数据集时,可以使用HBase。HBase是GoogleBigtable的开源实现。大:一个表可以有上亿行,上百万列。面向列...

    Apache Hadoop---Ranger.docx

    Apache Ranger提供一个集中式安全管理框架, 并解决授权和...它可以对Hadoop生态的组件如HDFS、Yarn、Hive、Hbase等进行细粒度的数据访问控制。通过操作Ranger控制台,管理员可以轻松的通过配置策略来控制用户访问权限。

    cdh6.1.0搭建手册.pdf

    CDH是Apache许可的开放源码,是唯一提供统一批处理,交互式SQL和交互式搜索以及基于角色的访问控制的Hadoop解决方案。 Cloudera作为一个强大的商业版数据中心管理工具,提供了各种能够快速稳定运行的数据计算框架...

    第三届系统架构师大会全部的PPT

    Cassandra与HBase系统架构比对.pdf CDN运营支撑平台架构实践.pdf Defeat+Google+DNS:优化访问速度.pdf eBay数据仓库实践:元数据管理及应用.pdf Hadoop最新的研究重点和进展.pdf MongoDB简介与实践.pdf PowerHA+...

    2017最新大数据架构师精英课程

    80_hdfs-maven-hdfs API访问8 s8 J# W* l- i% x, ]: L! L 81_hdfs-maven-idea的集成处理 82_hdfs-block大小-副本数设定9 o$ I! k4 |+ ]9 q2 h8 ]# x6 B, S* Y$ W 83_hdfs-网络拓扑-写入剖析2 g4 Z0 j& K; Z, K 84_...

    Cloudera CDH大数据平台搭建参考手册

    CDH是Apache许可的开放源码,是唯一提供统一批处理,交互式SQL和交互式搜索以及基于角色的访问控制的Hadoop解决方案。 Cloudera作为一个强大的商业版数据中心管理工具,提供了各种能够快速稳定运行的数据计算框架...

    数据库审计系统基本原理与部署方式.pdf

    影响⾏风险 对超过指定⾏数的更新、删除、查询和导出⾏为进⾏告警 权限风险 对⽤户、操作(DML、DDL、DCL)和对象进⾏访问控制风险定义。 增加Update Nowhere和Delete Nowhere等⾼危操作的风险告警 漏洞攻击 对符合...

    大数据开发的技巧总结以及入门教程知识点总结.docx

    分布式系统理解:掌握分布式计算原理,...数据安全:实施数据加密、访问控制、隐私保护等安全措施。 数据分析:具备基本的数据挖掘和统计学知识,会使用Mahout、MLlib等机器学习库。 容器化部署:利用Docker、Kuber

    Apache Ranger剖析:Hadoop生态圈的安全管家

    然而,兄弟多了不好管,为了抢占企业级市场,各家都迭代出自己的一套访问控制体系,不管是老牌系统(比如HDFS、HBase),还是生态新贵(比如Kafka、Alluxio),ACL(Access Control List)支持都是Roadmap里被关注最高...

    Linkis:Linkis可帮助轻松连接到各种后端计算存储引擎(Spark,Python,TiDB ...),公开各种接口(REST,JDBC,Java ...),具有多租户,高性能和资源控制

    Linkis基于微服务架构,提供了企业级的多租户隔离,资源管理和访问控制功能。 它还为管理统一变量,UDF,函数和资源文件提供了方便的支持。 在高并发,高性能和高可用性的情况下,它还具有完善的任务/作业生命周期...

    ApacheRanger剖析:Hadoop生态圈的安全管家

    兄弟多了不好管,为了抢占企业级市场,各家都迭代出自己的一套访问控制体系,不管是老牌系统(比如HDFS、HBase),还是生态新贵(比如Kafka、Alluxio),ACL(AccessControlList)支持都是Roadmap里被关注最高的issue之一...

    金融大数据服务平台解决方案.docx

    采用加密技术、访问控制等措施,保障数据的安全性和机密性。同时,遵循相关法律法规和行业标准,对个人隐私数据进行脱敏处理和保护。 数据服务与应用集成:提供丰富多样的数据服务和应用集成接口,方便业务部门和...

    数据科学

    数据科学数据科学之路程式设计• • •Excel •可以轻松使用终端,Git中的版本控制以及使用GitHub• • • : 访问数据库,CSV和JSON数据使用熊猫进行数据清理和转换可视化仪表板机器学习: 特征工程回归算法分类...

    云计算第二版

    2.5.3 Megastore中的事务及并发控制 46 2.5.4 Megastore基本架构 47 2.5.5 核心技术——复制 49 2.5.6 产品性能及控制措施 52 2.6 大规模分布式系统的监控基础架构Dapper 54 2.6.1 基本设计目标 54 2.6.2 Dapper监控...

    嗡嗡声服务器

    私人频道,您可以控制有权访问频道的人。 完整的管理API ,使用功能强大的管理API管理您的Buzz服务器。 监视,使用我们的stackdriver(以及更多)度量指标导出器轻松监视服务器。 入门 使用免费的云端托管Buzz...

Global site tag (gtag.js) - Google Analytics