Articles

jak pisać filtry wyszukiwania LDAP

Uwaga dotycząca platformy: tylko serwer i Centrum Danych – ten artykuł dotyczy tylko produktów Atlassian na platformach serwerów i centrów danych.

cel

ten dokument przedstawia sposób tworzenia bardziej wyrafinowanego filtra dla atrybutów filtra obiektów użytkownika i filtra obiektów grupy w konfiguracji LDAP dla aplikacji Atlassian.

co to jest filtr

filtry mogą być używane do ograniczania liczby użytkowników lub grup, które mają dostęp do aplikacji. Zasadniczo filtr ogranicza część drzewa LDAP, z której synchronizuje się aplikacja.

filtr może i powinien być napisany zarówno dla użytkowników, jak i członków grup. Zapewnia to, że aplikacja nie jest zalewana użytkownikami i grupami, które nie potrzebują dostępu.

rozwiązanie

podczas konstruowania filtra najlepiej wybrać wspólny atrybut zestawu użytkowników, którym chcesz zezwolić na dostęp do aplikacji. Najczęściej jest to atrybut oznaczający przynależność do grupy lub klasy obiektów, takich jak”osoba”

wskazówka/odpoczynek utworzony za pomocą szkicu.

atrybut używany do oznaczania przynależności do grupy nie jest wspólny dla wszystkich wersji LDAP. Przykładami tego atrybutu mogą być „groupMembership ” lub”Member”

Jak dopasować więcej niż jeden atrybut?

na przykład, jeśli moi użytkownicy wyróżniają się dwoma atrybutami objectClass (jeden równy 'person’, a drugi 'user’), tak bym się do tego dopasował:

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

zwróć uwagę na symbolampersand symbol '&' na początku. Przetłumaczone to oznacza: Szukaj objectClass=person I object = user.

alternatywnie,

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

przetłumaczone oznacza to: szukaj objectClass=person lub object=user.

pipe symbol '|' oznacza 'lub’. Ponieważ nie jest to specjalny znak XML, nie powinno być konieczne wykonywanie znaków specjalnych.

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

oznacza to: Wyszukaj wszystkie wpisy, które mają objectClass = user I cn, które zawierają słowo 'Marketing’.

tip / odpoczynek stworzony za pomocą szkicu.

symbole wieloznaczne nie są obsługiwane, gdy są używane w filtrach za pomocą ! (lub nie) operatory logiczne. Zobacz poniżej

(Ostrzeżenie)same usługi LDAP nie obsługują symboli wieloznacznych dlamemberOf attribute I innych wyróżnionych nazw podczas konfigurowania LDAPFilter.

Jak dopasować 3 atrybuty?

wystarczy dodać dodatkową klauzulę:

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

dodatkowe klauzule mogą być dodawane również dla więcej niż trzech atrybutów.

Dopasowanie elementów wyróżnionych nazw

tip/spoczynkowe utworzone za pomocą Sketch.

Ponieważ Microsoft Active Directory nie implementuje rozszerzalnego dopasowania, poniższe przykłady nie będą z nim współpracować.

możesz chcieć dopasować część DN, na przykład gdy musisz szukać swoich grup w dwóch podrzędach serwera.

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

znajdzie grupy z komponentem OU ich DN, który jest 'Chicago’ lub 'Miami’.

używanie 'not’

aby wykluczyć elementy pasujące do wyrażenia, użyj ’!’.

więc

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

znajdzie wszystkie grupy z wyjątkiem tych z komponentem Wrigleyville OU.

zwróć uwagę na dodatkowe nawiasy: (!(<wyrażenie>))

zauważ, że jeśli używasz 'not’ (tj. ’!’aby wykluczyć obiekty) musi być reprezentowany jako byt’!’w pliku XML, jeśli używasz Confluence 3.4 lub poniżej.

Dla Confluence 3.4 i poniżej, po zbudowaniu filtra wyszukiwania za pomocą tego dokumentu, przed dodaniem do pliku XML należy uciec od symbolu ampersand i wykrzyknika. Na przykład;

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

zapoznaj się z zewnętrzną dokumentacją dotyczącą innych znaków XML, które wymagają ucieczki.staje się

przykładowe filtry

te filtry są zapisywane dla Active Directory. Aby użyć ich do czegoś takiego jak OpenLDAP atrybuty będą musiały zostać zmienione.

spowoduje to synchronizację tylko użytkowników z grupy 'CaptainPlanet’ – należy to zastosować do filtra obiektu User:

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

i spowoduje wyszukiwanie użytkowników, którzy są członkami tej grupy, bezpośrednio lub poprzez zagnieżdżenie:

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

ważne, aby Active Directory miało memberof:1.2.840.113556.1.4.1941 jeśli chcesz znaleźć zagnieżdżone grupy (nie zastępuj ciągu liczbowego) wewnątrz grupy captainplanet.

wyszukuje użytkowników, którzy są członkami dowolnej lub wszystkich 4 grup (ogień,wiatr,Woda, Serce)

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

opis

ten dokument opisuje, w jaki sposób zbudować bardziej zaawansowany filtr dla filtra obiektów użytkownika i filtra obiektów grupy atrybuty w konfiguracji LDAP dla aplikacji Atlassian.

produkt

Jira, Confluence, Bamboo, Bitbucket

Platforma

Serwer