Делегирование доступа к службе PolyAnalyst

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

Например, при попытке получения доступа к сетевой папке, расположенной на стороннем компьютере, доступ будет осуществляться от имени анонимного пользователя (если вы используете учетную запись пользователя с имперсонацией). Такой доступ называется делегированием.

Если требуется делегирование, необходимо явно разрешить его; для этого необходимо зарегистрировать имя службы данного сервиса на контроллере домена. Данная операция выполняется с помощью утилиты Setspn.

Настройка имперсонации

Чтобы настроить доступ с имперсонацией, необходимо владеть правами администратора.
  1. Запустите командную строку Windows с правами администратора на контроллере домена;

  2. Выполните следующую команду:

    setspn -S PAserviceName/computerName userName

    где userName - имя учетной записи, под которой работает служба PolyAnalyst. Если служба PolyAnalyst работает под именем SYSTEM, используйте computerName вместо userName.

  3. После выполнения этой команды в окне службы Active Directory данного пользователя появится вкладка Делегирование.

  4. В этой вкладке необходимо разрешить делегирование для службы PolyAnalyst. Если список служб пустой, нажмите Добавить. Появится диалоговое окно; нажмите Пользователи и компьютеры и введите userName.

  5. Нажмите Проверить имена.

  6. Нажмите OK. Диалоговое окно закроется, а в списке появится служба, зарегистрированная с помощью утилиты Setspn. Добавьте эту службу.

  7. Убедитесь, что у пользователей, у которых разрешено делегирование, имеется разрешение на делегирование: убедитесь, что опция Учетная запись важна и не может быть делегирована ОТКЛЮЧЕНА (галочка снята).

Устранение неисправностей

Возникновение ошибок, например AcceptSecurityContext failed. System error is 'Insufficient system resources exist to complete the requested service.' или InitializeSecurityContext failed. System error is *'Вход в систему не произведен: конечная учетная запись указана неверно., может означать, что вы зарегистрировали службу для некорректного пользователя. В этом случае необходимо удалить зарегистрированный SPN и выполнить правильную регистрацию.