我们可以在Cloudera Hadoop集群中将hbase.rpc.protection属性值设置为none吗?如果是,那怎么样?

时间:2017-07-26 05:25:12

标签: hadoop hbase kerberos cloudera spring-security-kerberos

我正在使用Cloudera Hadoop集群,其中启用了kerberos安全性。但在属性文件中,我提到 hbase.encryption 为none。所以我需要在 hbase-site.xml 中将属性 hbase.rpc.protection 的值更改为none。我尝试将此属性值设置为none但它失败,因为在Cloudera中它仅显示身份验证,隐私和完整性选项。那么有人有解决方案吗?提前谢谢。

1 个答案:

答案 0 :(得分:0)

您只能为hbase.rpc.protection选择authenticationintegrityprivacy。如果设置为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属性并选择以下选项之一:

  • 身份验证:使用Kerberos启用简单身份验证。
  • 完整性:检查收到的数据的完整性,确保其在传输过程中没有损坏。选择完整性还可以启用身份验证。

  • 隐私:通过使用TLS / SSL加密加密传输中的数据来确保隐私。选择隐私还可以实现身份验证和完整 将此属性设置为privacy以启用安全的RPC传输。

因此,选择authenticationintegrity即表示您不加密RPC流量。