没有 Kerberos 或 AD/LDAP 的 Hbase 身份验证

Hbase authentication wihout Kerberos or AD/LDAP

我实际上是在尝试在 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 之外,还有其他实现吗?我可以在其中建立自己的 "Dummy" 实现,类似于为 Kafka 制作的实现?提前致谢! :)

我想这有帮助:

没办法

来自Samson Scharfrichter的宝贵评论:

Speaking about Hadoop in general, the SIMPLE authentication mode does ensure that "Only human mistakes must be avoided" > client identity is guessed on client side from (a) env variable HADOOP_USER_NAME and (b) failing that, the current Linux or Windows session user as reported by the JVM. If HBase supports ACLs in SIMPLE mode (like HDFS does) then you've got your "dummy" authentication/authorization out of the box...