Чи можу я отримати пояснення синтаксису суфіксів бази пошуку LDAP?


11

Я знаю, що суфікс бази пошуку LDAP зазвичай відповідає імені хоста сервера каталогів. Іншими словами, я знаю, чи є ім'я хоста od.foobar.com, я повинен використовувати суфікс бази пошуку:dc=od,dc=foorbar,dc=com

Мене це заважає не розуміти, чому я це роблю. Чи міг би хтось надати якісь відомості та пояснити, що я саме роблю?


3
Я категорично не згоден зі словом "взагалі". Більшість сайтів LDAP використовують делеговане доменне ім’я (тут foobar.com) НЕ ім'я хоста сервера.
борцмейєр

Відповіді:


7

До того, як Microsoft "прийняла, розширила та змінила" LDAP, у більшості реалізацій були об'єкти, які представляли корінь дерева. Тобто треба починати звідкись.

З причин, про які мені не зовсім зрозуміло, в Active Directory кожен домен у дереві / лісі вкорінений з ім'ям, яке dc = домен, dc = com, що насправді не є двома окремими об'єктами, скоріше це віртуальний корінь каталогу простір імен.

Я думаю, що деяка частина цього походить від того, що незалежно від того, що сказано про Active Directory, це все ще є низка пов'язаних доменів, і кожен домен потрібно розглядати як окрему сутність.

Тепер в дереві AD є автоматичні транзитивні трести, тому для кінцевих користувачів це стає менш важливим, але, хоча простір імен виглядає як суміжний, це насправді.

Це стає більш очевидним при деяких правилах називання з AD. Наприклад, sAMAccountName повинен бути унікальним у домені, незалежно від того, перебувають вони в одному контейнері чи ні. Тобто повне відоме ім’я повинно бути унікальним (у вас не може бути двох користувачів Джона Сміта в одному контейнері), але коротке ім'я, яке використовується для багатьох речей внутрішньо (sAMAccountName), має бути унікальним у всьому домені.

Інші служби каталогів або мають дещо подібні вимоги, наприклад, унікальний ідентифікатор дійсно повинен бути унікальним у всьому каталозі, але це більше, тому що програми зазвичай роблять це припущення, оскільки автори програм занадто ліниві, щоб вирішити складну проблему (я не звинувачую їх, це складна проблема), як обробити двох користувачів із короткими іменами jsmith, які намагаються скористатися послугою, але наявними у двох різних контейнерах. (Тобто, можливо, cn = jsmith, ou = London, dc = acme, dc = com і cn = jsmith, ou = Texas, dc = acme, dc = com).

Як ваша програма за допомогою цього каталогу повинна вирішити, якого користувача використовувати? Звичайна відповідь - нехай користувач вирішує. Але це означає втілити цей випадок, представити користувальницький інтерфейс користувачеві на вибір і що інше.

Більшість авторів програм просто ігнорують цю можливість і просто використовують uniqueID або sAMAccountName, тому що це унікально (свого роду) і простіше зробити.

Різниця між uniqueID та sAMAccountName полягала б у тому, що uniqueID повинен бути унікальним у всьому просторі імен каталогу. Тоді як sAMAccountName є унікальним лише у домені. Якщо дерево AD має кілька доменів, немає гарантії унікальності між доменами.


Я не впевнений, чи це навіть відповідає на питання. Або питання не сформульоване дуже добре, або моя голова крутиться занадто сильно.
ThatGraemeGuy

1
Я думаю, ЧОМУ чомусь довільно. Ви повинні почати десь, і X.500, на якому грунтується LDAP, говорить, що ви повинні мати корінь для свого дерева. (Інакше це перекидається?) Чи є питання ЧОМ почати десь? Навіщо саме починати тут?
geoffc

8

Інші пояснили, чому використання доменного імені є хорошою ідеєю (але не є обов'язковою). Я просто додаю, що питання неправильне: мати базовий суфікс на основі назви машини взагалі не рекомендується (з очевидних причин: що робити, якщо замінити gandalf.example.comна sarouman.example.com?). Зазвичай ви використовуєте лише делеговане доменне ім’я, тому, якщо у вас є example.com, ви використовуєте dc=example,dc=com.


+1 приємне спостереження. Повністю пропустив це: D
Командир Кін

7

Корінь каталогу повинен бути встановлений на щось. Це може бути встановлено на все, що завгодно. Встановлення доменного імені - це просто корисна умова, яка забезпечує унікальність простору імен вашого каталогу.


3

Коротка версія: відповідність доменного імені як гарантія унікальності базового шляху.

Зробіть це, і ви не будете схожі на адміністратора-новачка, якщо ваша компанія об'єднується з іншою, і вам потрібно об'єднати системи :)

Гаразд, це була дуже коротка версія =)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.