Articles

Jak psát LDAP hledání filtry

Platforma Upozornění: Server a Datové Centrum Pouze – Tento článek se vztahuje pouze na Atlassian produktů na serveru a datových center platformy.

Účel

Tento dokument popisuje, jak jít o budování sofistikovanější filtr pro Objekt Uživatele, Filtru a Skupiny Objekt Filtru atributů v LDAP konfigurace pro Atlassian aplikací.

co je filtr

filtry lze použít k omezení počtu uživatelů nebo skupin, kterým je povolen přístup k aplikaci. Filtr v podstatě omezuje, z jaké části stromu LDAP se aplikace synchronizuje.

filtr může a měl by být napsán jak pro uživatele, tak pro členství ve skupině. Tím je zajištěno, že svou aplikaci nezaplavujete uživateli a skupinami, které nepotřebují přístup.

Řešení

Při konstrukci filtru je nejlepší vybrat společný atribut sada uživatelům chcete umožnit přístup k žádosti. Toto je nejčastěji atribut, který označuje členství ve skupině nebo objektclass jako“osoba“

tip / resting vytvořený pomocí náčrtu.

atribut používaný k označení členství ve skupině není společný pro všechny příchutě LDAP. Příklady tohoto atributu mohou být „groupMembership “ nebo“Member“

jak porovnám více než jeden atribut?

Pokud se například moji uživatelé vyznačují tím, že mají dva atributy objectClass (jeden se rovná „osobě“ a druhý „uživateli“), takto bych to odpovídal:

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

Všimněte si na začátku symbolu ampersand symbol '&'. Přeloženo to znamená: hledat objectClass=osoba a objekt=uživatel.

alternativně

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

přeloženo to znamená: hledat objectClass=osoba nebo objekt=uživatel.

pipe symbol '|' označuje ‚nebo‘. Protože se nejedná o speciální znak XML, neměl by být nutný únik.

zástupné znaky

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

to znamená: vyhledejte všechny položky, které mají objectClass=user a cn, které obsahují slovo ‚Marketing‘.

tip / resting vytvořený pomocí náčrtu.

zástupné znaky nejsou podporovány při použití ve filtrech pomocí ! (nebo ne) logické operátory. Viz níže

(varování) LDAP služby samy o sobě nepodporuje zástupné znaky pro memberOf attribute a další Rozlišující Název při zakládání LDAPFilter.

jak porovnám 3 atributy?

stačí přidat další klauzuli:

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

Další klauzule lze přidat i pro více než tři atributy.

odpovídající komponenty rozlišených jmen

tip / resting vytvořené pomocí náčrtu.

protože Microsoft Active Directory neimplementuje extensible matching, následující příklady s ním nebudou fungovat.

možná budete chtít porovnat část DN, například když potřebujete hledat své skupiny ve dvou podtromech vašeho serveru.

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

najde skupiny s ou složkou jejich DN, která je buď ‚Chicago‘ nebo ‚Miami‘.

použití ‚not‘

Chcete-li vyloučit entity, které odpovídají výrazu, použijte ‚!‘.

takže

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

najde všechny skupiny kromě těch s komponentou Wrigleyville OU.

poznamenejte si další závorky: (!(<výraz>))

Všimněte si, že pokud používáte “ ne “ (tj. ‚!’Chcete-li vyloučit objekty) musí být reprezentován jako entita‘!’ve vašem XML souboru, pokud používáte Confluence 3.4 nebo nižší.

pro soutok 3.4 a níže, jakmile vytvoříte vyhledávací filtr pomocí tohoto dokumentu, musíte před přidáním do souboru XML uniknout symbolu ampersand a symbolu vykřičníku. Takže například,

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

Viz tento externí dokumentace na další znaky XML, které je třeba uniknout.

ukázkové filtry

tyto filtry jsou zapsány pro službu Active Directory. Aby bylo možné je použít pro něco, jako je OpenLDAP atributy budou muset být změněny.

To bude pouze synchronizaci uživatelů v CaptainPlanet skupiny – to by mělo být aplikován na Objekt Uživatele Filtru:

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

A to bude hledat pro uživatele, které jsou členem této skupiny, a to buď přímo, nebo prostřednictvím hnízdění:

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

Důležité pro Active Directory, aby byly memberOf:1.2.840.113556.1.4.1941 pokud chcete najít vnořené skupiny (nenahrazují číselný řetězec) uvnitř CaptainPlanet skupiny.

To bude hledat pro uživatele, kteří jsou členy některé nebo všechny 4 skupiny (oheň, vítr,voda,srdce)

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

Popis

Tento dokument popisuje, jak jít o budování sofistikovanější filtr pro Objekt Uživatele, Filtru a Skupiny Objekt Filtru atributů v LDAP konfigurace pro Atlassian aplikací.

Výrobek

Jira, Confluence, Bamboo, Bitbucket

Platforma

Server