Настройка доменной авторизации — это стандартная процедура для обеспечения удобства пользователей и безопасности системы. Однако часто системные администраторы и специалисты 1С сталкиваются с ситуацией, когда при попытке выбрать пользователя из Active Directory (AD) в конфигураторе, список оказывается пустым. Рассмотрим подробно, почему это происходит и как решить данную проблему, пройдя по всем уровням инфраструктуры: от операционной системы до настроек самой платформы.
Прежде всего, разберем базовое требование. Чтобы платформа 1С могла обращаться к объектам Active Directory, сервер, на котором запущен «Агент сервера 1С:Предприятие», должен быть полноправным членом этого домена. Если сервер находится в рабочей группе (Workgroup), он не сможет пройти проверку подлинности в контроллере домена для получения списка пользователей.
Проанализируем ситуацию: проверьте свойства системы на сервере приложений. Если сервер уже в домене, попробуйте перезагрузить его или переввести в домен, так как возможна потеря доверительных отношений между рабочей станцией и доменом.
Это одна из самых частых причин проблемы. По умолчанию служба 1С часто устанавливается от имени локальной системной учетной записи LocalSystem или специально созданной локальной учетной записи USR1CV8. Рассмотрим, почему это мешает работе:
Разберем по шагам, как настроить учетную запись службы:
svc_1c_server).C:\Program Files\1cv8\srvinfo) и необходимые права в локальной политике безопасности (Log on as a service).Выясним причину, связанную с сетевыми экранами (Firewalls). Для получения списка пользователей 1С использует протокол LDAP. Если между сервером 1С и контроллером домена стоит фаервол, список будет пуст. Проанализируем список необходимых портов:
Посмотрим на пример проверки порта через PowerShell:
Test-NetConnection -ComputerName dc1.yourdomain.local -Port 389
Test-NetConnection -ComputerName dc1.yourdomain.local -Port 3268
Проанализируем ситуацию, когда в домене очень много пользователей (более 1000). В Active Directory существует политика MaxPageSize, которая ограничивает количество объектов, возвращаемых за один LDAP-запрос. Если платформа 1С запрашивает список без использования механизма постраничной выдачи (paging), а количество пользователей превышает лимит, контроллер домена может вернуть ошибку или пустой результат.
В этом случае стоит проверить настройки политики LDAP на контроллере домена с помощью утилиты ntdsutil, хотя чаще всего проблема решается ограничением области поиска пользователей (перемещением нужных пользователей в отдельный OU и предоставлением прав только на него).
Если ваш сервер 1С работает под управлением Linux, настройка значительно усложняется. Рассмотрим основные моменты:
realmd или samba/winbind)./etc/krb5.conf.gss-ntlmssp.Пример части конфигурации krb5.conf, которую мы должны проверить:
[libdefaults]
default_realm = YOURDOMAIN.LOCAL
dns_lookup_realm = false
dns_lookup_kdc = true
[realms]
YOURDOMAIN.LOCAL = {
kdc = dc1.yourdomain.local
admin_server = dc1.yourdomain.local
}
Чтобы окончательно убедиться, в чем проблема — в 1С или в настройках ОС — выполним проверку «от противного». Запустите на сервере 1С (под той же учетной записью, под которой работает служба Агента) утилиту ldp.exe или ADSIEdit.msc.
Рассмотрим алгоритм проверки в ldp.exe:
Если в этих утилитах вы не видите список пользователей или получаете ошибку доступа, значит, проблема в правах или сети, и 1С здесь ни при чем. Нужно копать в сторону разрешений в Active Directory.
Для успешного отображения списка доменных пользователей в 1С необходимо соблюдение трех условий: сервер в домене, служба запущена от доменного пользователя с правами на чтение AD и открыты LDAP-порты. Если все эти условия соблюдены, но списка все равно нет, обратите внимание на версию платформы 1С — в старых релизах встречались ошибки взаимодействия с LDAP в 64-битных системах.