Share via


Autenticação Kerberos para SQL OLTP (SharePoint Server 2010)

 

Aplica-se a: SharePoint Server 2010

Tópico modificado em: 2016-11-30

Neste cenário, analisaremos o processo de configuração da autenticação Kerberos para o cluster do SQL Server em nosso ambiente de exemplo. Após a conclusão desse processo, confirmaremos a autenticação dos serviços do SharePoint Server no cluster utilizando o protocolo Kerberos.

Neste cenário, você vai fazer o seguinte:

  • Configurar um cluster existente do SQL Server 2008 R2 para usar a autenticação Kerberos

  • Verificar se o cliente pode autenticar-se no cluster utilizando a autenticação Kerberos

  • Criar um banco de dados de teste e dados de exemplo para uso nos cenários a seguir

Observação

Não é necessário usar a autenticação Kerberos no SQL Server para os serviços de dados básicos do SharePoint Server (por exemplo, conexões com bancos de dados de plataforma). O ambiente de exemplo tem um único cluster do SQL Server que hospeda os bancos de dados adicionais utilizados nos cenários a seguir. Para que a delegação funcione corretamente nestes cenários, o cluster do SQL Server deve aceitar a conexão autenticada por Kerberos.

Lista de verificação de configuração

Área de configuração Descrição

Configurar o DNS

Criar registros do host DNS (A) para o IP do cluster do SQL Server

Configurar o Active Directory

Criar SPNs (nomes de entidade de serviço) para o serviço do SQL Server

Verificar a configuração Kerberos do SQL Server

Usar o SQL Server Management Studio para consultar os metadados da conexão SQL para assegurar que o protocolo de autenticação Kerberos seja usado

Detalhes do ambiente do cenário

Diagrama da infraestrutura de cenário

Este cenário demonstra um farm do SharePoint Server configurado para usar um alias SQL em uma conexão com o cluster do SQL Server que está configurado para utilizar a autenticação Kerberos.

Instruções de configuração passo a passo

Configurar o DNS

Configure o DNS para o cluster do SQL Server em seu ambiente. Neste exemplo, temos um cluster do SQL Server, MySqlCluster.vmlab.local, em execução na porta 1433 com IP de cluster 192.168.8.135/4. O cluster é Ativo/Passivo, com o mecanismo do banco de dados SQL Server em execução na instância padrão do primeiro nó.

Para obter informações gerais sobre como configurar o DNS, consulte o artigo sobre como gerenciar registros DNS.

Neste exemplo, configuramos um registro DNS (A) para o cluster do SQL Server.

Observação

Tecnicamente, como os SPNs do SQL Server incluem um nome de instância (se você estiver usando a segunda instância nomeada no mesmo computador), é possível registrar o host DNS no cluster como o alias CNAME e evitar o problema com o CNAME descrito no Apêndice A, Problemas conhecidos com a configuração Kerberos (SharePoint Server 2010). No entanto, se você usar CNAMEs, terá que registrar um SPN utilizando o nome de host do registro DNS (A) que o CNAME assume como alias.

Configurar o Active Directory

Para o SQL Server autenticar os clientes pela autenticação Kerberos, você precisa registrar um nome da entidade de serviço (SPN) na conta de serviço que executa o SQL Server. Os nomes da entidade de serviço do mecanismo de banco de dados SQL Server usam o seguinte formato nas configurações que utilizam a instância padrão, e não uma instância nomeada do SQL Server:

MSSQLSvc/<FQDN>:porta

Para obter mais informações sobre como registrar SPNs no SQL Server 2008, consulte Registrando um nome da entidade de serviço.

Em nosso exemplo, configuramos o SPN do SQL Server na conta de serviço do mecanismo de banco de dados SQL Server (vmlab\svcSQL) com o seguinte comando SetSPN:

SetSPN -S MSSQLSVC/MySQLCluster.vmlab.local:1433 vmlab\svcSQL

Instâncias nomeadas do SQL Server

Se você utiliza instâncias nomeadas do SQL Server em vez da instância padrão, precisa registrar SPNs específicos à instância do SQL Server e para o serviço Navegador do SQL Server. Consulte os artigos a seguir para obter mais informações sobre como configurar a autenticação Kerberos para instâncias nomeadas:

Alias SQL

Como prática recomendada, ao criar seu farm, considere usar alias SQL para as conexões com o computador SQL Server. Se você usar alias SQL, o formato do SPN Kerberos para essas conexões não será alterado. Continue usando o nome do host DNS registrado (registro A) no SPN do SQL Server. Por exemplo, se você registrar um alias "SPFARMSQL" para "MySQLCluster.vmlab.local", o SPN continuará sendo "MSSQLSVC/MySQLCluster.vmlab.local:1433" quando você se conectar ao SPFarmSQL.

Verificar a configuração Kerberos do SQL Server

Quando o DNS e os nomes de entidade de serviço são configurados, é possível reinicializar os computadores que executam o SharePoint Server e verificar se os serviços do SharePoint Server são autenticados no SQL Server pela autenticação Kerberos.

Para verificar a configuração do cluster

  1. Reinicialize os computadores que executam o SharePoint Server — Essa ação reinicia todos os serviços e força sua reconexão por meio da autenticação Kerberos.

  2. Abra o SQL Server Management Studio e execute a seguinte consulta:

    Select 
       s.session_id,
       s.login_name,
       s.host_name,
       c.auth_scheme
    from
    sys.dm_exec_connections c
    inner join
    sys.dm_exec_sessions s
    on c.session_id = s.session_id
    

    A consulta retorna os metadados de cada sessão e conexão. Os dados da sessão identificam a fonte de conexão, e as informações sobre a sessão revelam o esquema de autenticação da conexão.

  3. Verifique se os serviços do SharePoint Server são autenticados pela autenticação Kerberos. Se a autenticação Kerberos foi configurada corretamente, você verá Kerberos na coluna auth_scheme dos resultados da consulta.

Criar um banco de dados SQL Server de teste e uma tabela de teste

Para testar a delegação nos diversos aplicativos de serviço do SharePoint Server incluídos nos cenários deste documento, você precisa configurar uma fonte de dados de teste para esses serviços acessarem. Na etapa final deste cenário, você configura um banco de dados de teste chamado "Teste" e uma tabela de teste chamada "Vendas", que serão usados mais adiante.

  1. No SQL Server Management Studio, crie um novo banco de dados chamado "Teste". Mantenha as configurações padrão ao criar esse banco de dados.

  2. No banco de dados Teste, crie uma nova tabela com o seguinte esquema:

    Nome da Coluna Tipo de Dados Permitir Nulos

    Região

    nvarchar(10)

    Não

    Ano

    nvarchar(4)

    Não

    Valor

    money

    Não

    RowId

    int

    Não

  3. Salve a tabela com o nome "Vendas".

  4. No Management Studio, preencha a tabela com os dados de teste. Os dados em si não importam e nem afetam a função dos cenários seguintes. Algumas linhas de dados são suficientes.