
# 配置HBase权限策略时无法使用通配符搜索已存在的HBase表
#### 问题
添加HBase的Ranger访问权限策略时，在策略中使用通配符搜索已存在的HBase表时，搜索不到已存在的表，并且在/var/log/Bigdata/ranger/rangeradmin/ranger-admin-\*log中报以下错误
```
Caused by: javax.security.sasl.SaslException: No common protection layer between client and server
at com.sun.security.sasl.gsskerb.GssKrb5Client.doFinalHandshake(GssKrb5Client.java:253)
at com.sun.security.sasl.gsskerb.GssKrb5Client.evaluateChallenge(GssKrb5Client.java:186)
at org.apache.hadoop.hbase.security.AbstractHBaseSaslRpcClient.evaluateChallenge(AbstractHBaseSaslRpcClient.java:142)
at org.apache.hadoop.hbase.security.NettyHBaseSaslRpcClientHandler$2.run(NettyHBaseSaslRpcClientHandler.java:142)
at org.apache.hadoop.hbase.security.NettyHBaseSaslRpcClientHandler$2.run(NettyHBaseSaslRpcClientHandler.java:138)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:422)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1761)
at org.apache.hadoop.hbase.security.NettyHBaseSaslRpcClientHandler.channelRead0(NettyHBaseSaslRpcClientHandler.java:138)
at org.apache.hadoop.hbase.security.NettyHBaseSaslRpcClientHandler.channelRead0(NettyHBaseSaslRpcClientHandler.java:42)
at org.apache.hbase.thirdparty.io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
at org.apache.hbase.thirdparty.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
```
#### 回答
Ranger界面上HBase服务插件的"hbase.rpc.protection"参数值和HBase服务端的"hbase.rpc.protection"参数值必须保持一致。
1. 参考[登录Ranger WebUI界面](https://support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_1850.html)章节，登录Ranger管理界面。
2. 在首页中"HBASE"区域，单击组件插件名称，如HBase的![](https://support.huaweicloud.com/cmpntguide-lts-mrs/zh-cn_image_0000001724866677.png)按钮
3. 搜索配置项"hbase.rpc.protection"，修改配置项的value值，与HBase服务端的"hbase.rpc.protection"的值保持一致。
4. 单击"保存"。
 
