Sådan skriver du LDAP-søgefiltre
platform meddelelse: kun Server og datacenter-denne artikel gælder kun for Atlassian-produkter på server-og datacenterplatforme.
formål
dette dokument beskriver, hvordan du kan konstruere et mere sofistikeret filter til brugerobjektfilteret og Gruppeobjektfilterattributterne i din LDAP-konfiguration til Atlassian-applikationer.
Hvad er et filter
filtre kan bruges til at begrænse antallet af brugere eller grupper, der har tilladelse til at få adgang til et program. I det væsentlige begrænser filteret, hvilken del af LDAP-træet applikationen synkroniseres fra.
et filter kan og bør skrives til både bruger-og gruppemedlemskab. Dette sikrer, at du ikke oversvømmer din applikation med brugere og grupper, der ikke har brug for adgang.
løsning
når du konstruerer et filter, er det bedst at vælge en fælles attribut for det sæt brugere, du vil give adgang til applikationen. Dette er oftest den egenskab, der betegner gruppemedlemskab eller et objektklasse som “Person”
attributten, der bruges til at betegne medlemskab i en gruppe, er ikke fælles for alle varianter af LDAP. Eksempler på denne attribut kan være “groupMembership”eller” Member ”
hvordan matcher jeg mere end en attribut?
for eksempel, hvis mine brugere skelnes ved at have to objektklasseattributter (en lig med ‘person’ og en anden til ‘bruger’), er det sådan, jeg ville matche det:
(&(objectClass=person)(objectClass=user))
Bemærkampersand symbol '&'
symbolet ved starten. Oversat betyder dette: Søg efter objectClass=person og objekt=bruger.
alternativt
(|(objectClass=person)(objectClass=user))
oversat betyder dette: Søg efter objectClass=person eller objekt=bruger.
pipe symbol '|'
betegner ‘eller’. Da dette ikke er et specielt KML-tegn, skal det ikke være nødvendigt at flygte.
jokertegn
(&(objectClass=user)(cn=*Marketing*))
dette betyder: Søg efter alle poster, der har objectClass=bruger og cn, der indeholder ordet ‘Marketing’.
jokertegn understøttes ikke, når de bruges i filtre ved hjælp af ! (eller ikke) logiske operatorer. Se nedenfor
LDAP-tjenesterne understøtter ikke jokertegn tilmemberOf
attribute
og andet fremtrædende navn ved opsætning af LDAPFilter.
hvordan matcher jeg 3 attributter?
bare tilføj en ekstra klausul:
(&(objectClass=user)(objectClass=top)(objectClass=person))
ekstra klausuler kan tilføjes for mere end tre attributter også.
matchende komponenter af Distinguished Names
du vil måske matche en del af en DN, for eksempel når du skal kigge efter dine grupper i to undertræer på din server.
(&(objectClass=group)(|(ou:dn:=Chicago)(ou:dn:=Miami)))
finder grupper med en OU-komponent i deres DN, som enten er ‘Chicago’ eller ‘Miami’.
brug ‘ikke’
for at ekskludere enheder, der matcher et udtryk, skal du bruge ‘!’.
så
(&(objectClass=group)(&(ou:dn:=Chicago)(!(ou:dn:=Wrigleyville))))
finder alle Chicago-grupper undtagen dem med en vrang ou-komponent.
Bemærk de ekstra parenteser: (!(<udtryk>))
Bemærk, at hvis du bruger ‘ikke’ (dvs. ‘!’at udelukke objekter) det skal repræsenteres som enheden’! hvis du bruger Confluence 3.4 eller derunder.
for sammenløb 3.4 og nedenfor, når du har konstrueret dit søgefilter ved hjælp af dette dokument, skal du undslippe ampersand-symbolet og udråbstegnsymbolet, før du tilføjer til din fil. Så for eksempel;
(&(objectClass=person)(!(objectClass=user)))
(&(objectClass=person)(!(objectClass=user)))
se denne eksterne dokumentation på andre tegn, der skal undslippe.bliver
Sample filtre
disse filtre er skrevet til Active Directory. For at bruge dem til noget som OpenLDAP skal attributterne ændres.
dette synkroniserer kun brugere i gruppen ‘CaptainPlanet’ – dette skal anvendes på Brugerobjektfilteret:
(&(objectCategory=Person)(sAMAccountName=*)(memberOf=cn=CaptainPlanet,ou=users,dc=company,dc=com))
og dette vil søge efter brugere, der er medlem af denne gruppe, enten direkte eller via nesting:
(&(objectCategory=Person)(sAMAccountName=*)(memberOf:1.2.840.113556.1.4.1941:=cn=CaptainPlanet,ou=users,dc=company,dc=com))
vigtigt for Active Directory at have memberof:1.2.840.113556.1.4.1941 hvis du vil finde indlejrede grupper (udskift ikke den numeriske streng) inde captainplanet Group.
dette vil søge efter brugere, der er medlem af en eller alle de 4 grupper (ild,vind,vand, hjerte)
(&(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)))
dette dokument beskriver, hvordan man skal konstruere et mere sofistikeret filter til Brugerobjektfilteret og Gruppeobjektfilteret attributter i din LDAP-konfiguration til Atlassian-applikationer.
Jira, Confluence, Bamboo, Bitbucket
Server
Leave a Reply