HBase用户管理与认证
更新时间 2026-10-12 11:42:29
最近更新时间: 2026-10-12 11:42:29
本章节介绍HBase用户管理与认证。
认证方式
创建翼MR集群时,默认开启Kerberos安全访问模式。客户端访问 HBase 前,需要使用 keytab 证书完成 Kerberos 认证。操作为先获取并部署 keytab,再执行 kinit 命令认证当前用户,之后才能执行建表、读写等需要权限的操作。
说明
您可在翼MR控制台与Manager进行创建业务用户与申请keytab等操作,本文档后续命令示例中,涉及 kinit 的步骤,仅在使用 Kerberos 安全模式时需要执行。
权限模型(HBase ACL)
HBase 提供原生的访问控制(ACL),可针对"用户"或"用户组"授予不同粒度、不同操作的权限。权限的授予范围是逐层收敛的,越上层范围越大:
| 权限范围 | 含义 |
|---|---|
| 超级用户(Superuser) | 拥有 HBase 全部权限,可操作任何资源。hbase-site.xml配置文件里的hbase.superuser 配置的用户即为超级用户。 |
| 全局(Global) | 对整个集群所有表生效的权限。 |
| 命名空间(Namespace) | 对指定命名空间下的所有表生效。 |
| 表(Table) | 对单张表的数据与元数据生效。 |
| 列族(ColumnFamily) | 对指定列族下的单元格生效。 |
| 单元格(Cell) | 精确到具体坐标(行键、列、时间戳)的权限,可随数据精细演进。 |
每个范围上可授予的操作权限如下:
| 操作权限 | 说明 |
|---|---|
| 读取(R) | 读取指定范围的数据。 |
| 写入(W) | 向指定范围写入数据。 |
| 执行(X) | 在指定范围执行协处理器端点。 |
| 创建(C) | 在指定范围创建或删除表。 |
| 管理(A) | 在指定范围执行集群管理类操作(如均衡、分配 Region)。 |
授权通过 grant 命令完成,回收通过 revoke 命令。命令格式如下:
grant <user 或 @group>, <permissions> [, <table> [, <column family> [, <column qualifier>]]]
# 例:授予用户 op 在命名空间 ns1 上的读写执行创建管理权限
grant 'op', 'RWXCA', '@ns1'