Hive LDAP 身份验证组过滤器

时间:2021-07-19 16:10:37

标签: hive ldap amazon-emr

用例:我正在尝试设置可以连接到 jdbc 以查询 hive 的 EMR 集群。我决定进行 ldap 身份验证并且我能够进行身份验证

问题:我试图限制谁可以使用组过滤器或使用此文档 hive-ldap 的自定义过滤器对集群进行身份验证,当我使用电子邮件进行身份验证时,它试图在 ldap 中搜索我的电子邮件 ID 的前缀,并且它无法找到(因为我的用户名与电子邮件 ID 前缀不同)。有大佬知道怎么解决吗

hive-site.xml :

  <property>
    <name>hive.server2.authentication.ldap.baseDN</name>
    <value>DC=some,DC=com</value>
  </property>

  <property>
    <name>hive.server2.authentication.ldap.groupDNPattern</name>
    <value>CN=%s,CN=something,OU=something,DC=some,DC=com</value>
  </property>
<property>
    <name>hive.server2.authentication.ldap.groupFilter</name>
    <value>group_name</value>
</property>

<property>
  <name>hive.server2.authentication.ldap.userMembershipKey</name>
  <value>memberOf</value>
</property>
<property>
    <name>hive.server2.authentication.ldap.groupClassKey</name>
    <value>groupOfNames</value>
</property>
<property>
    <name>hive.server2.authentication.ldap.groupMembershipKey</name>
    <value>member</value>
</property>

  <property>
    <name>hive.server2.authentication.ldap.binddn</name>
    <value>CN=something,OU=something,DC=some,DC=com</value>
  </property>
  <property>
    <name>hive.server2.authentication.ldap.bindpw</name>
    <value>bind_password</value>
  </property>


  <property>
    <name>hive.server2.authentication</name>
    <value>LDAP</value>
  </property>

  <property>
    <name>hive.server2.transport.mode</name>
    <value>binary</value>
  </property>

  <property>
    <name>hive.users.in.admin.role</name>
    <value>admin_user</value>
  </property>

  <property>
    <name>hive.server2.authentication.ldap.url</name>
    <value>ldaps://ldap.some.com:1234</value>
  </property>

错误信息

2021-07-16T22:24:26,405 INFO  [HiveServer2-Handler-Pool: Thread-37([])]: ldap.LdapSearch (LdapSearch.java:findUserDn(100)) - Expected exactly one user result for the user: first_name.last_name, but got 0. Returning null
2021-07-16T22:24:26,406 ERROR [HiveServer2-Handler-Pool: Thread-37([])]: transport.TSaslTransport (TSaslTransport.java:open(315)) - SASL negotiation failure

0 个答案:

没有答案