Назад | Перейти на главную страницу

Проблемы с конфигурацией OpenLDAP (на AWS EC2)

Я настраивал сервер LDAP на экземпляре Linux с помощью AWS EC2. До сих пор я успешно настроил LDAP и phpLDAPadmin для совместной работы.

Я создал "Организационные единицы" пользователей и групп. Я добавил пользователей и группы в эти «OU». Теперь я хочу предоставить широкий доступ к определенным частям моего дерева LDAP для членов «Пользователи» из «Группы». Вот что я до сих пор не мог настроить ...

Мое дерево LDAP выглядит так:

+--> dc=www,dc=website,dc=com (3)
  ---> cn=admin
  +--> ou=groups (4)
  | ---> cn=admin_users
  | ---> cn=app1_users
  | ---> cn=app2_users
  | ---> cn=basic_users
  +--> ou=users (3)
  | ---> cn=user1
  | ---> cn=user2
  | ---> cn=user3

Допустим, я добавил user1 + user2 в список memberUid для app1_users и user2 + user3 в список memberUid для app2_users.

Я хочу:

Подключенный пользователь (на phpLDAPadmin) должен видеть только дерево (и дочерние поддеревья), частью которого он является.

Вот ACI, которые я пробовал (но которые явно не работали):

access to attrs=shadowLastChange
    by self write
    by dn="cn=admin,dc=www,dc=website,dc=com" write
    by * read

access to attrs=userPassword
    by self write
    by dn="cn=admin,dc=www,dc=website,dc=com" write
    by anonymous auth by * none

access to dn.base=""
    by * read

access to dn.subtree="cn=app1_users,ou=groups,dc=www,dc=website,dc=com"
    by group.base="cn=app1_users,dc=www,dc=website,dc=com" write
    by dn.base="cn=admin,dc=www,dc=website,dc=com" write 
    by * none

access to dn.subtree="cn=app2_users,ou=groups,dc=www,dc=website,dc=com"
    by group.base="cn=app2_users,dc=www,dc=website,dc=com" write
    by dn.base="cn=admin,dc=www,dc=website,dc=com" write 
    by * none

access to *
    by self write
    by dn="cn=admin,dc=www,dc=website,dc=com" write
    by * read

Что-то не так с моей конфигурацией?

Для меня работает следующий синтаксис членства в группе:

access to dn.subtree="cn=app2_users,ou=groups,dc=www,dc=website,dc=com"
    by group/groupOfNames/member.exact="cn=app2_users,dc=www,dc=website,dc=com" write
    by dn.base="cn=admin,dc=www,dc=website,dc=com" write 
    by * none

Я не уверен, что это решит ваши проблемы, потому что я не знаю, как phpLDAPadmin работает.

Если phpLDAPadmin имеет свои собственные правила контроля доступа, вы также должны их изменить.