前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >HBase授权 转

HBase授权 转

作者头像
双面人
发布2019-04-10 14:34:19
8510
发布2019-04-10 14:34:19
举报
文章被收录于专栏:热爱IT

HBase在不开启授权的情况下,任何账号对HBase集群可以进行任何操作,比如disable table/drop table/major compact等等。

说明

对于没有Kerberos认证的集群,即使开启了HBase授权,用户也可以伪造身份访问集群服务。所以建议创建高安全模式(即支持Kerberos)的集群,详见Kerberos安全文档

添加配置

在HBase集群的集群与服务管理页面选择HBase > 配置 > hbase-site > 自定义配置

添加如下几个参数:

试用

代码语言:javascript
复制
<property>
     <name>hbase.security.authorization</name>
     <value>true</value>
</property>
<property>
     <name>hbase.coprocessor.master.classes</name>
     <value>org.apache.hadoop.hbase.security.access.AccessController</value>
</property>
<property>
     <name>hbase.coprocessor.region.classes</name>
 <value>org.apache.hadoop.hbase.security.token.TokenProvider,org.apache.hadoop.hbase.security.access.AccessController</value>
</property>
<property>
  <name>hbase.coprocessor.regionserver.classes</name>
  <value>org.apache.hadoop.hbase.security.access.AccessController,org.apache.hadoop.hbase.security.token.TokenProvider</value>
</property>

重启HBase集群

在HBase集群的集群与服务管理页面选择HBase > 操作 > RESTART All Components

授权(ACL)

  • 基本概念 授权就是将对 [某个范围的资源] 的 [操作权限] 授予[某个实体] 在HBase中,上述对应的三个概念分别为:
    • 某个范围(Scope)的资源
      • Superuser 超级账号可以进行任何操作,运行HBase服务的账号默认是Superuser。也可以通过在hbase-site.xml中配置hbase.superuser的值可以添加超级账号
      • Global Global Scope拥有集群所有table的Admin权限
      • Namespace 在Namespace Scope进行相关权限控制
      • Table 在Table Scope进行相关权限控制
      • ColumnFamily 在ColumnFamily Scope进行相关权限控制
      • Cell 在Cell Scope进行相关权限控制
    • 操作权限
      • Read (R) 读取某个Scope资源的数据
      • Write (W) 写数据到某个Scope的资源
      • Execute (X) 在某个Scope执行协处理器
      • Create (C) 在某个Scope创建/删除表等操作
      • Admin (A) 在某个Scope进行集群相关操作,如balance/assign等
    • 某个实体
      • User 对某个用户授权
      • Group 对某个用户组授权
  • 授权命令
    • grant 授权 试用 grant <user> <permissions> [<@namespace> [<table> [<column family> [<column qualifier>]]] 说明
      • user/group的授权方式一样,group需要加一个前缀@ 试用 grant 'test','R','tbl1' #给用户test授予表tbl1的读权限 grant '@testgrp','R','tbl1' #给用户组testgrp授予表tbl1的读权限
      • namespace需要加一个前缀@ 试用 grant 'test 'C','@ns_1' #给用户test授予namespace ns_1的CREATE权限
    • revoke 回收
    • user_permissions 查看权限

(adsbygoogle = window.adsbygoogle || []).push({});

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 添加配置
  • 重启HBase集群
  • 授权(ACL)
相关产品与服务
访问管理
访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档