Active Directory по сравнению с OpenLDAP

Я столкнулся с этой проблемой с play-services: 5.0.89. Обновление до 6.1.11 решило проблему.

27
задан Migol 15 June 2009 в 17:50
поделиться

2 ответа

Для гетерогенных сред вы хотите использовать универсальный сервер, такой как OpenLDAP. Преимущество AD обычно состоит в том, что он уже содержит учетные записи для ваших внутренних пользователей - их можно синхронизировать с отдельным сервером LDAP, хотя это добавляет сложности.

Что касается специфики протокола, то документация для Oracle Virtual Directory есть довольно хорошее резюме. (OVD - это продукт, который можно использовать для прокси-сервера AD и преобразования некоторых его особенностей в более стандартный интерфейс.):

http://download.oracle.com/docs/html/E10286_01/app_bundled_plugins.htm#CHDGDBBG

Атрибуты ранжирования Атрибуты в Active Directory и ADAM с другими то возвращается 1000 значений 1000 при время с именем, которое включает диапазон значений, которые были возвращены (или 1500 для Windows 2003). Диапазон возвращается клиенту в виде: member; 1-1000: somevalue Для того, чтобы получить следующую тысячу записей, клиентское приложение должно каким-то образом знать повторить запрос и запросить член атрибута; 1001-2000. это требует приложений для обработки Microsoft Active Directory в особый способ по сравнению с другими каталог продуктов.

Обновления паролей Microsoft Active Directory и ADAM имеют особые правила о том, как пароль пользователь может быть обновлен с помощью LDAP:

  • Пароли могут быть обновлены только через безопасное соединение SSL.
  • Если пользователь обновляет свой собственный пароль, исходный пароль должен быть быть включенным в удаление изменения с помощью новый пароль является дополнением к модификации та же операция изменения.
  • Только администратор может сбросить пароль пользователя, не зная предыдущий пароль.
  • Active Directroy не использует атрибут userPassword, он использует атрибут unicodePwd (который quoted-UTF16-hex-padded-base64 в кодировке ).

Сопоставление классов объектов Большинство LDAP каталоги используют inetOrgPerson и объектные классы groupOfUniqueNames для пользователи и группы. Microsoft Active Каталог использует пользователя и группу объектные классы со специфическими атрибутами к требованиям Active Directory NOS Microsoft ».

Это одни из основных, но есть и другие.

14
ответ дан 28 November 2019 в 04:36
поделиться

Вот некоторые различия, которые я знаю. OpenLDAP можно назвать общим LDAP сервером, подобным многим LDAP серверам других производителей (Fedora DS 389, Oracle Internet Directory, IBM Tivoli Directory Server). Active Directory немного более приспособлен к набору продуктов Microsoft (т.е. работает в домене Microsoft). У каждого из них есть свои плюсы и минусы.

OpenLDAP пуст после установки и не имеет структуры (называемой DIT). У него даже нет корневой записи из коробки. AD поставляется с базовой структурой и имеет инструменты GUI, готовые к тому, чтобы вы начали вводить пользователей. OpenLDAP и другие ожидают, что вы создадите DIT вручную, поэтому вам придется разрабатывать структуру. Итак, вам нужно спланировать, где вы собираетесь разместить своих пользователей, группы, роли и подумать об ACL или делегировании ветвей, если ваш проект включает подобные вещи. Например, у вас может быть домен widgets.com. В AD отгруженная структура будет выглядеть примерно так:

+ dc=widgets,dc=com
|-- cn=Computers
|-- cn=Users
|-- cn=Groups

В OpenLDAP (или других ванильных реализациях) вы можете создавать DIT различными способами. Вы можете следовать конвенции доменного компонента (dc=foo,dc=bar) или использовать что-то организованное по географическому региону (o=foo,c=bar). Это не имеет большого значения, но вы должны выбрать тот или иной вариант. AD использует соглашение DC и не дает вам выбора, но другие серверы LDAP могут использовать любое соглашение. Если вы пытаетесь вписаться в большой домен MS, я бы придерживался соглашения DC для согласованности и простоты интеграции. Но для этого примера мы представим, что организация нашей компании (o) находится в одной стране (c) без регионов или подразделений (ou):

+ o=widgets,c=us
|-- cn=Machines
|-- cn=People
|-- cn=Groups
|-- cn=Roles

Затем вы можете расширить свою схему, если потребуется. Если вы хотите расширить схему AD, AD потребует от вас добавить элементы схемы через плагин консоли Active Directory Schema Editor MMC (создайте пользовательский MMC). После этого все довольно просто. Сначала определите атрибуты, а затем классы объектов. OpenLDAP требует, чтобы вы написали LDIF (также требует сначала атрибуты, а затем классы объектов). Или используйте Apache Directory Studio с OpenLDAP, который является потрясающим GUI и инструментом администрирования и делает OpenLDAP почти AD простым в использовании.

AD не позволяет вам запрашивать все на 389 анонимно. Если вы хотите получить информацию о схеме (называемую каталогом), вы должны сделать запрос на 3289 и пройти аутентификацию. Это напоминает мне о сокрытии DIB vs DIT в LDAP, но я не знаю, пытается ли AD сделать здесь то же самое.

AD имеет стандартный лимит запросов в 10 000. Если вы хотите получить все за один раз, вам придется использовать элементы управления страницей на вашем клиенте или в вашем коде, или изменить стандартный лимит запросов на контроллере домена, на котором вы ищете. Обратите внимание, что элементы управления подкачкой могут быть проблематичными. Я заставил их работать в java, используя библиотеки Netscape, но некоторые LDAP клиенты, похоже, не работают корректно, даже если они утверждают, что поддерживают элементы управления страницами (YMMV).

Аутентификация в AD немного странная. Вы можете аутентифицироваться как имя пользователя в формате электронной почты (-D username@domain) или использовать полный DN пользователя. Если есть способ сделать это в OpenLDAP, я не знаю, как это сделать, но я бы не стал беспокоиться. Это странно по сравнению с другими серверами LDAP. Обычные LDAP обычно следуют формату DN (cn=username,cn=Users,o=widgets,c=us).

Короче говоря, AD имеет свое мнение, а OpenLDAP - общее. И из-за этого AD легко установить, но OpenLDAP может быть более гибким.

54
ответ дан 28 November 2019 в 04:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: