A delegação restrita para CIFS falha com ACCESS_DENIED erro
Este artigo ajuda a corrigir um erro de acesso negado que ocorre quando você acessa um serviço que usa compartilhamentos de rede em um servidor de camada intermediária.
Número original do KB: 2602377
Sintomas
Ao acessar um serviço que usa compartilhamentos de rede em um servidor de camada intermediária, os usuários são solicitados a fornecer credenciais e, eventualmente, encontram um erro de acesso negado .
Cenários de exemplo
Cenário 1
O usuário é solicitado a fornecer credenciais e o acesso eventualmente falha com um erro de acesso negado se as seguintes condições forem verdadeiras:
- O site do IIS é configurado com o diretório base apontando para o compartilhamento remoto usando autenticação de passagem e delegação restrita configurada para CIFS.
- O pool de aplicativos do IIS que acessa esse compartilhamento está em execução sob a identidade da conta de serviço.
- A conta de domínio é confiável para delegação para o serviço cifs no servidor de arquivos.
- O servidor de arquivos e o servidor Web estão executando um sistema operacional listado na seção Aplica-se a.
Cenário 2
- O aplicativo Web está tentando acessar um servidor de arquivos como um usuário.
- O pool de aplicativos do IIS que acessa esse compartilhamento está em execução na identidade da conta de serviço. A conta de domínio é confiável para delegação para o serviço cifs no servidor de arquivos.
- A delegação restrita configurada para CIFS é configurada na conta de serviço do servidor de arquivos.
- Os tipos de servidor de arquivos e servidor Web estão listados na seção Aplica-se a.
Cenário 3:
- Qualquer aplicativo do lado do servidor que está sendo acessado de um cliente está acessando compartilhamentos remotos como usuário.
- O aplicativo do lado do servidor está sendo executado no contexto de uma conta de serviço.
- A conta de serviço é confiável para delegação e configurada para delegação CIFS para o servidor de arquivos.
- Os tipos de servidor de arquivos e servidor Web estão listados na seção Aplica-se a.
Motivo
Isso foi identificado como um problema entre MrxSmb 2.0 e Kerberos quando a delegação restrita está envolvida.
Solução alternativa
Solução alternativa 1
Use uma conta de computador em vez de uma conta de serviço como a identidade para aplicativos que executarão a delegação restrita para CIFS. Configure a delegação restrita quando o nível funcional do domínio for Windows Server 2003, Windows Server 2008 ou Windows Server 2008 R2.
Para fazer isso no controlador de domínio do domínio dos servidores Web, siga estas etapas:
- Clique em Iniciar, Ferramentas Administrativas e em Usuários e Computadores do Active Directory.
- Expanda o domínio e a pasta Computadores.
- No painel direito, clique com o botão direito do mouse no nome do computador do servidor Web, selecione Propriedades e clique na guia Delegação.
- Marque a caixa de seleção Confiar neste computador para delegação somente a serviços especificados.
- Verifique se a opção Usar somente Kerberos está selecionada e clique em OK.
- Clique no botão Adicionar . Na caixa de diálogo Adicionar Serviços, clique em Usuários ou Computadores e procure ou digite o nome do servidor de arquivos que receberá as credenciais do usuário do IIS. Clique em OK.
- Na lista Serviços Disponíveis, selecione o serviço CIFS. Clique em OK.
Solução alternativa 2
Se você precisar usar a identidade dos aplicativos como uma conta de serviço e/ou conta de domínio, use a solução alternativa a seguir.
Observação
Essa solução alternativa não é recomendada porque requer Usar qualquer delegação de protocolo de autenticação na conta do computador. Se a opção Usar qualquer protocolo de autenticação estiver selecionada, a conta estará usando delegação restrita com transição de protocolo.
- Clique em Iniciar, Ferramentas Administrativas e em Usuários e Computadores do Active Directory.
- Expanda o domínio e a pasta Computadores.
- No painel direito, clique com o botão direito do mouse no nome do computador do servidor Web, selecione Propriedades e clique na guia Delegação.
- Marque a caixa de seleção Confiar neste computador para delegação somente a serviços especificados.
- Verifique se a opção Usar qualquer protocolo de autenticação está selecionada e clique em OK.
- Clique no botão Adicionar . Na caixa de diálogo Adicionar Serviços, clique em Usuários ou Computadores e procure ou digite o nome do servidor de arquivos que receberá as credenciais dos usuários do IIS. Clique em OK.
- Na lista Serviços Disponíveis, selecione o serviço CIFS. Clique em OK.
- No painel esquerdo, expanda a pasta Usuários.
- No painel direito, clique com o botão direito do mouse na conta de serviço que é a identidade do pool de aplicativos, selecione Propriedades e clique na guia Delegação.
- Marque a caixa de seleção Confiar neste computador para delegação somente a serviços especificados.
- Verifique se a opção Usar somente Kerberos está selecionada e clique em OK.
- Clique no botão Adicionar . Na caixa de diálogo Adicionar Serviços, clique em Usuários ou Computadores e procure ou digite o nome do servidor de arquivos que receberá as credenciais dos usuários do IIS. Clique em OK.
- Na lista Serviços Disponíveis, selecione o serviço CIFS. Clique em OK.