В настоящее время я пытаюсь настроить конфигурацию LDAP для входа в Cloudera Manager, но у меня возникли некоторые трудности с этим.
Контекст: пользователи LDAP определяются конкретным объектным классом, который расширяет Person. DN выглядит как myCorporateCode = xxx, cn = users, dc = example, dc = com, а атрибут cn, заданный объектным классом Person, инициализируется тем же значением, что и myCorporateCode. . «Группы» пользователей LDAP также определяются конкретным объектным классом, но он не расширяет какой-либо другой объектный класс, кроме верхнего. У него нет атрибута 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)
У меня такое же поведение с аутентификацией пользователя, но поскольку он получил атрибут cn, инициализированный значением myCorporateCode, аутентификация работает.
Итак, есть ли способ сообщить Cloudera Manager, что он должен учитывать определенные атрибуты, а не атрибут cn при поиске ldap, как это делает Hue? У меня кстати такая же проблема с Cloudera Navigator ...
Спасибо!