Resolução de problemas de delegação restrita do Kerberos

Importante

Antes de usar os procedimentos neste artigo, siga as etapas na lista de verificação de solução de problemas kerberos. As causas mais comuns de problemas relacionados ao Kerberos são problemas de infraestrutura e problemas de SPN (Service Principal Name, nome da entidade de serviço). A lista de verificação ajuda você a identificar esses problemas.

Se o serviço de destino tiver componentes de front-end e back-end separados, o Kerberos poderá delegar credenciais de cliente (incluindo permissões de acesso) a uma conta de serviço. Em termos simples, primeiro o cliente acessa o serviço front-end e, em seguida, o serviço front-end acessa o serviço de back-end em nome do cliente. No caso de delegação restrita, o serviço front-end mantém uma lista de serviços que pode acessar em nome de um cliente.

Os detalhes de configuração diferem dependendo do tipo de conta que o serviço front-end usa. Este artigo fornece procedimentos separados para diferentes tipos de contas de serviço:

Solução de problemas de delegação restrita do Kerberos se estiver usando uma conta de serviço interna

Siga estas etapas se o serviço front-end for executado no contexto de segurança de uma conta interna, como a conta de computador do computador local. Siga também estas etapas se o serviço front-end for executado em um dos contextos de segurança relacionados à conta de computador, como Sistema Local ou Serviço de Rede.

Etapa 1: Verificar o tipo de topologia

Para usar a delegação restrita, os serviços de front-end e back-end devem pertencer ao mesmo domínio. Se esses serviços estiverem em domínios diferentes ou em diferentes florestas confiáveis, você precisará usar a RBCD (delegação restrita baseada em recursos). Para obter mais informações, consulte as diretrizes de solução de problemas de autenticação Kerberos: tipos de topologia com suporte.

Etapa 2. Verificar as configurações de delegação da conta do computador

Use usuários e computadores do Active Directory (disponível no menu Ferramentas do Gerenciador de Servidores) para estas etapas.

  1. Em usuários e computadores do Active Directory, selecione Computadores. Clique com o botão direito do mouse na conta do computador front-end e, em seguida, selecione Propriedades>Delegação.
  2. Verifique se Confiar neste usuário apenas para delegação aos serviços especificados está selecionado.
  3. Verifique se a opção de autenticação selecionada é apropriada para os usuários que acessam o serviço Web.
  4. Verifique se a lista de serviços inclui o serviço de back-end (ou uma classe de serviço comum, como HOST para o servidor de back-end). Se for necessário, selecione Adicionar para adicionar o serviço à lista.
  5. Selecione OK.

Etapa 3. No IIS, verifique a configuração do pool de aplicativos

Use a ferramenta IIS (Serviços de Informações da Internet) (disponível no menu Ferramentas do Gerenciador de Servidores) para examinar as configurações do pool de aplicativos.

  1. No console do IIS, expanda o servidor IIS e selecione Pools de Aplicativos. No painel direito, clique com o botão direito do mouse em DefaultAppPool e selecione Configurações Avançadas.
  2. Selecione Modelo de Processo>Identidade. Verifique se a conta interna está selecionada e se uma conta interna apropriada (como NetworkService) está selecionada. Selecione OK para retornar à lista de propriedades.
  3. Verifique se o Perfil do Usuário de Carga está definido como True. Selecione OK para fechar a lista de propriedades.
  4. Se você alterou as configurações, reinicie o serviço do IIS.
  5. Tente se autenticar novamente.

Solução de problemas de delegação restrita do Kerberos se estiver usando uma conta de serviço personalizada

Siga estas etapas caso o serviço front-end esteja sendo executado no contexto de segurança de uma conta personalizada.

Etapa 1: Verificar o tipo de topologia

Para usar a delegação restrita, os serviços de front-end e back-end devem pertencer ao mesmo domínio. Se esses serviços estiverem em domínios diferentes ou em diferentes florestas confiáveis, você precisará usar delegação restrita baseada em recursos. Para obter mais informações, consulte as diretrizes de solução de problemas de autenticação Kerberos: tipos de topologia com suporte.

Etapa 2. Verificar as permissões da conta de serviço

Verifique se a conta de serviço faz parte do grupo Administradores locais ou grupo IIS_Users no servidor web.

Etapa 3. Verificar as configurações de delegação da conta de serviço

Use usuários e computadores do Active Directory (disponível no menu Ferramentas do Gerenciador de Servidores) para estas etapas.

  1. Em Usuários e Computadores do Active Directory, clique com o botão direito do mouse na conta de serviço (normalmente no contêiner Usuários) e selecione Propriedades>Delegação.
  2. Verifique se Confiar neste usuário apenas para delegação aos serviços especificados está selecionado.
  3. Verifique se a opção de autenticação selecionada é apropriada para os usuários que acessam o serviço Web.
  4. Verifique se a lista de serviços inclui o serviço de back-end (ou uma classe de serviço comum, como HOST para o servidor de back-end). Se for necessário, selecione Adicionar para adicionar o serviço à lista.
  5. Selecione Conta e examine as configurações de opções de conta . Verifique se a conta é confidencial e não pode ser delegada não está selecionada.
  6. Selecione OK.

Etapa 4. Verificar a configuração de delegação da conta de computador do servidor front-end

Além da conta de serviço personalizada, a conta de computador do servidor front-end também deve ser configurada para delegação.

  1. Em Usuários e Computadores do Active Directory, selecione Computadores, clique com o botão direito do mouse na conta do computador front-end e selecione Propriedades>Delegação.
  2. Certifique-se de que Confiar neste usuário para delegação aos serviços especificados esteja selecionado e que a opção subordinada, Usar qualquer protocolo de autenticação, também esteja selecionada.
  3. Verifique se a lista de serviços inclui o serviço de back-end (ou uma classe de serviço comum, como HOST para o servidor de back-end). Se for necessário, selecione Adicionar para adicionar o serviço à lista.
  4. Selecione OK.

Etapa 5. No IIS, verifique a configuração do pool de aplicativos

Use a ferramenta IIS (Serviços de Informações da Internet) (disponível no menu Ferramentas do Gerenciador de Servidores) para examinar as configurações do pool de aplicativos.

  1. No console do IIS, expanda o servidor IIS e selecione Pools de Aplicativos. No painel direito, clique com o botão direito do mouse em DefaultAppPool e selecione Configurações Avançadas.
  2. Selecione Modelo de Processo>Identidade. Verifique se a conta personalizada está selecionada e se a conta de serviço está selecionada. Selecione OK para retornar à lista de propriedades.
  3. Verifique se o Perfil do Usuário de Carga está definido como True. Selecione OK para fechar a lista de propriedades.
  4. Reinicie o serviço de IIS.
  5. Tente se autenticar novamente.