Authentication 不使用Kerberos或AD/LDAP的Hbase身份验证

Authentication 不使用Kerberos或AD/LDAP的Hbase身份验证,authentication,authorization,hbase,kerberos,hortonworks-data-platform,Authentication,Authorization,Hbase,Kerberos,Hortonworks Data Platform,实际上,我正在尝试在HDP集群中进行一些定制的安全设置(不是Kerberized)。用例是hbase和kafka必须实现授权,但不使用kerberos。必须避免人为错误,因此没有理由使用密码。都是Java语言 当然,没有身份验证就没有授权(Kerberos就是在这里工作的)。我能够在Kafka代理上实现授权(这一个,即使在kerberized集群上,代理也可以配置为从GSSAPI更改为PLAIN),实现了我自己的LoginModule,它只读取Jaas文件: KafkaClient {

实际上,我正在尝试在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 ACL
以仅允许stuckuvurfluw用户时:

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

问题是,是否存在Kerberos以外的其他实现,我可以在其中创建自己的“虚拟”实现,类似于为Kafka创建的实现?提前感谢!:)

我想这会有帮助:


这是不可能的。

一般来说,简单身份验证模式确实确保了“只有人为错误必须避免”>客户端可以从(a)env变量
Hadoop_USER_NAME
和(b)如果不这样做,JVM报告的当前Linux或Windows会话用户猜测客户端身份。如果HBase在简单模式下支持ACL(像HDFS一样),那么您已经获得了现成的“虚拟”身份验证/授权…非常感谢Samson为您提供的时间。我本来会给你赏金的,但三天前就到期了。非常感谢。
bin/kafka-acls.sh (..) --add --allow-permissions User:stuckuvurfluw (...)