【问题标题】:Hbase authentication wihout Kerberos or AD/LDAP没有 Kerberos 或 AD/LDAP 的 Hbase 身份验证
【发布时间】:2018-07-05 08:04:55
【问题描述】:

我实际上是在尝试在 HDP 集群(非 Kerberized)中进行一些自定义安全设置。用例是 hbase,kafka 必须实现授权,但不使用 kerberos。只能避免人为错误,因此没有理由使用密码。全部在 Java 中。

当然,没有身份验证就没有授权(这是 Kerberos 发挥作用的地方)。我能够在 Kafka 代理上实现授权(这个,即使在 kerberized 集群上,代理也可以配置为从 GSSAPI 更改为 PLAIN),使我自己实现了一个 LoginModule,它只读取一个 Jaas 文件:

KafkaClient 
{
   my.package.project.authentication.NamePlateLoginModule required
   username=stuckuvurfluw;
};

是的,我知道,一个虚拟身份验证 =)。正如我所说,没有必要保护数据,只需避免人为错误。因此,在 KafkaBrokers 上,我只需要对属性进行一些更改以更改行为并期望 PLAIN 身份验证。将 kafka acls 设置为仅允许 stuckuvurfluw 用户成为 same old way:

bin/kafka-acls.sh (..) --add --allow-permissions User:stuckuvurfluw (...) 

完成了.. 但是哦,Hbase。如果不使用 Kerberos,我无法找到任何设置身份验证的方法。在客户端未找到 hbase-site.xml 或其他配置属性的属性值。

问题是,除了 Kerberos 之外,是否还有其他实现,我可以在其中建立自己的“虚拟”实现,类似于为 Kafka 制作的实现?提前致谢! :)

【问题讨论】:

    标签: authentication authorization hbase kerberos hortonworks-data-platform


    【解决方案1】:

    我想这会有所帮助:

    没有办法。

    来自Samson Scharfrichter的宝贵意见:

    一般来说 Hadoop,SIMPLE 身份验证模式确实 确保“只能避免人为错误” > 客户身份是 从 (a) 环境变量 HADOOP_USER_NAME 和 (b) 在客户端 猜测 否则,当前 Linux 或 Windows 会话用户由 JVM。如果 HBase 在 SIMPLE 模式下支持 ACL(就像 HDFS 一样),那么 您已经获得了开箱即用的“虚拟”身份验证/授权...

    【讨论】:

    • 一般来说 Hadoop,SIMPLE 身份验证模式确实确保 “只有人为错误必须避免” > 客户端身份是 从(a)环境变量HADOOP_USER_NAME和(b)在客户端猜测 JVM报告的当前Linux或Windows会话用户失败。如果 HBase 在 SIMPLE 模式下支持 ACL(就像 HDFS 一样),那么您已经获得了开箱即用的“虚拟”身份验证/授权......
    • 非常感谢 Samson 抽出宝贵时间。我会给予赏金,但 3 天前到期。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-12
    • 1970-01-01
    • 1970-01-01
    • 2014-08-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多