Поделиться через


Ограниченное делегирование для CIFS завершается ошибкой ACCESS_DENIED

Эта статья помогает устранить ошибку отказа в доступе, возникающую при доступе к службе, использующую сетевые ресурсы на сервере среднего уровня.

Исходный номер базы знаний: 2602377

Симптомы

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

Пример сценариев

Сценарий 1

Пользователю предлагается предоставить учетные данные, и доступ в конечном итоге завершается ошибкой отказа в доступе, если выполняются следующие условия:

  • Веб-сайт IIS настроен с помощью домашнего каталога, указывающего на удаленную общую папку с помощью сквозной проверки подлинности и ограниченного делегирования, настроенного для CIFS.
  • Пул приложений IIS, обращаюющийся к этой общей папке, выполняется под удостоверением учетной записи службы.
  • Учетная запись домена является доверенной для делегирования службы cifs на файловом сервере.
  • Файловый сервер и веб-сервер работают под управлением операционной системы, указанной в разделе "Область применения".

Сценарий 2

  • Веб-приложение пытается получить доступ к файловом серверу в качестве пользователя.
  • Пул приложений IIS, который обращается к общей папке, выполняется под удостоверением учетной записи службы. Учетная запись домена является доверенной для делегирования службы cifs на файловом сервере.
  • Ограниченное делегирование, настроенное для CIFS, настроено в учетной записи службы для файлового сервера.
  • Типы файлового сервера и веб-сервера перечислены в разделе "Область применения".

Сценарий 3.

  • Любое серверное приложение, к которому осуществляется доступ от клиента, обращается к удаленным общим папкам от имени пользователя.
  • Серверное приложение выполняется в контексте учетной записи службы.
  • Учетная запись службы является доверенной для делегирования и настроена для делегирования CIFS для файлового сервера.
  • Типы файлового сервера и веб-сервера перечислены в разделе "Область применения".

Причина

Эта проблема была определена как проблема между mrxSmb 2.0 и Kerberos при ограниченном делегировании.

Обходное решение

Обходное решение 1

Используйте учетную запись компьютера вместо учетной записи службы в качестве удостоверения для приложений, которые будут выполнять ограниченное делегирование для CIFS. Настройте ограниченное делегирование, если уровень функциональности домена — Windows Server 2003, Windows Server 2008 или Windows Server 2008 R2.

Чтобы сделать это на контроллере домена для домена веб-серверов, выполните следующие действия.

  1. На начальном экране выберите Администрирование, а затем выберите пункт Пользователи и компьютеры Active Directory.
  2. Разверните домен и папку «Компьютеры».
  3. В правой области щелкните правой кнопкой мыши имя компьютера для веб-сервера, выберите "Свойства" и перейдите на вкладку "Делегирование".
  4. Установите флажок "Доверять этому компьютеру" для делегирования только указанным службам.
  5. Убедитесь, что выбран только использование Kerberos, а затем нажмите кнопку "ОК".
  6. Нажмите кнопку Добавить. В диалоговом окне "Добавление служб" щелкните "Пользователи" или "Компьютеры", а затем введите имя файлового сервера, который получит учетные данные пользователя из IIS. Нажмите кнопку ОК.
  7. В списке доступных служб выберите службу CIFS. Нажмите кнопку ОК.

Обходное решение 2

Если необходимо использовать удостоверение приложений в качестве учетной записи службы и (или) доменной учетной записи, используйте следующее решение.

Примечание.

Это решение не рекомендуется, так как для нее требуется использовать делегирование протокола проверки подлинности в учетной записи компьютера. Если выбран параметр "Использовать любой протокол проверки подлинности", учетная запись использует ограниченное делегирование с переходом протокола.

  1. На начальном экране выберите Администрирование, а затем выберите пункт Пользователи и компьютеры Active Directory.
  2. Разверните домен и папку «Компьютеры».
  3. В правой области щелкните правой кнопкой мыши имя компьютера для веб-сервера, выберите "Свойства" и перейдите на вкладку "Делегирование".
  4. Установите флажок "Доверять этому компьютеру" для делегирования только указанным службам.
  5. Убедитесь, что выбран любой протокол проверки подлинности, а затем нажмите кнопку "ОК".
  6. Нажмите кнопку Добавить. В диалоговом окне "Добавить службы" щелкните "Пользователи" или "Компьютеры", а затем введите имя файлового сервера, который получит учетные данные пользователей из IIS. Нажмите кнопку ОК.
  7. В списке доступных служб выберите службу CIFS. Нажмите кнопку ОК.
  8. В левой области разверните папку Users.
  9. В правой области щелкните правой кнопкой мыши учетную запись службы, которая является удостоверением пула приложений, выберите "Свойства" и перейдите на вкладку "Делегирование".
  10. Установите флажок "Доверять этому компьютеру" для делегирования только указанным службам.
  11. Убедитесь, что выбран только использование Kerberos, а затем нажмите кнопку "ОК".
  12. Нажмите кнопку Добавить. В диалоговом окне "Добавить службы" щелкните "Пользователи" или "Компьютеры", а затем введите имя файлового сервера, который получит учетные данные пользователей из IIS. Нажмите кнопку ОК.
  13. В списке доступных служб выберите службу CIFS. Щелкните OK.