Partilhar via


Como um serviço compõe os próprios SPNs

Um serviço pode usar duas funções para compor seus SPNs: DsGetSpn é uma função de uso geral para compor SPNs e DsServerRegisterSpn é uma função especializada para compor e registrar SPNs simples para um serviço baseado em host.

Um instalador de serviço normalmente usa a função DsGetSpn para compor SPNs, que ele registra na conta de logon do serviço usando a função DsWriteAccountSpn. O DsGetSpn pode executar as seguintes funções.

  • Crie um SPN simples com o formato "classe> de serviço/<host"< para um serviço baseado em host>.
  • Crie um SPN complexo que inclua o componente "nome> do serviço" usado por serviços replicáveis ou o componente "porta>"<< que distingue várias instâncias de um serviço em um único host.
  • Crie um único SPN com o componente "host"< definido como o nome de um host> especificado ou o nome do computador local por padrão.
  • Crie uma matriz de SPNs para várias instâncias de serviço que serão executadas em vários hosts em toda a floresta. Cada SPN especifica o nome do host para uma instância de serviço.
  • Crie uma matriz de SPNs para várias instâncias de serviço que serão executadas no mesmo host. Cada SPN especifica o nome do host e um número de porta para uma instância de serviço.

A matriz de nomes retornados por DsGetSpn deve ser liberada chamando a função DsFreeSpnArray.

Lembre-se de que as funções DsGetSpn, DsWriteAccountSpn e DsServerRegisterSpn não verificam se os SPNs são exclusivos. Como a autenticação mútua falhará se um cliente apresentar um SPN que não seja exclusivo, verifique a exclusividade antes de registrar um SPN. Para fazer isso, pesquise no catálogo global (GC) por atributos servicePrincipalName que correspondam ao seu SPN. Para obter mais informações sobre como pesquisar o GC, consulte Pesquisando o catálogo global.