以下是在CentOS上设置HBase安全的关键步骤:
启用Kerberos认证
sudo yum install krb5-workstation
。hbase-site.xml
中添加:<property>
<name>hbase.security.authentication</name>
<value>kerberos</value>
</property>
<property>
<name>hbase.master.kerberos.principal</name>
<value>hbase/_HOST@YOUR_REALM</value>
</property>
<property>
<name>hbase.regionserver.kerberos.principal</name>
<value>hbase/_HOST@YOUR_REALM</value>
</property>
```。
sudo systemctl restart hbase-master hbase-regionserver
。配置访问控制列表(ACL)
hbase-site.xml
中添加:<property>
<name>hbase.security.access.controller</name>
<value>org.apache.hadoop.hbase.security.access.AccessController</value>
</property>
<property>
<name>hbase.security.authorization</name>
<value>true</value>
</property>
```。
hbase> grant 'user1', 'RW', 'table1:cf1' # 授权用户对指定表列族的读写权限
hbase> revoke 'user2', 'W', 'table2:cf2' # 撤销用户对指定表列族的写权限
```。
配置防火墙
sudo firewall-cmd --permanent --zone=public --add-port=16000/tcp
sudo firewall-cmd --reload
```。
验证配置
klist
查看票据,hbase shell
测试连接。hbase shell scan 'table'
确认用户访问权限。其他安全增强(可选)
hbase-site.xml
中添加:<property>
<name>hbase.security.audit.log</name>
<value>true</value>
</property>
<property>
<name>hbase.security.audit.log.file</name>
<value>/var/log/hbase/audit.log</value>
</property>
```。
参考来源: