以下是在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>
```。
參考來源: