【发布时间】:2015-10-08 08:36:08
【问题描述】:
我目前正在尝试配置 LDAP 配置以进入 Cloudera Manager,但我遇到了一些困难。
上下文: LDAP 用户由扩展 Person 的特定 objectClass 定义。 DN 看起来像 myCorporateCode=xxx,cn=users,dc=example,dc=com 并且 Person objectClass 给出的 cn 属性被初始化为与 myCorporateCode 相同的值. LDAP 用户“组”也由特定的 objectClass 定义,但它不扩展除 top 之外的任何其他 objectClass。它没有任何 cn 属性,DN 看起来像 myFunctionCode=yyy,cn=functions, dc=example,dc=com。
LDAP 用户也有一个 DN 属性 userFunctions 来列出用户所属的所有“功能”(或“组”)。 并且一个LDAP“组”(或功能)有一个DN属性functionUsers来列出属于该组(或具有该功能)的所有用户的DN
例子:
LDAP User
DN: myCorporateCode=xxx,cn=users,dc=example,dc=com
myCorporateCode: xxx
cn: xxx
userFunctions: myFunctionCode=yyy,cn=functions, dc=example,dc=com
LDAP Function
DN: myFunctionCode=yyy,cn=functions, dc=example,dc=com
myFunctionCode: yyy
functionUsers: myCorporateCode=xxx,cn=users,dc=example,dc=com
当然,LDAP 架构不能更改。
好吧,当我尝试配置 Cloudera Manager 来管理身份验证和授权时抛出我的公司 LDAP,因为我无法指定它必须考虑的属性,所以我无法做到。
我认为这是问题所在,因为 LDAP 日志向我显示了此类日志:
Wed Oct 7 07:45:13 2015 Search:
connid = D564, base = cn=functions,dc=example,dc=com,
filter = (myFunctionCode=FBGCLMTEST2*), scope = 2,
attrs = cn objectClass javaSerializedData javaClassName javaFactory javaCodeBase javaReferenceAddress javaClassNames javaRemoteLocation,
IP = x.x.x.x, searchFlags = 0
在应用程序中没有结果(通过 ldapsearch 的此类请求可以访问该功能)
我对用户身份验证有相同的行为,但由于它使用 myCorporateCode 值初始化了一个 cn 属性,因此身份验证有效。
那么,有没有办法告诉 Cloudera Manager 在其 ldap 搜索中必须考虑特定属性而不是 cn 属性,就像 Hue 那样? 顺便说一句,我对 Cloudera Navigator 也有同样的问题......
谢谢!
【问题讨论】:
标签: hadoop active-directory ldap cloudera cloudera-manager