hive - Hive ldap 身份验证组过滤器
问题描述
用例:我正在尝试设置可以连接到 jdbc 以查询 hive 的 EMR 集群。我决定进行 ldap 身份验证,我能够进行身份验证
问题:我试图限制谁可以使用此文档hive-ldap使用组过滤器或自定义过滤器对集群进行身份验证,当我使用电子邮件进行身份验证时,它试图在 ldap 中搜索我的电子邮件 ID 前缀并且它无法找到(因为我的用户名与电子邮件 ID 前缀不同)。有谁知道如何解决它
蜂巢站点.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
解决方案
推荐阅读
- passwords - 如何改进或删除 sftp 硬码密码骆驼码
- javascript - 为什么闭包不使用 let 捕获相同的变量?
- python - 在 Django 中更改 url
- makefile - cmake for embedded: remove Linux POSIX headers
- javascript - How to make ENTER do something and ENTER+SHIFT do something else at the same time?
- python - 字典中的字典正在遍历所有值
- javascript - 为什么类定义不导入就自动识别
- python - 递归不会在python中停止
- django - 通过使用查询集传递请求来测试 login_view
- typo3 - Unwanted
tags are stored in bodytext for tt_content table