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

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

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

Я создал пользователей и группы "Organisation Units". Я добавил пользователей и группы в эти "OU". Теперь я хочу предоставить доступ к определенным частям моего дерева LDAP членам "Users" "Group". Это то, что я не мог настроить до сих пор...

Мое дерево 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».

Я хочу:

  • cn=admin имеет полные права/доступ к дереву
  • app1_users может подключаться (к phpLDAPadmin) и добавлять новых участников в саму группу
  • то же самое для пользователей 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

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

решение1

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

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у вас есть собственные правила контроля доступа, вам также придется изменить их.

Связанный контент