Articles

Cómo escribir filtros de búsqueda LDAP

Aviso de la plataforma: Solo servidor y centro de datos: Este artículo solo se aplica a los productos de Atlassian en las plataformas de servidor y centro de datos.

Propósito

Este documento describe cómo construir un filtro más sofisticado para los atributos Filtro de Objetos de Usuario y Filtro de Objetos de Grupo en la configuración LDAP para aplicaciones Atlassian.

Qué es un filtro

Los filtros se pueden usar para restringir el número de usuarios o grupos a los que se permite acceder a una aplicación. En esencia, el filtro limita desde qué parte del árbol LDAP se sincroniza la aplicación.

Un filtro puede y debe escribirse tanto para usuarios como para miembros de grupos. Esto garantiza que no está inundando su aplicación con usuarios y grupos que no necesitan acceso.

Solución

Al construir un filtro, lo mejor es elegir un atributo común del conjunto de usuarios que desea permitir el acceso a la aplicación. En la mayoría de los casos, este es el atributo que denota la pertenencia a un grupo o una clase de objeto como «Persona»

tip/descanso Creado con Sketch.

El atributo utilizado para denotar la pertenencia a un grupo no es común a todos los tipos de LDAP. Algunos ejemplos de este atributo pueden ser «Pertenencia a un grupo»o» Miembro »

¿Cómo hago coincidir más de un atributo?

Por ejemplo, si mis usuarios se distinguen por tener dos atributos de clase de objeto (uno igual a ‘persona’ y otro a ‘usuario’), así es como lo compararía:

(&(objectClass=person)(objectClass=user))

Observe el ampersand symbol '&' símbolo en el inicio. Traducido esto significa: buscar objectClass = persona Y object = usuario.

Alternativamente,

(|(objectClass=person)(objectClass=user))

Traducido esto significa: buscar objectClass = persona U objeto=usuario.

El pipe symbol '|' denota ‘O’. Como no se trata de un carácter XML especial, no debería ser necesario escapar.

Comodines

(&(objectClass=user)(cn=*Marketing*))

Esto significa que: busca todas las entradas que tengan objectClass = user Y cn que contenga la palabra ‘Marketing’.

tip / descanso Creado con Sketch. Los comodines

no se admiten cuando se usan en filtros usando ! operadores lógicos (o NO). Consulte a continuación

(advertencia) Los servicios LDAP en sí no admiten comodines para memberOf attribute y otros Nombres distintivos al configurar el filtro LDAP.

¿Cómo hago coincidir 3 atributos?

Simplemente agregue una cláusula adicional:

(&(objectClass=user)(objectClass=top)(objectClass=person))

También se pueden agregar cláusulas adicionales para más de tres atributos.

Componentes coincidentes de Nombres Distinguidos

tip / descanso Creado con Sketch.

Dado que Microsoft Active Directory no implementa coincidencias extensibles, los siguientes ejemplos no funcionarán con él.

Es posible que desee hacer coincidir parte de un DN, por ejemplo, cuando necesite buscar sus grupos en dos subárboles de su servidor.

(&(objectClass=group)(|(ou:dn:=Chicago)(ou:dn:=Miami)))

encontrará grupos con un componente OU de su DN que es ‘Chicago’ o ‘Miami’.

Usando ‘ not ‘

Para excluir entidades que coincidan con una expresión, use’!’.

Así

(&(objectClass=group)(&(ou:dn:=Chicago)(!(ou:dn:=Wrigleyville))))

encontrará todos los grupos de Chicago excepto aquellos con un Wrigleyville OU componente.

Tenga en cuenta los paréntesis adicionales: (!(<expresión>))

Tenga en cuenta que si usa ‘not’ (ie. ‘!’para excluir objetos) debe ser representada como la entidad ‘!’en su archivo XML si está utilizando Confluence 3.4 o inferior.

Para Confluencia 3.4 y siguientes, una vez que haya construido su filtro de búsqueda utilizando este documento, debe escapar el símbolo de signo de exclamación y el símbolo de signo de ampersand antes de agregarlo a su archivo XML. Por ejemplo,

(&(objectClass=person)(!(objectClass=user)))
(&amp;(objectClass=person)(&#33;(objectClass=user)))

Consulte esta documentación externa en otros caracteres XML que necesitan escapar.se convierte en

Filtros de muestra

Estos filtros se escriben para Active Directory. Para usarlos para algo como OpenLDAP, los atributos tendrán que ser cambiados.

Esto solo sincronizará a los usuarios del grupo ‘CaptainPlanet’ – esto se debe aplicar al Filtro de objetos de usuario:

(&(objectCategory=Person)(sAMAccountName=*)(memberOf=cn=CaptainPlanet,ou=users,dc=company,dc=com))

Y esto buscará usuarios que sean miembros de este grupo, ya sea directamente o mediante anidamiento:

(&(objectCategory=Person)(sAMAccountName=*)(memberOf:1.2.840.113556.1.4.1941:=cn=CaptainPlanet,ou=users,dc=company,dc=com))

Importante para que Active Directory tenga memberOf:1.2.840.113556.1.4.1941 si desea buscar grupos anidados (no reemplace la cadena numérica) dentro del grupo CaptainPlanet.

Esto buscará usuarios que sean miembros de cualquiera o todos los 4 grupos (fuego, viento,agua,corazón)

(&(objectCategory=Person)(sAMAccountName=*)(|(memberOf=cn=fire,ou=users,dc=company,dc=com)(memberOf=cn=wind,ou=users,dc=company,dc=com)(memberOf=cn=water,ou=users,dc=company,dc=com)(memberOf=cn=heart,ou=users,dc=company,dc=com)))

Descripción

Este documento describe cómo construir un filtro más sofisticado para el Filtro de Objetos de Usuario y el Filtro de Objetos de Grupo atributos en la configuración LDAP para aplicaciones Atlassian.

Producto

Jira, Confluence, Bambú, Bitbucket

la Plataforma

Servidor