Habilitamos una aplicación para utilizar LDAP.
En la configuración de la aplicación, necesitamos informar una URL para conectarnos a LDAP. Actualmente proporcionamos la siguiente URL...
ldap://10.2.0.5:389/dc=domain,dc=abc,dc=de?uid
PREGUNTA:Necesitamos agregar un filtro a la URL anterior para que solo se ubiquen los usuarios que pertenecen al grupo "grupo de acceso" para limitar el acceso a la aplicación solo a los usuarios que pertenecen a este grupo.
O sea, algo parecido a esto...
curl "ldap://10.2.0.5:389/dc=domain,dc=abc,dc=de?uid?sub?(&(memberof=cn=accessgroup,ou=groups,dc=domain,dc=abc,dc=de)(uid=%s))"
Hemos probado cientos de configuraciones y nada funciona... =|
GRUPO
cn:
accessgroup
gidNumber:
1004
memberUid:
usera
userb
userc
userd
usere
userf
userg
userh
useri
objectClass:
top
posixGroup
USUARIOS
cn:
User Letter A
gecos:
User Letter A
gender:
M
gidNumber:
544
givenName:
User
gotoLastSystemLogin:
01.01.1970 00:00:00
homeDirectory:
/home/usera
loginShell:
/bin/bash
mail:
[email protected]
objectClass:
top
person
organizationalPerson
inetOrgPerson
gosaAccount
posixAccount
shadowAccount
sambaSamAccount
[...]
uid:
usera
uidNumber:
1004
[...]
¡Gracias! =D
Respuesta1
¿Cómo se crea el atributo memberOf de su servidor LDAP? ¿Ha verificado para asegurarse de que sus usuarios realmente tengan atributos memberOf?
En OpenLDAP, por ejemplo, memberOf solo se completa si usa la superposición memberof o los administra con listas dinámicas.
Respuesta2
SITUACIÓN:
El problema es que estamos intentando filtrar usando grupos POSIX y no hay una superposición específica para eso. Lo que existe es una solución algo compleja y laboriosa que se puede observar aquí.GENERAR UN ATRIBUTO MIEMBROF PARA POSIXGROUPS.
SOLUCIÓN:
Para resolver este problema implementamos una solución simple que se puede ver aquí...
psx-grp-flt - membresías de posixGroup del usuario contra pgMemberOf (memberOf)
...que básicamente es lo siguiente...
Un script simple de Python 2.7 que almacena las asociaciones posixGroup (Grupo POSIX) de cada usuario en su atributo pgMemberOf (memberOf). El propósito es habilitar filtros de búsqueda como los siguientes...
MODELO
ldapsearch -x -H 'ldap://127.0.0.1:389' -b 'ou=personas,dc=dominio,dc=abc,dc=de'
-D 'cn=admin,dc=dominio,dc=abc, dc=de'
-w 'mySecretValue'
'(&(pgMemberOf=cn=certaingroup,ou=groups,dc=dominio,dc=abc,dc=de)(uid=certainuid))'EJEMPLO
ldapsearch -x -H '<OPENLDAP_URI>' -b '<PERSONS_OU>,<BASE_DN>'
-D '<ADM_USER_DN>'
-w '<ADM_USER_PASSWORD>'
'(&(pgMemberOf=cn=<PSX_GROUP_CN>,<GROUPS_OU> ,<BASE_DN)(uid=<PERSON_UID>))'Este script es útil para los casos en los que ya tenemos un OpenLDAP instalado y queremos poner a disposición filtros para Grupos POSIX que ya existen de una forma muy sencilla y sin crear nuevos tipos de grupos. También es útil cuando no se pueden instalar superposiciones o cuando este proceso es demasiado laborioso o arriesgado.
¡Gracias! =D