Articles

Como escrever filtros de pesquisa LDAP

Plataforma Aviso: Servidor e Data Center Único – Este artigo se aplica somente a produtos Atlassian no servidor e data center plataformas.

objectivo

este documento descreve como construir um filtro mais sofisticado para os atributos do filtro de objectos do utilizador e do filtro de objectos de grupo na sua configuração LDAP para as aplicações Atlassianas.os filtros

o que é um filtro

podem ser utilizados para restringir o número de utilizadores ou grupos autorizados a aceder a uma aplicação. Em essência, o filtro limita a que parte da árvore LDAP a aplicação sincroniza.

um filtro pode e deve ser escrito tanto para o utilizador como para o grupo. Isso garante que você não está inundando sua aplicação com usuários e grupos que não precisam de acesso.

solução

ao construir um filtro, é melhor escolher um atributo comum do conjunto de utilizadores que deseja permitir o acesso à aplicação. Este é mais frequentemente o atributo que denota membros de grupo ou uma classe de objetos como “pessoa”

dica/descanso Criado com Sketch.

o atributo usado para denotar a adesão em um grupo não é comum a todos os sabores de LDAP. Exemplos deste atributo podem ser “groupMembership ” ou”Member”

Como posso corresponder a mais de um atributo?

por exemplo, se os meus utilizadores forem distinguidos por terem dois atributos de classe de objectos (um igual a “pessoa” e outro a “Utilizador”), é assim que eu o faria.:

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

Aviso ampersand symbol '&' símbolo no início. Translated this means: search for objectClass=person AND object=user.

alternativamente,

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

traduzido isto significa: procura por objectClass=pessoa ou objecto=utilizador.

o pipe symbol '|' denota ‘ou’. Como este não é um personagem XML especial, não deve precisar de escapar.

Wildcards

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

: procurar por todos os itens que têm objectClass=utilizador e cn que contém a palavra ‘Marketing’.

dica / descanso criada com Sketch.

os caracteres especiais não são suportados quando usados em filtros usando ! (ou não) operadores lógicos. Ver abaixo

(warning) os próprios serviços LDAP não suportam caracteres especiais para memberOf attribute e outro nome distinto ao configurar o LDAPFilter.

como igualo 3 Atributos?

apenas adicione uma cláusula adicional:

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

podem ser acrescentadas cláusulas adicionais para mais de três atributos.

componentes correspondentes de nomes distintos

dica / descanso criados com Sketch.

Como o Microsoft Active Directory não implementa a correspondência extensível, os seguintes exemplos não irão funcionar com ele.

você pode querer corresponder a parte de um DN, por exemplo, quando você precisa procurar por seus grupos em duas sub-rubricas do seu servidor.

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

irá encontrar grupos com um componente OU do seu DN que seja ‘Chicago’ ou ‘Miami’.

usando ‘ not ‘

para excluir entidades que correspondam a uma expressão, use’!’.

So

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

vai encontrar todos os grupos de Chicago, exceto aqueles com um componente ou Wrigleyville.

Note os parêntesis extra: (!(<expression >))

Note que se usar ‘not’ (ie. ‘!”para excluir objetos) deve ser representado como a entidade”!’no seu ficheiro XML se estiver a utilizar a confluência 3.4 ou abaixo.

para a confluência 3.4 e abaixo, depois de ter construído o seu filtro de pesquisa com este documento, deverá escapar ao símbolo ampersand e ao símbolo de ponto de exclamação antes de adicionar ao seu ficheiro XML. Assim, por exemplo;

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

refere-se a esta documentação externa sobre outros caracteres XML que necessitam de escapar.torna-se

Filtros de recolha de amostras

estes filtros são escritos para pasta activa. A fim de usá-los para algo como OpenLDAP os atributos terão de ser alterados.

Isso só vai sincronizar usuários no ‘CaptainPlanet’ grupo – esta deve ser aplicada para o Objeto de Usuário do Filtro:

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

E este irá pesquisar os usuários que são membros desse grupo, diretamente ou através de aninhamento:

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

Importante para o Active Directory para ter memberOf:1.2.840.113556.1.4.1941 se você quiser encontrar grupos aninhados (não substituir a seqüência numérica) dentro CaptainPlanet grupo.

Isto irá pesquisar os usuários que são membros de qualquer ou todos os 4 grupos (fogo, vento,água,coração)

(&(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)))

Descrição

Este documento descreve como ir sobre a construção de um mais sofisticado filtro para o Objeto de Usuário do Filtro e do Objeto de Grupo de Filtro atributos de configuração de LDAP para Atlassian aplicações.

Produto

Jira, Confluence, Bambu, Bitbucket

Plataforma

Servidor