![Luchando con la configuración de OpenLDAP (en AWS EC2)](https://rvso.com/image/697020/Luchando%20con%20la%20configuraci%C3%B3n%20de%20OpenLDAP%20(en%20AWS%20EC2).png)
He estado configurando un servidor LDAP en una instancia de Linux usando AWS EC2. Hasta ahora, configuré exitosamente LDAP y phpLDAPadmin para que funcionen juntos.
He creado Usuarios y Grupos "Unidades de Organización". Agregué usuarios y grupos a esas "OU". Ahora quiero otorgar acceso amplio a partes específicas de mi árbol LDAP a los "Usuarios" miembros de un "Grupo". Eso es lo que no pude configurar hasta ahora...
Mi árbol LDAP se ve así:
+--> 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 agregué usuario1 + usuario2 a la lista "memberUid" de "app1_users" y usuario2 + usuario3 a la lista "memberUid" de "app2_users".
Deseo:
- cn=admin tiene todos los derechos/acceso al árbol
- app1_users puede conectarse (a phpLDAPadmin) y agregar nuevos miembros al grupo mismo
- Lo mismo para los usuarios de app2_users.
Un usuario conectado (en phpLDAPadmin) solo debería ver el árbol (y los subárboles secundarios) del que forma parte.
Aquí están los ACI que probé (pero obviamente no funcionaban):
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
¿Hay algún problema con mi configuración?
Respuesta1
Para mí, funciona la siguiente sintaxis para pertenecer a un grupo:
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
No estoy seguro de que esto vaya a resolver tus problemas porque no sé cómo phpLDAPadmin
funciona.
Si phpLDAPadmin
tiene sus propias reglas de control de acceso, también deberá modificarlas.