Домен A (корень лесного дерева) (основной домен)
Домен B (Прямой исходящий) (Прямой входящий)
Между двумя лесными доменами A / B существует двустороннее доверие. Этот сценарий используется для соединения двух компаний.
Теперь предположим, что у нас есть приложение, которое использует активный каталог для аутентификации в домене A.
Пользователь из домена B добавляется в группу, которая существует в домене A, что позволяет им получить доступ к этому приложению. Это приложение использует ADSI для подключения к контроллеру домена домена A для аутентификации пользователя.
Первый вопрос: С помощью ADSI с контроллера домена в домене A будет ли он знать, что нужно пройти через доверие и проверить пользователя в домене B? Или приложению необходимо также указать конкретный контроллер домена в Домене B.
Второй вопрос: Чтобы получить список всех пользователей в домене B из домена A, смогу ли я запросить это, например, в PowerShell, используя ADSI / LDAP с контроллера домена в домене A, или мне нужно будет конкретно использовать контроллер домена в домене B?
Спасибо!
1) Приложение не будет использовать ADSI для аутентификации пользователя. ADSI - это COM-интерфейс, а не протокол сетевой аутентификации. Он будет использовать Kerberos или LDAP. Очень полезно знать, какой протокол он на самом деле использует, поскольку доверие AD применяется только к Kerberos авт.
1a) Если приложение использует Kerberos, оно отправит запрос билета службы на локальный контроллер домена. Это проверит соответствующее SPN, а затем вернет ссылку на DC в целевом домене. Затем рабочая станция запросит билет службы у DC целевого домена и затем обратится к приложению. Этот процесс описан ближе к концу Эта статья.
1b) Если ваше приложение использует LDAP, его необходимо настроить так, чтобы он указывал на один или несколько контроллеров домена в целевом домене. Вы можете использовать само доменное имя в качестве целевого, хотя я бы проверил разницу в задержке между использованием жестко запрограммированного имени контроллера домена и только имени домена. Если вы используете жестко заданное имя контроллера домена, у вас должен быть способ определить один или несколько вторичных целевых контроллеров домена, если первый не работает.
2) Если вы выполняете запросы LDAP (через ADSI или иным образом), вам необходимо указать фактический целевой домен и учетную запись, у которой есть разрешения на поиск LDAP там (например, любая учетная запись в целевом домене). Возможно, вам потребуется указать фактическое имя DC (я его не тестировал). В вашем локальном домене есть рефералы к доверяющему домену - он не хранит в нем никаких фактических объектов.