Articles

cum se scrie filtre de căutare LDAP

platformă notificare: numai pentru server și centru de date – Acest articol se aplică numai produselor Atlassian de pe platformele de server și centru de date.

scop

acest document descrie modul de realizare a unui filtru mai sofisticat pentru atributele User Object Filter și Group Object Filter în configurația LDAP pentru aplicațiile Atlassian.

ce este un filtru

filtrele pot fi utilizate pentru a restricționa numărul de utilizatori sau grupuri cărora li se permite să acceseze o aplicație. În esență, filtrul limitează din ce parte a arborelui LDAP se sincronizează aplicația.

un filtru poate și ar trebui să fie scris atât pentru utilizator, cât și pentru apartenența la grup. Acest lucru vă asigură că nu inundați aplicația cu utilizatori și grupuri care nu au nevoie de acces.

soluție

când construiți un filtru, este mai bine să alegeți un atribut comun al setului de utilizatori pe care doriți să îi permiteți accesul la aplicație. Acesta este cel mai adesea atributul care denotă apartenența la grup sau un obiectclasă ca „persoană”

sfat/odihnă Creat cu Schiță.

atributul folosit pentru a desemna apartenența la un grup nu este comun tuturor aromelor LDAP. Exemple de acest atribut poate fi ” groupMembership „sau”membru”

cum pot potrivi Mai mult de un atribut?

de exemplu, dacă utilizatorii mei se disting prin faptul că au două atribute objectClass (unul egal cu ‘persoană’ și altul cu ‘utilizator’), acesta este modul în care m-aș potrivi pentru el:

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

observați simbolulampersand symbol '&' la început. Tradus acest lucru înseamnă: căutare objectClass = persoană și obiect = utilizator.

alternativ,

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

tradus aceasta înseamnă: căutare objectClass=persoană sau obiect=utilizator.

pipe symbol '|' denotă ‘sau’. Deoarece acesta nu este un caracter XML special, nu ar trebui să fie nevoie să scape.

metacaractere

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

aceasta înseamnă: caută toate intrările care au objectClass = utilizator și cn care conține cuvântul ‘Marketing’.

sfat / odihnă Creat cu Schiță.

metacaracterele nu sunt acceptate atunci când sunt utilizate în filtre folosind ! (sau nu) operatori logici. Vedeți mai jos

(avertisment) serviciile LDAP în sine nu acceptă metacaractere pentru memberOf attribute și alte nume distincte atunci când configurați LDAPFilter.

cum se potrivesc 3 atribute?

trebuie doar să adăugați o clauză suplimentară:

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

Clauzele suplimentare pot fi adăugate și pentru mai mult de trei atribute.

componentele potrivite ale numelor distinse

tip / odihnă Creat cu Schiță.

deoarece Microsoft Active Directory nu implementează potrivirea extensibilă, următoarele exemple nu vor funcționa cu acesta.

poate doriți să potriviți o parte dintr-un DN, de exemplu atunci când trebuie să căutați grupurile dvs. în două subarbore ale serverului dvs.

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

vor găsi grupuri cu o componentă OU a DN-ului lor care este fie „Chicago”, fie „Miami”.

folosind ‘not’

pentru a exclude entitățile care corespund unei expresii, utilizați ‘!’.

deci

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

vor găsi toate grupurile din Chicago, cu excepția celor cu o componentă Wrigleyville OU.

notați parantezele suplimentare: (!(<Expresie>))

rețineți că dacă utilizați ” nu ” (adică. ‘!’pentru a exclude obiecte) trebuie să fie reprezentată ca entitate ‘! XML dacă utilizați Confluence 3.4 sau mai jos.

pentru confluența 3.4 și mai jos, după ce ați construit filtrul de căutare utilizând acest document, trebuie să scăpați de simbolul ampersand și de simbolul semnului de exclamare înainte de a adăuga la fișierul XML. De exemplu;

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

consultați această documentație externă privind alte caractere XML care trebuie să scape.devine

filtre de probă

aceste filtre sunt scrise pentru Active Directory. Pentru a le folosi pentru ceva precum OpenLDAP, atributele vor trebui schimbate.

aceasta va sincroniza doar utilizatorii din grupul ‘CaptainPlanet’ – aceasta trebuie aplicată filtrului de obiecte utilizator:

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

și aceasta va căuta utilizatorii care sunt membri ai acestui grup, fie direct, fie prin cuiburi:

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

important pentru Active Directory să aibă memberof:1.2.840.113556.1.4.1941 dacă doriți să găsiți grupuri imbricate (nu înlocuiți șirul numeric) în interiorul captainplanet Group.

aceasta va căuta utilizatorii care sunt membri ai oricăreia sau a tuturor celor 4 grupuri (foc, vânt,apă,inimă)

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

descriere

acest document descrie cum se construiește un filtru mai sofisticat pentru filtrul de obiecte utilizator și filtrul de obiecte de grup atribute în configurația LDAP pentru aplicațiile Atlassian.

Produs

Jira, Confluență, Bambus, Bitbucket

Platforma

Server