Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Os erros de KDC_ERR_S_PRINCIPAL_UNKNOWN e KDC_ERR_PRINCIPAL_NOT_UNIQUE indicam que o cliente está solicitando acesso a um serviço que Kerberos não pode identificar. Esse tipo de erro indica um ou mais dos seguintes problemas:
- A conta de serviço não está configurada corretamente.
- O serviço não está usando a conta de serviço configurada para ele.
- Mais de uma conta está configurada para o serviço.
- O cliente não solicitou corretamente o serviço.
Cada serviço tem um SPN (nome da entidade de serviço) que o identifica para clientes e outros serviços. O SPN é um atributo da conta do AD DS (Active Directory Domain Services) que o serviço usa. Um serviço pode ser executado no contexto de uma conta de serviço personalizada ou no contexto de uma conta interna, como a conta de computador do computador local. O serviço também pode ser executado em um contexto de segurança relacionado à conta de computador, como Sistema Local ou Serviço de Rede.
A maneira como você configura SPNs difere dependendo do tipo de conta que seu serviço usa:
- Uma conta de serviço personalizada deve ter um SPN explícito para cada serviço que usa a conta.
- A conta do computador pode ter SPNs explícitos configurados para os serviços que a usam. No entanto, as classes de serviço comuns são mapeadas automaticamente para o SPN do HOST. O SPN do HOST é gerado automaticamente para cada conta de computador. Nesses casos, alguns serviços podem não ter seu próprio SPN configurado na conta do computador.
Importante
- A menos que um serviço utilize a conta de computador e o SPN HOST, os SPNs devem ser únicos na floresta do AD DS. Em um ambiente de várias florestas, o SPN deve ser exclusivo em todas as florestas associadas.
- Um SPN pode ser associado a apenas uma conta. Uma causa comum de problemas de SPN é configurar um serviço para usar uma conta personalizada, mesmo que o SPN esteja associado à conta personalizada e à conta do computador.
Coletar dados de rastreamento e identificar o problema SPN
Se você ainda não coletou dados de rastreamento para o problema, faça isso agora. Para obter mais informações, consulte as diretrizes de solução de problemas de autenticação Kerberos: 3. Coletar dados de rastreamento e tíquetes. Verifique os dados de rastreamento para localizar o SPN solicitado pelo cliente.
Verifique o SPN que a conta de serviço usa
Esses procedimentos diferem ligeiramente dependendo se o serviço usa uma conta personalizada ou a conta de computador. A tabela a seguir resume a diferença.
O serviço usa uma conta personalizada | O serviço usa a conta de computador |
---|---|
O SPN solicitado precisa corresponder ao SPN da conta. O SPN deve ser exclusivo na floresta. |
O SPN solicitado pode corresponder a um dos SPNs da conta. No entanto, serviços comuns (como o serviço Web) normalmente usam o SPN host automático em vez de um SPN exclusivo. Se a conta tiver um SPN específico para o serviço, esse SPN deverá ser exclusivo na floresta. |
Obtenha uma lista de SPNs atribuídos à conta de serviço. Para fazer isso, abra uma janela do Prompt de Comando administrativo em um controlador de domínio e execute o seguinte comando:
setspn -L <Name>
Observação
- Neste comando, <Name> representa o nome do computador que executa o serviço ou uma conta personalizada que o serviço usa.
- Em um ambiente de vários domínios, use o <formato Domain\Name> para especificar o domínio da conta.
Pesquise por quaisquer contas que usam o SPN solicitado. Esta pesquisa identifica SPNs duplicados ou que estão atribuídos à conta incorreta.
Observação
Para executar esse procedimento, você precisa ter pelo menos permissões de Administrador Corporativo.
Para determinar a conta ou as contas associadas ao SPN, abra uma janela do Prompt de Comando administrativo e execute um dos comandos a seguir.
Floresta única Várias florestas confiáveis setspn -Q <SPN>
setspn -X <SPN>
Observação
- Neste comando, <o SPN> representa o SPN que você está procurando.
- Pesquisar duplicatas, especialmente em toda a floresta, pode levar muito tempo e muita memória.
Para obter mais informações sobre o setspn
comando e as opções disponíveis, consulte setspn.
Reconfigurar o SPN conforme necessário
As próximas etapas dependem do resultado dos dados de rastreamento, das setspn
consultas e do tipo de conta que seu serviço usa.
Você pode ver qualquer um dos problemas a seguir.
Conta personalizada | Conta de Computador |
---|---|
Uma ou mais contas diferentes da conta de serviço têm o SPN. | Uma ou mais contas diferentes da conta de computador tem o SPN. |
A conta personalizada não tem o SPN. | A conta do computador deve ter o SPN, mas não tem. 1 |
A conta personalizada tem um SPN incorreto ou um SPN que não corresponde ao SPN solicitado pelo cliente.2 | A conta do computador tem um SPN incorreto ou um SPN que não corresponde ao SPN solicitado pelo cliente. 2 |
1 Para obter uma lista dos serviços que podem usar o SPN host da conta do computador, consulte setspn. Se o serviço não for um desses serviços comuns, você precisará configurar um SPN para o serviço na conta de computador.
2 Para obter as informações de solicitação do cliente, consulte os dados de rastreamento de rede.
Use os seguintes métodos para corrigir a configuração do SPN:
Se a conta de serviço estiver configurada corretamente, mas o cliente solicitou um SPN incorreto, consulte Corrigir um SPN inconsistente.
Se a conta de serviço correta tiver o SPN, mas o SPN não estiver correto, remova o SPN incorreto e adicione o SPN correto. Para obter detalhes, consulte Remover um SPN de uma conta e adicionar um SPN a uma conta de serviço.
Se o SPN for atribuído a qualquer conta que não seja a conta de serviço correta (conta personalizada ou conta de computador), remova o SPN dessas contas. Consulte a seção Remover um SPN de uma conta.
Se o serviço usar uma conta personalizada, mas a conta personalizada não tiver um SPN atribuído, adicione o SPN. Para obter detalhes, consulte Adicionar um SPN a uma conta de serviço.
Se o serviço usar a conta de computador, mas não for um dos serviços comuns descritos neste artigo, adicione o SPN à conta do computador.
Remover um SPN de uma conta
Para remover o SPN de uma conta, execute o seguinte comando em um prompt de comando administrativo:
setspn -D <SPN> <AccountName>
Observação
Neste comando, <o SPN> representa o SPN que você deseja remover. <AccountName> representa a conta (ou uma das contas) da qual você deseja remover o SPN.
Adicionar um SPN a uma conta de serviço
Para adicionar o SPN a uma conta, execute o seguinte comando em um prompt de comando administrativo:
setspn -S \<SPN> \<AccountName>
Observação
Neste comando, <o SPN> representa o SPN que você deseja adicionar. <AccountName> representa a conta (ou uma das contas) à qual você deseja adicionar o SPN.
Corrigir um SPN inconsistente
Determine qual versão do SPN está correta: a que o cliente solicitou ou a que está configurada na conta de serviço.
Se o cliente estiver solicitando um SPN incorreto, verifique as informações que seu cliente usa para criar um SPN para uma solicitação e verifique se as informações de origem estão corretas. O DNS é uma fonte comum dessas informações. Outros clientes (especialmente clientes não navegadores ou personalizados) podem usar outras fontes além do DNS.
Se a conta de serviço usar o SPN incorreto, remova o SPN da conta de serviço e adicione o SPN correto.
Mais informações
Um SPN usa o <formato ServiceClass>/<Host>:<Port>/,<ServiceName> e inclui os seguintes componentes:
- <ServiceClass> (obrigatório) representa a classe de serviço do serviço.
- <O host> (obrigatório) representa o nome do computador que executa o serviço.
- <A porta> (opcional) representa o número da porta que o serviço usa.
- <ServiceName> (opcional) representa o nome do serviço.
Para obter mais informações sobre como formatar SPNs e quando usar parâmetros opcionais, consulte Formatos de nome para SPNs exclusivos.