Formatos de nome para SPNs exclusivos
Um SPN deve ser exclusivo na floresta na qual está registrado. Se não for exclusivo, a autenticação falhará. A sintaxe SPN tem quatro elementos: dois elementos necessários e dois elementos adicionais que você pode usar, se necessário, para produzir um nome exclusivo, conforme listado na tabela a seguir.
<service class>/<host>:<port>/<service name>
Elemento | Descrição |
---|---|
"<classe de serviço>" | Uma cadeia de caracteres que identifica a classe geral de serviço; por exemplo, "SqlServer". Há nomes de classe de serviço conhecidos, como "www" para um serviço Web ou "ldap" para um serviço de diretório. Em geral, essa pode ser qualquer cadeia de caracteres exclusiva para a classe de serviço. Lembre-se de que a sintaxe SPN usa uma barra (/) para separar elementos, portanto, esse caractere não pode aparecer em um nome de classe de serviço. |
"<host>" | O nome do computador no qual o serviço está em execução. Pode ser um nome DNS totalmente qualificado ou um nome NetBIOS. Lembre-se de que os nomes NetBIOS não têm a garantia de serem exclusivos em uma floresta, portanto, um SPN que contém um nome NetBIOS pode não ser exclusivo. |
"<porta>" | Um número de porta opcional para diferenciar entre várias instâncias da mesma classe de serviço em um único computador host. Omita esse componente se o serviço usar a porta padrão para sua classe de serviço. |
"<nome do serviço>" | Um nome opcional usado nos SPNs de um serviço replicável para identificar os dados ou serviços fornecidos pelo serviço ou pelo domínio atendido pelo serviço. Esse componente pode ter um dos seguintes formatos:
|
Os componentes presentes nos SPNs de um serviço dependem de como o serviço é identificado e replicado. Há dois cenários básicos: serviços baseados em host e serviços replicáveis.
Serviços baseados em host
Para um serviço baseado em host, o componente "<nome do serviço>" é omitido porque o serviço é identificado exclusivamente pela classe de serviço e pelo nome do computador host no qual o serviço está instalado.
<service class>/<host>
A classe de serviço por si só é suficiente para identificar para os clientes os recursos que o serviço fornece. Você pode instalar instâncias da classe de serviço em muitos computadores e cada instância fornece serviços identificados com seu computador host. FTP e Telnet são exemplos de serviços baseados em host. Os SPNs de uma instância de serviço baseada em host podem incluir o número da porta se o serviço usar uma porta não padrão ou se houver várias instâncias do serviço no host.
<service class>/<host>:<port>
Serviços replicáveis
Para um serviço replicável, pode haver uma ou muitas instâncias do serviço (réplicas) e os clientes não diferenciam a réplica à qual se conectam, pois cada uma fornece o mesmo serviço. Os SPNs para cada réplica têm os mesmos componentes "<classe de serviço>" e "<nome do serviço>", em que "<nome do serviço>" identifica mais especificamente os recursos fornecidos pelo serviço. Somente os componentes "<host>" e opcional "<porta>" variariam de SPN para SPN.
<service class>/<host>:<port>/<service name>
Um exemplo de um serviço replicável seria uma instância de um serviço de banco de dados que fornece acesso a um banco de dados especificado. Nesse caso, "<classe de serviço>" identifica o aplicativo de banco de dados e "<nome do serviço>" identifica o banco de dados específico. "<nome do serviço>" pode ser o nome diferenciado de um SCP (ponto de conexão de serviço) que contém dados de conexão para o banco de dados.
MyDBService/host1.example.com/CN=hrdb,OU=mktg,DC=example,DC=com
MyDBService/host2.example.com/CN=hrdb,OU=mktg,DC=example,DC=com
MyDBService/host3.example.com/CN=hrdb,OU=mktg,DC=example,DC=com
Se os clientes usarem o nome NetBIOS para compor o SPN de um serviço, cada réplica também deverá registrar um SPN contendo o nome NetBIOS.
MyDBService/host1/CN=hrdb,OU=mktg,DC=example,DC=com
MyDBService/host2/CN=hrdb,OU=mktg,DC=example,DC=com
MyDBService/host3/CN=hrdb,OU=mktg,DC=example,DC=com
Outro exemplo de um serviço replicável é aquele que fornece serviços para um domínio inteiro. Nesse caso, o componente "<nome do serviço>" é o nome DNS do domínio que está sendo servido. Um KDC Kerberos é um exemplo desse tipo de serviço replicável.
Lembre-se de que, se o nome DNS de um computador for alterado, o sistema atualizará o elemento "<host>" para todos os SPNs registrados para esse host na floresta.