Registrar um SPN (Nome da Entidade de Serviço) para um servidor de relatório

Se você estiver implantando o Reporting Services em uma rede que use o protocolo Kerberos para autenticação mútua, é necessário criar um SPN (Nome da Entidade de Serviço) para o serviço do Servidor de Relatório. Crie o nome se configurá-lo para ser executado como uma conta de usuário de domínio.

Sobre SPNs

Um SPN é um identificador exclusivo para um serviço em uma rede que usa autenticação Kerberos. Ele consiste em uma classe de serviço, um nome do host e, algumas vezes, uma porta. Os SPNs HTTP não exigem uma porta. Em uma rede que usa autenticação Kerberos, deve ser registrado um SPN para o servidor em uma conta interna do computador (como NetworkService ou LocalSystem) ou uma conta de usuário. Os SPNs são automaticamente registrados para contas internas. Entretanto, quando executar um serviço em uma conta de usuário do domínio, você deverá registrar manualmente o SPN para a conta que deseja usar.

Para criar um SPN, você pode usar o utilitário de linha de comando SetSPN . Para saber mais, veja:

Sintaxe

Ao manipular SPNs com o SetSPN, o SPN deve ser inserido no formato correto. O formato de um SPN HTTP é http/host. A sintaxe de comando para usar o utilitário SetSPN e criar um SPN para o servidor de relatório é semelhante ao exemplo a seguir:

Setspn -s http/<computer-name>.<domain-name> <domain-user-account>  

SetSPN está disponível no Windows Server. O argumento de -s adiciona um SPN depois de não validar nenhuma duplicata.

Observação

-s está disponível no Windows Server desde o Windows Server 2008.

HTTP é a classe de serviço. O serviço Web Servidor de Relatórios é executado em HTTP.SYS. Um subproduto da criação de um SPN para HTTP significa que todos os aplicativos Web no mesmo computador que são executados em HTTP.SYS (incluindo aplicativos hospedados no IIS) receberão tíquetes com base na conta de usuário do domínio. Se esses serviços forem executados em uma conta diferente, as solicitações de autenticação falham. Para evitar esse problema, configure todos os aplicativos HTTP para que sejam executados na mesma conta ou considere a criação de cabeçalhos de host para cada aplicativo e, depois, a criação de SPNs separados para cada cabeçalho de host. Quando você configura cabeçalhos de host, é necessário fazer alterações de DNS, independentemente da configuração do Reporting Services .

Os valores especificados para <computername> e <domainname> identificam o endereço de rede exclusivo do computador que hospeda o servidor de relatório. Esse valor pode ser um nome do host local ou um FQDN (nome de domínio totalmente qualificado). Se tiver somente um domínio, você poderá omitir <domainname> da linha de comando. <domain-user-account> é a conta de usuário sob a qual o serviço Servidor de Relatório executa e na qual o SPN deve ser registrado.

Registrar um SPN para um serviço do servidor de relatório que esteja em execução como um usuário do domínio

  1. Instale o Reporting Services e configure o serviço Servidor de Relatório para ser executado como uma conta de usuário do domínio. Os usuários não poderão se conectar ao servidor de relatório até que você conclua as etapas a seguir.

  2. Entre no controlador de domínio como o administrador de domínio.

  3. Abra um prompt de comando.

  4. Copie o seguinte comando, substituindo os valores de espaço reservado por valores reais que sejam válidos para sua rede:

    Setspn -s http/<computer-name>.<domain-name> <domain-user-account>  
    

    Por exemplo: Setspn -s http/MyReportServer.MyDomain.com MyDomainUser

  5. Execute o comando.

  6. Abra o arquivo RsReportServer.config e localize a seção <AuthenticationTypes>.

  7. Adicione <RSWindowsNegotiate> como a primeira entrada desta seção para habilitar o Kerberos.

Configurar uma conta de serviço (Configuration Manager do Servidor de Relatório)
Configurar a conta de serviço do servidor de relatório (Configuration Manager do Servidor de Relatório)
Gerenciar um servidor de relatório de modo nativo do Reporting Services