Ограниченное делегирование для 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.
Чтобы сделать это на контроллере домена для домена веб-серверов, выполните следующие действия.
- На начальном экране выберите Администрирование, а затем выберите пункт Пользователи и компьютеры Active Directory.
- Разверните домен и папку «Компьютеры».
- В правой области щелкните правой кнопкой мыши имя компьютера для веб-сервера, выберите "Свойства" и перейдите на вкладку "Делегирование".
- Установите флажок "Доверять этому компьютеру" для делегирования только указанным службам.
- Убедитесь, что выбран только использование Kerberos, а затем нажмите кнопку "ОК".
- Нажмите кнопку Добавить. В диалоговом окне "Добавление служб" щелкните "Пользователи" или "Компьютеры", а затем введите имя файлового сервера, который получит учетные данные пользователя из IIS. Нажмите кнопку ОК.
- В списке доступных служб выберите службу CIFS. Нажмите кнопку ОК.
Обходное решение 2
Если необходимо использовать удостоверение приложений в качестве учетной записи службы и (или) доменной учетной записи, используйте следующее решение.
Примечание.
Это решение не рекомендуется, так как для нее требуется использовать делегирование протокола проверки подлинности в учетной записи компьютера. Если выбран параметр "Использовать любой протокол проверки подлинности", учетная запись использует ограниченное делегирование с переходом протокола.
- На начальном экране выберите Администрирование, а затем выберите пункт Пользователи и компьютеры Active Directory.
- Разверните домен и папку «Компьютеры».
- В правой области щелкните правой кнопкой мыши имя компьютера для веб-сервера, выберите "Свойства" и перейдите на вкладку "Делегирование".
- Установите флажок "Доверять этому компьютеру" для делегирования только указанным службам.
- Убедитесь, что выбран любой протокол проверки подлинности, а затем нажмите кнопку "ОК".
- Нажмите кнопку Добавить. В диалоговом окне "Добавить службы" щелкните "Пользователи" или "Компьютеры", а затем введите имя файлового сервера, который получит учетные данные пользователей из IIS. Нажмите кнопку ОК.
- В списке доступных служб выберите службу CIFS. Нажмите кнопку ОК.
- В левой области разверните папку Users.
- В правой области щелкните правой кнопкой мыши учетную запись службы, которая является удостоверением пула приложений, выберите "Свойства" и перейдите на вкладку "Делегирование".
- Установите флажок "Доверять этому компьютеру" для делегирования только указанным службам.
- Убедитесь, что выбран только использование Kerberos, а затем нажмите кнопку "ОК".
- Нажмите кнопку Добавить. В диалоговом окне "Добавить службы" щелкните "Пользователи" или "Компьютеры", а затем введите имя файлового сервера, который получит учетные данные пользователей из IIS. Нажмите кнопку ОК.
- В списке доступных служб выберите службу CIFS. Щелкните OK.