![Lutando com a configuração do OpenLDAP (no AWS EC2)](https://rvso.com/image/697020/Lutando%20com%20a%20configura%C3%A7%C3%A3o%20do%20OpenLDAP%20(no%20AWS%20EC2).png)
Estou configurando um servidor LDAP em uma instância Linux usando AWS EC2. Até agora, configurei com sucesso o LDAP e o phpLDAPadmin para trabalharem juntos.
Criei usuários e grupos "Unidades organizacionais". Adicionei usuários e grupos a essas "UOs". Agora quero conceder acesso a partes específicas da minha árvore LDAP aos "Usuários" membros de um "Grupo". Foi isso que não consegui configurar até agora...
Minha árvore LDAP é assim:
+--> 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
Digamos que eu adicionei user1 + user2 à lista "memberUid" de "app1_users" e user2 + user3 à lista "memberUid" de "app2_users".
Eu quero:
- cn=admin tem direitos/acesso totais à árvore
- app1_users pode se conectar (ao phpLDAPadmin) e adicionar novos membros ao próprio grupo
- o mesmo para usuários de app2_users
Um usuário conectado (no phpLDAPadmin) deve ver apenas a árvore (e as subárvores filhas) da qual faz parte.
Aqui estão os ACI que tentei (mas que obviamente não estavam funcionando):
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
Há algo errado com minha configuração?
Responder1
Para mim, a seguinte sintaxe para associação ao grupo funciona:
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
Não tenho certeza se isso resolverá seus problemas porque não sei como phpLDAPadmin
funciona.
Se phpLDAPadmin
tiver suas próprias regras de controle de acesso, você também deverá modificá-las.