Compartilhar via


Delegação de identidades para Serviços do Excel (SharePoint Server 2010)

 

Aplica-se a: Excel Services, SharePoint Server 2010

Tópico modificado em: 2016-11-30

Neste cenário, você adiciona o aplicativo de serviço Serviços do Excel ao ambiente do SharePoint Server e configura a delegação restrita Kerberos para permitir que o serviço atualize dados em uma planilha a partir de uma fonte de dados externa do SQL Server.

Observação

Se a instalação estiver sendo feita no Windows Server 2008, talvez seja necessário instalar o seguinte hotfix para a autenticação Kerberos:
Uma autenticação Kerberos falha com o código de erro 0X80090302 ou 0x8009030f em um computador que está executando o Windows Server 2008 ou Windows Vista quando o algoritmo AES é usado (https://support.microsoft.com/kb/969083/pt-br)

Dependência do cenário

Para concluir este cenário, você precisa ter concluído os seguintes artigos:

Lista de verificação para configuração

Área de configuração Descrição

Configuração do Active Directory

Criar a conta de serviço dos Serviços do Excel

Configurar o SPN na conta de serviço dos Serviços do Excel

Configurar a delegação restrita Kerberos para servidores que executa(m) os Serviços do Excel

Configurar a delegação restrita Kerberos para a conta de serviço dos Serviços do Excel

Configuração do SharePoint Server

Iniciar o Serviço de Tokens de Declarações para Tokens do Windows em servidores dos Serviços do Excel

Iniciar a instância de serviço dos Serviços do Excel no servidor dos Serviços do Excel

Criar o aplicativo e o proxy de serviço dos Serviços do Excel

Configurar um local de arquivos confiáveis e definir configurações de autenticação dos Serviços do Excel

Verificar a delegação restrita dos Serviços do Excel

Criar uma biblioteca de documentos para hospedar a pasta de trabalho de teste

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

Criar uma pasta de trabalho do Excel de teste com uma conexão de dados SQL

Publicar uma pasta de trabalho no SharePoint Server e atualizar a conexão de dados

Detalhes do ambiente do cenário

Caminhos para a delegação restrita Kerberos

Diagrama de ambiente de cenário

Neste cenário, iremos configurar a conta de serviço dos Serviços do Excel do SharePoint Server para a delegação restrita Kerberos ao serviço do SQL Server.

Observação

Também iremos configurar o C2WTS (Serviço de Tokens de Declarações para Tokens do Windows) para usar uma conta de serviço dedicada. Se você deixar o C2WTS configurado para usar Sistema Local, será necessário configurar a delegação restrita na conta de computador referente ao computador que executa o C2WTS e os Serviços do Excel.

Autenticação lógica do SharePoint Server

Diagrama de fluxo de autenticação

O processo de autenticação neste cenário começa com a autenticação Kerberos do cliente no front-end da Web. O SharePoint Server 2010 converterá o token de autenticação do Windows em um token de declarações usando o STS (Serviço de Token de Segurança) local. O aplicativo de Serviços do Excel aceitará o token de declarações e o converterá em um token do Windows (Kerberos) usando o C2WTS (Serviço de Tokens de Declarações para Tokens do Windows), que faz parte do WIF (Windows Identity Framework). Em seguida, o aplicativo de Serviços do Excel usará o tíquete Kerberos do cliente para se autenticar na Fonte de Dados back-end.

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

Configuração do Active Directory

Criar a conta de serviço dos Serviços do Excel

Como prática recomendada, os Serviços do Excel devem ser executados com a sua própria identidade de domínio. Para configurar o Aplicativo de Serviços do Excel, é necessário criar contas do Active Directory. Neste exemplo, as seguintes contas foram criadas:

Serviço do SharePoint Server Identidade do Pool de Aplicativos do IIS

Serviços do Excel

vmlab\svcExcel

Configurar o SPN na conta de serviço dos Serviços do Excel

A delegação restrita Kerberos deverá ser configurada se os Serviços do Excel forem delegar a identidade do cliente a uma fonte de dados back-end. Neste exemplo, os serviços do Excel consultarão dados de um banco de dados SQL transacional e, portanto, a delegação Kerberos é necessária.

O snap-in do MMC Usuários e Computadores do Active Directory é geralmente utilizado para configurar a delegação Kerberos. Para definir as configurações de delegação nesse snap-in, o objeto do Active Directory que está sendo configurado deve ter um SPN (nome de entidade de serviço) aplicado; caso contrário, a guia Delegação não ficará visível na caixa de diálogo de propriedades desse objeto. Embora os Serviços do Excel não exijam um SPN para poderem funcionar, iremos configurar um para essa finalidade.

Na linha de comando, execute o seguinte comando:

SETSPN -S SP/ExcelServices

Observação

O SPN não é válido. Ele é aplicado à conta de serviço especificada para revelar as opções de delegação no suplemento de usuários e computadores do AD. Existem outras maneiras com suporte para especificar as configurações de delegação (especificamente o atributo do AD msDS-AllowedToDelegateTo), mas esse tópico não será discutido neste documento.

Configurar a delegação restrita Kerberos para Serviços do Excel

Para permitir que os serviços do Excel deleguem a identidade do cliente, a delegação Kerberos precisa estar configurada. É necessário configurar essa delegação restrita com transição de protocolo para a conversão do token de declarações em um token do Windows via C2WTS do WIF.

Cada servidor que executa os Serviços do Excel deve ser confiável para delegar credenciais a cada serviço back-end no qual o Excel irá se autenticar. Além disso, a conta de serviço dos Serviços do Excel também deve estar configurada para permitir delegação aos mesmos serviços back-end.

No nosso exemplo, os seguintes caminhos de delegação estão definidos:

Tipo de Entidade Nome da Entidade Delegada ao Serviço

Usuário

svcExcel

MSSQLSVC/MySqlCluster.vmlab.local:1433

*Usuário

svcC2WTS

MSSQLSVC/MySqlCluster.vmlab.local:1433

**Computador

VMSP10APP01

MSSQLSVC/MySqlCluster.vmlab.local:1433

* Configurado posteriormente neste cenário

** Apenas será necessário se o C2WTS estiver em execução como um sistema local

Para configurar a delegação restrita

  1. Abra as propriedades do Objeto do Active Directory em Usuários e Computadores do Active Directory.

  2. Navegue até a guia Delegação.

  3. Selecione Confiar neste usuário para delegação apenas aos serviços especificados.

  4. Selecione Usar qualquer protocolo de autenticação. Essa opção permite a transição de protocolos e é necessária para que a conta de serviço utilize o C2WTS.

  5. Clique no botão Adicionar para selecionar a entidade de serviço à qual é possível fazer a delegação.

  6. Selecione Usuários e Computadores.

  7. Selecione a conta de serviço que executa o serviço ao qual você deseja fazer a delegação. Neste exemplo, usamos a conta de serviço para o serviço SQL.

    Observação

    A conta de serviço selecionada deve ter um SPN aplicado. No nosso exemplo, o SPN da conta foi configurado em um cenário anterior.

  8. Clique em OK. Na tela seguinte, será solicitado que você selecione os SPNs aos quais deseja fazer a delegação.

  9. Selecione os serviços para o cluster SQL e clique em OK.

  10. Agora, você verá os SPNs selecionados na lista Serviços aos quais esta conta pode apresentar credenciais delegadas.

  11. Repita essas etapas para cada caminho de delegação definido no início desta seção.

Verificar o SPN MSSQLSVC para a Conta de Serviço que executa o serviço no SQL Server (etapa realizada no Cenário 2)

Verifique a existência do SPN para a conta de serviço do Analysis Services (vmlab\svcSQL) com o seguinte comando SetSPN:

SetSPN -L vmlab\svcSQL

Você verá o seguinte:

MSSQLSVC/MySqlCluster MSSQLSVC/MySqlCluster.vmlab.local:1433

Configuração do SharePoint Server

Configurar e iniciar o Serviço de Tokens de Declarações para Tokens do Windows em servidores dos Serviços do Excel

O C2WTS (Serviço de Tokens de Declarações para Tokens do Windows) é um componente do WIF (Windows Identity Foundation) responsável por converter tokens de declarações de usuários em tokens do Windows. Os Serviços do Excel usam o C2WTS para converter o token de declarações do usuário em um token do Windows quando os serviços precisam delegar credenciais a um sistema back-end que utiliza a autenticação do Windows integrada. O WIF é implantado com o SharePoint Server 2010, e o C2WTS pode ser iniciado na Administração Central.

Cada servidor de Aplicativo de Serviços do Excel deve executar o C2WTS localmente. O C2WTS não abre portas e não pode ser acessado por um chamador remoto. Além disso, o arquivo de configuração de serviço do C2WTS deve ser configurado para confiar especificamente na identidade do cliente de chamada local.

Como prática recomendada, você deve executar o C2WTS usando uma conta de serviço dedicada, e não como Sistema Local (a configuração padrão). A conta de serviço C2WTS requer permissões locais especiais em cada servidor no qual o serviço é executado. Por isso, lembre-se de configurar essas permissões sempre que o serviço for iniciado em um servidor. O ideal é configurar as permissões da conta de serviço no servidor local antes de iniciar o C2WTS. Porém, se essas permissões forem configuradas depois, você poderá reiniciar o C2WTS no console de gerenciamento de serviços do Windows (services.msc).

Para iniciar o C2WTS

  1. Crie uma conta de serviço no Active Directory na qual executar o serviço. Neste exemplo, criamos vmlab\svcC2WTS.

  2. Adicione um SPN (Nome de Entidade de Serviço) arbitrário à conta de serviço para expor as opções de delegação dessa conta em Usuários e Computadores do Active Directory. O SPN pode ter qualquer formato, pois a autenticação no C2WTS não é feita com o uso da autenticação Kerberos. Convém não usar um SPN HTTP, para evitar a possível criação de SPNs duplicados no seu ambiente. No nosso exemplo, registramos SP/C2WTS em vmlab\svcC2WTS usando o seguinte comando:

    SetSPN -S SP/C2WTS vmlab\svcC2WTS
    
  3. Configure a delegação restrita Kerberos na conta de serviço do C2WTS. Neste cenário, iremos delegar credenciais ao serviço SQL em execução com o nome de entidade de serviço MSSQLSVC/MySqlCluster.vmlab.local:1433.

  4. Em seguida, configure as permissões necessárias do servidor local que são exigidas pelo C2WTS. Será necessário configurar essas permissões em cada servidor no qual o C2WTS é executado. No nosso exemplo, o servidor é VMSP10APP01. Faça logon nesse servidor e conceda as seguintes permissões ao C2WTS:

    1. Adicione a conta de serviço aos Grupos de Administradores locais.

    2. Em Diretiva de Segurança Local (secpol.msc), sob Atribuição de Direitos de Usuário, conceda as seguintes permissões à conta de serviço:

      1. Atuar como parte do sistema operacional

      2. Representar um cliente após autenticação

      3. Fazer logon como um serviço

  5. Abra Administração Central.

  6. Em Segurança->Configurar Contas de Serviço Gerenciadas, registre a conta de serviço do C2WTS como uma conta gerenciada.

  7. Em Serviços, selecione Gerenciar serviços no servidor.

  8. Na caixa de seleção de servidor localizada no canto superior direito, selecione o(s) servidor(es) que executam Serviços do Excel. Neste exemplo, o servidor é VMSP10APP01.

  9. Localize o Serviço de Tokens de Declarações para Tokens do Windows e inicie-o.

  10. Vá até Segurança->Gerenciar Contas de Serviço. Mude a identidade do C2WTS para a nova conta gerenciada.

    Observação

    Se o C2WTS já estava sendo executado antes da configuração da conta de serviço dedicada, ou se você precisar alterar as permissões da conta de serviço após a execução do C2WTS, será necessário reiniciar o C2WTS a partir do console de serviços.

Além disso, em caso de problemas com o C2WTS após a reinicialização do serviço, talvez também seja necessário redefinir os pools de aplicativos do IIS que se comunicam com o C2WTS.

Adicionar dependências de Inicialização ao serviço C2WTS do WIF

Há um problema conhecido com o C2WTS no qual é possível que ele não seja inicializado com êxito automaticamente na ocasião da reinicialização do sistema. Uma solução alternativa para esse problema é configurar uma dependência de serviço para Serviços Criptográficos:

  1. Abra a janela de Prompt de Comando.

  2. Digite: sc config "c2wts" depend= CryptSvc

  3. Localize o Serviço de Tokens de Declarações para Tokens do Windows no console de serviços.

  4. Abra as propriedades do serviço.

  5. Consulte a guia Dependências. Verifique se a opção Serviços Criptográficos está listada.

  6. Clique em OK.

Conceder permissões à conta de serviço dos Serviços do Excel no banco de dados de conteúdo do aplicativo Web

Uma etapa necessária na configuração dos Office Web Applications para SharePoint Server 2010 é permitir que a conta de serviço do aplicativo Web tenha acesso aos bancos de dados de conteúdo de um determinado aplicativo Web. Neste exemplo, iremos conceder acesso ao banco de dados de conteúdo do aplicativo Web de "portal" para a conta de serviço dos Serviços do Excel usando o Windows PowerShell.

Execute o seguinte comando no Shell de Gerenciamento do SharePoint 2010:

$w = Get-SPWebApplication -Identity http://portal

$w.GrantAccessToProcessIdentity("vmlab\svcExcel")

Iniciar a instância de serviço dos Serviços do Excel no servidor dos Serviços do Excel

Antes de criar um aplicativo de serviço dos Serviços de Excel, inicie o serviço de servidor dos Serviços do Excel nos servidores de Farm designados.

  1. Abra Administração Central.

  2. Em Serviços, selecione Gerenciar serviços no servidor.

  3. Na caixa de seleção de servidor localizada no canto superior direito, selecione o(s) servidor(es) que executa(m) Serviços do Excel. Neste exemplo, o servidor é VMSP10APP01.

  4. Inicie o serviço dos Serviços de Cálculo do Excel.

Criar o aplicativo e o proxy de serviço dos Serviços do Excel

Em seguida, configure um novo aplicativo de serviço e um proxy de aplicativo dos Serviços do Excel para permitir que os aplicativos Web consumam Serviços do Excel:

  1. Abra Administração Central.

  2. Selecione Gerenciar Aplicativos de Serviço em Gerenciamento de Aplicativos.

  3. Selecione Novo e depois clique em Aplicativo de Serviços do Excel.

  4. Configure o novo aplicativo de serviço. Lembre-se de selecionar a conta de serviço correta (crie uma nova conta gerenciada se a conta de Serviços do Excel não estiver na lista).

Configurar um local de arquivos confiáveis e definir configurações de autenticação dos Serviços do Excel

Terminada a criação do aplicativo de Serviços do Excel, configure as propriedades no novo aplicativo de serviço para especificar um local de host confiável e configurações de autenticação.

  1. Abra Administração Central.

  2. Selecione Gerenciar Aplicativos de Serviço em Gerenciamento de Aplicativos.

  3. Clique no link do novo Aplicativo de Serviço, que é Serviços do Excel neste exemplo.

  4. Na tela de gerenciamento de serviços do Excel, clique em "Locais de Arquivos Confiáveis".

  5. Adicione um novo local de arquivos confiáveis.

  6. Especifique o local da sua biblioteca de teste.

    Observação

    No nosso exemplo, confiamos na URL do aplicativo Web raiz e em todos os seus elementos secundários. Em um ambiente de produção, você pode optar por restringir essa confiança a um local mais granular.

  7. Em Dados Externos, selecione Bibliotecas de conexões de dados confiáveis e inseridas.

    Observação

    Este exemplo usará uma conexão inserida para se conectar ao SQL Server. No seu ambiente, você pode optar por criar um arquivo de conexão separado e armazená-lo em uma biblioteca de conexões de dados confiável. Nesse caso, será possível selecionar a opção Bibliotecas de conexões de dados confiáveis somente.

  8. Altere o Tempo Decorrido do Cache de Dados Externos — Para fins de teste, é conveniente alterar o tempo de vida do cache de dados externos para garantir que as atualizações de dados sejam provenientes da fonte de dados, e não do cache. Em Dados Externos, altere as seguintes configurações:

    Atualização automática (periódica/ao abrir) = 0

    Atualização manual = 0

    Observação

    Em um ambiente de produção, convém definir uma configuração de cache maior que 0. Definir o cache como 0 é conveniente apenas para fins de teste.

Verificar a delegação restrita dos Serviços do Excel

Criar uma biblioteca de documentos para hospedar a pasta de trabalho de teste

Abra um site no caminho confiável que foi configurado na etapa anterior. Crie uma nova biblioteca de documentos para hospedar uma pasta de trabalho do Excel de teste.

Criar uma pasta de trabalho do Excel de teste com uma conexão de dados SQL

Em seguida, crie uma pasta de trabalho do Excel com uma conexão de dados com o novo banco de dados de teste:

  1. Abra o Excel.

  2. Na guia Dados, selecione De outras fontes->Do SQL Server.

  3. Estabeleça uma conexão com a fonte de dados SQL de teste.

  4. Selecione o banco de dados de teste e a tabela de teste (Sales neste exemplo).

  5. Clique em Avançar. Clique no botão Configurações de Autenticação. Verifique se a Autenticação do Windows está especificada.

  6. Clique em Concluir.

  7. Selecione um relatório de tabela dinâmica.

  8. Configure a tabela dinâmica e verifique se a fonte SQL retorna dados.

Publicar uma pasta de trabalho no SharePoint Server e atualizar a conexão de dados

A última etapa para validar o aplicativo de Serviços do Excel é publicar a pasta de trabalho e testar a atualização da conexão SQL inserida.

  1. Clique na guia Arquivo.

  2. Clique em Salvar e Enviar, em Salvar no SharePoint e depois em Procurar um local.

  3. Insira o local da biblioteca confiável criada nas etapas anteriores.

  4. Verifique se a opção Abrir no Excel no navegador está selecionada.

    Nesse ponto, será aberta uma nova janela de navegador exibindo a sua pasta de trabalho de teste. Terminada a renderização dessa pasta de trabalho, atualize a conexão de dados clicando em Dados e depois em Atualizar Todas as Conexões.

    Se a conexão de dados for atualizada, significa que você configurou com êxito a delegação Kerberos para serviços do Excel. Para ter uma conectividade de teste ainda maior, altere os dados de origem via SQL Management Studio e depois atualize a conexão. Você verá os dados recém-alterados na sua pasta de trabalho. Se não houver alterações visíveis, e você não tiver recebido erros ao atualizar, é provável que esteja vendo dados em cache. Por padrão, os Serviços do Excel farão o cache de dados provenientes de origens externas durante cinco minutos. É possível alterar essa configuração de cache; consulte Configurar um local de arquivos confiáveis e definir configurações de autenticação dos Serviços do Excel neste artigo para obter mais informações.