Как настроить вход в 1С через домен (Active Directory), чтобы пользователи не вводили пароль?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← К списку

Часто перед администраторами и разработчиками 1С встает задача упростить жизнь пользователям и повысить безопасность. Один из лучших способов — это настроить сквозную аутентификацию (Single Sign-On), чтобы пользователи могли входить в информационную базу 1С под своей доменной учетной записью Windows, не вводя пароль повторно. Давайте вместе разберемся, как это сделать, и проанализируем два сценария: простой, когда сервер 1С работает на Windows, и более сложный, когда сервер развернут на Linux.

Решение 1: Простая настройка, если сервер 1С работает на Windows

Этот сценарий является наиболее распространенным и простым в реализации. Вся настройка выполняется непосредственно в конфигураторе 1С и не требует сложных манипуляций на сервере. Разберем по шагам, что нужно сделать.

  1. Запустите 1С в режиме «Конфигуратор». Вам потребуются права администратора для внесения изменений в список пользователей.

  2. Откройте список пользователей. Перейдите в меню АдминистрированиеПользователи.

  3. Выберите нужного пользователя. Откройте карточку пользователя, для которого вы хотите настроить доменную аутентификацию. Это может быть как новый, так и уже существующий пользователь.

  4. Включите аутентификацию операционной системы. На основной вкладке найдите и установите флажок Аутентификация операционной системы. Это ключевая настройка, которая сообщает платформе 1С, что для этого пользователя нужно использовать учетные данные Windows.

  5. Укажите пользователя ОС. После установки флага станет доступно поле Пользователь. Здесь необходимо указать доменного пользователя в правильном формате. Вы можете сделать это двумя способами:

    • Вручную: Введите имя пользователя в формате Домен\ИмяПользователяОС. Например: MYCOMPANY\ivanov.ii.
    • Через диалог выбора: Нажмите на кнопку выбора (...) рядом с полем. Откроется стандартное окно Windows для выбора пользователей из Active Directory. Найдите и выберите нужную учетную запись. Этот способ предпочтительнее, так как исключает опечатки.
  6. Сохраните изменения. Нажмите «ОК» или «Записать», чтобы сохранить настройки для пользователя.

После этих действий пользователь сможет заходить в 1С без ввода пароля, если он уже авторизован в домене Windows на своем рабочем компьютере. Платформа автоматически сопоставит его сессию Windows с пользователем в 1С.

Решение 2: Комплексная настройка, если сервер 1С работает на Linux (включая Astra Linux)

Если сервер «1С:Предприятие» установлен на операционной системе семейства Linux, а домен построен на базе Windows Active Directory, простая установка флага в конфигураторе не сработает. Выясним причину: сервер 1С на Linux не может напрямую использовать механизмы аутентификации Windows (NTLM). Вместо этого он использует протокол Kerberos. Поэтому настройка потребует действий как на контроллере домена, так и на самом Linux-сервере.

Рассмотрим подробнее весь процесс по шагам.

Шаг 1: Подготовка на контроллере домена (Windows Server)

Здесь наша задача — создать специальную служебную учетную запись и сгенерировать для нее файл ключей (keytab), который свяжет ее со службой сервера 1С.

  1. Создайте служебного пользователя в Active Directory. Это будет учетная запись, от имени которой служба 1С будет взаимодействовать с доменом. Рекомендуется назвать ее так же, как и пользователя, от имени которого работает сервер 1С на Linux (по умолчанию это usr1cv8). Задайте сложный пароль, который не истекает.
  2. Сгенерируйте .keytab файл. Для этого используется утилита командной строки ktpass. Эта команда создает Service Principal Name (SPN) — уникальный идентификатор службы в домене — и связывает его с нашей учетной записью.

    Посмотрим на пример команды:

    
    ktpass -princ HTTP/1c-server.mycompany.local@MYCOMPANY.LOCAL -mapuser MYCOMPANY\usr1cv8 -pass * -out C:\temp\1c.keytab -ptype KRB5_NT_PRINCIPAL -crypto ALL
    

    Проанализируем параметры:

    • -princ: Указывает SPN. 1c-server.mycompany.local — это полное доменное имя (FQDN) вашего Linux-сервера с 1С. MYCOMPANY.LOCAL — это имя вашего домена (REALM) в верхнем регистре.
    • -mapuser: Указывает служебного пользователя, которого мы создали на шаге 1.
    • -pass *: Запросит ввод пароля для этого пользователя.
    • -out: Путь для сохранения сгенерированного .keytab файла.
  3. Проверьте DNS. Убедитесь, что на DNS-сервере вашего домена есть A-запись для Linux-сервера, и она правильно разрешается в его IP-адрес. Kerberos очень чувствителен к правильной работе DNS.

Шаг 2: Настройка на сервере 1С (Linux)

Теперь нам нужно настроить сам Linux-сервер для работы с Kerberos и "подложить" ему сгенерированный ключ.

  1. Синхронизируйте время. Это критически важный момент! Время на Linux-сервере и на контроллере домена не должно расходиться более чем на 5 минут (по умолчанию). Настройте синхронизацию времени по протоколу NTP с вашим контроллером домена.
  2. Установите клиент Kerberos. Вам понадобятся пакеты для работы с протоколом. В Debian-подобных системах (включая Astra Linux) это обычно делается командой:
    
    sudo apt-get install krb5-user
    
  3. Настройте конфигурационный файл Kerberos. Отредактируйте файл /etc/krb5.conf. В нем нужно указать параметры вашего домена. Вот минимальный пример содержимого:
    
    [libdefaults]
        default_realm = MYCOMPANY.LOCAL
    
    [realms]
        MYCOMPANY.LOCAL = {
            kdc = dc1.mycompany.local
            admin_server = dc1.mycompany.local
        }
    
    [domain_realm]
        .mycompany.local = MYCOMPANY.LOCAL
        mycompany.local = MYCOMPANY.LOCAL
    

    Здесь MYCOMPANY.LOCAL — ваш домен, а dc1.mycompany.local — имя вашего контроллера домена.

  4. Скопируйте .keytab файл. Файл 1c.keytab, который мы сгенерировали на Windows Server, нужно скопировать на Linux-сервер. Обычно его кладут в каталог с файлами платформы 1С и устанавливают права доступа, чтобы пользователь usr1cv8 мог его читать.
  5. Проверьте получение билета Kerberos. Чтобы убедиться, что настройка верна, выполните команду kinit от имени пользователя, для которого настроена аутентификация. Если команда выполнится без ошибок, значит, связь с доменом установлена.

Шаг 3: Настройка в 1С

После всех серверных манипуляций финальный шаг выполняется в конфигураторе 1С. Он полностью совпадает с первым решением: откройте карточку пользователя, установите флаг Аутентификация операционной системы и укажите его доменную учетную запись.

Важный момент: если у вас возникают проблемы, лучшим инструментом для диагностики будет Технологический журнал 1С. Он подробно покажет все этапы попытки аутентификации и поможет найти ошибку, будь то неверный SPN, проблемы с DNS или рассинхронизация времени.

← К списку