Luchando con la configuración de OpenLDAP (en AWS EC2)

Luchando con la configuración de OpenLDAP (en AWS EC2)

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 phpLDAPadminfunciona.

Si phpLDAPadmintiene sus propias reglas de control de acceso, también deberá modificarlas.

información relacionada