我正在使用Cloudera Hadoop集群,其中启用了kerberos安全性。但在属性文件中,我提到 hbase.encryption 为none。所以我需要在 hbase-site.xml 中将属性 hbase.rpc.protection 的值更改为none。我尝试将此属性值设置为none但它失败,因为在Cloudera中它仅显示身份验证,隐私和完整性选项。那么有人有解决方案吗?提前谢谢。
答案 0 :(得分:0)
您只能为hbase.rpc.protection选择authentication
,integrity
或privacy
。如果设置为none,则默认为authentication
。这可以在hbase-client / src / main / java / org / apache / hadoop / hbase / security / SaslUtil.java中看到:
/**
* @param rpcProtection Value of 'hbase.rpc.protection' configuration.
* @return Map with values for SASL properties.
*/
static Map<String, String> initSaslProperties(String rpcProtection) {
String saslQop;
if (rpcProtection.isEmpty()) {
saslQop = QualityOfProtection.AUTHENTICATION.getSaslQop();
} else {
String[] qops = rpcProtection.split(",");
....
Configuring Encrypted HBase Data Transport Using Cloudera Manager声明如下:
搜索HBase Transport Security属性并选择以下选项之一:
完整性:检查收到的数据的完整性,确保其在传输过程中没有损坏。选择完整性还可以启用身份验证。
隐私:通过使用TLS / SSL加密加密传输中的数据来确保隐私。选择隐私还可以实现身份验证和完整 将此属性设置为privacy以启用安全的RPC传输。
因此,选择authentication
或integrity
即表示您不加密RPC流量。