Delegação de identidades para Serviços do Visio (SharePoint Server 2010)
Aplica-se a: SharePoint Server 2010
Tópico modificado em: 2016-11-30
Neste cenário, adicione um aplicativo de Serviços do Visio ao ambiente do SharePoint Server e configure a delegação restrita de Kerberos para permitir que o serviço atualize dados de uma fonte de dados do SQL Server externa em um desenho da Web do Visio.
Observação
Se a instalação estiver sendo feita no Windows Server 2008, instale o seguinte hotfix para 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ências do cenário
Para concluir este cenário, você já deve ter concluído:
Cenário 1: Configuração principal
Cenário 2: Autenticação Kerberos para SQL OLTP
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 Visio Configurar o SPN na conta de serviço dos Serviços do Visio Configurar a delegação restrita de Kerberos para servidores que executam os Serviços do Visio Configurar a delegação restrita de Kerberos para a conta de serviço dos Serviços do Visio |
Configuração do SharePoint Server |
Iniciar o Serviço de Tokens de Declarações para Tokens do Windows em servidores dos Serviços do Visio Conceder permissões à conta de serviço dos Serviços do Visio no banco de dados de conteúdo do aplicativo Web Iniciar a instância de serviço dos Serviços do Visio no servidor dos Serviços do Visio Criar o aplicativo e o proxy de serviço dos Serviços do Visio |
Verificar a delegação restrita de Serviços do Visio |
Definir configurações de cache de Serviços do Visio Criar uma biblioteca de documentos para hospedar o Diagrama do Visio de teste Criar um desenho da Web de teste do Visio com formas conectadas por dados do SQL Server Publicar o desenho do Visio no SharePoint Server e atualizar a conexão de dados |
Detalhes do ambiente de cenário
Caminhos para a delegação restrita de Kerberos
Neste cenário, iremos configurar os servidores de aplicativos e as contas de serviço dos Serviços do Visio no SharePoint Server para a delegação restrita Kerberos ao serviço do SQL Server.
Autenticação lógica do SharePoint Server
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 Visio 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 Foundation). Em seguida, o aplicativo de Serviços do Visio 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 Visio
Como prática recomendada, os Serviços do Visio devem ser executados com a sua própria identidade de domínio. Para configurar o Aplicativo de Serviços do Visio, é necessário criar uma conta 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 Visio |
vmlab\svcVisio |
Criar a conta de serviço dos Serviços do Visio
Configurar o SPN na conta de serviço dos Serviços do Visio
A delegação restrita Kerberos deverá ser configurada se os Serviços do Visio forem delegar a identidade do Windows do cliente a uma fonte de dados back-end. Neste exemplo, os serviços do Visio consultarão dados de um banco de dados transacional SQL Server atuando como cliente 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 de 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 Visio 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/VisioServices svc\VisioServices
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 de Kerberos para Serviços do Visio
Para permitir que os Serviços do Visio deleguem a identidade do cliente, a delegação de 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 Visio deve ser confiável para delegar credenciais a cada serviço back-end no qual o Visio irá se autenticar. Além disso, a conta de serviço dos Serviços do Visio 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 de Segurança | Nome da Entidade de Segurança | Delegada ao Serviço |
---|---|---|
Usuário |
Vmlab\svcVisio |
MSSQLSVC/MySqlCluster.vmlab.local:1433 |
*Usuário |
Vmlab\svcC2WTS |
MSSQLSVC/MySqlCluster.vmlab.local:1433 |
**Computador |
Vmlab\vmsp10app01 |
MSSQLSVC/MySqlCluster.vmlab.local:1433 |
* Configurado posteriormente neste cenário
**Opcional. A delegação restrita na conta do computador só é necessária quando o C2WTS é executado como Sistema Local
Para configurar a delegação restrita
Abra as propriedades do Objeto do Active Directory em Usuários e Computadores do Active Directory.
Navegue até a guia Delegação.
Selecione Confiar neste usuário para delegação apenas aos serviços especificados.
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 do Visio utilize o C2WTS.
Clique no botão Adicionar para selecionar a entidade de serviço à qual é possível fazer a delegação.
Selecione Usuário e Computadores.
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 do SQL Server.
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.
Clique em OK. Será solicitado que você selecione os SPNs aos quais deseja fazer a delegação.
Selecione os serviços para o cluster do SQL Server e clique em OK.
Agora, você verá os SPNs selecionados na lista Serviços aos quais esta conta pode apresentar credenciais delegadas.
Repita essas etapas para cada caminho de delegação (Computador e Usuário) 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 de gráficos do Visio
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. O serviço de gráficos do Visio usa o C2WTS para converter o token de declarações do usuário em um token do Windows quando precisa delegar credenciais a um sistema back-end que utiliza a autenticação do Windows. O WIF é implantado com o SharePoint Server 2010, e o C2WTS pode ser iniciado na Administração Central.
Cada servidor de aplicativos do Serviço de Gráficos do Visio 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
Crie uma conta de serviço no Active Directory na qual executar o serviço. Neste exemplo, criamos vmlab\svcC2WTS.
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
Configure a delegação restrita de Kerberos na conta de serviço do C2WTS. Neste cenário, iremos delegar credenciais ao serviço do SQL Server em execução com o nome de entidade de serviço MSSQLSVC/MySqlCluster.vmlab.local:1433.
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:
Adicione a conta de serviço aos Grupos de Administradores locais.
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:
Atuar como parte do sistema operacional
Representar um cliente após autenticação
Fazer logon como um serviço
Abra Administração Central.
Em Segurança, na seção Contas Gerenciadas e Configuradas, registre a conta de serviço do C2WTS como gerenciada.
Em Serviços, selecione Gerenciar serviços no servidor.
Na caixa de seleção de servidor, no canto superior direito, selecione os servidores em execução no Serviço de Gráficos do Visio. Neste exemplo, o servidor é VMSP10APP01.
Localize Declarações para Serviço de Token do Windows e inicie esse serviço.
Acesse Gerenciar Contas de Serviço na seção Segurança e altere 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:
Abra uma janela de Prompt de Comando.
Digite: sc config "c2wts" depend= CryptSvc
Localize o Serviço de Tokens de Declarações para Tokens do Windows no console de serviços.
Abra as propriedades do serviço.
Consulte a guia Dependências. Verifique se a opção Serviços Criptográficos está listada.
Clique em OK.
Conceder permissões à conta de serviço dos Serviços do Visio no banco de dados de conteúdo do aplicativo Web
Uma etapa necessária na configuração de Office Web Applications no SharePoint Server 2010 é permitir que a conta de serviço do aplicativo Web acesse os bancos de dados de conteúdo de um determinado aplicativo Web. Neste exemplo, concederemos acesso para a conta do Serviço de Gráficos do Visio ao banco de dados de conteúdo do aplicativo Web portal usando o Windows PowerShell.
Execute o comando a seguir no Shell de Gerenciamento do SharePoint 2010:
$w = Get-SPWebApplication -Identity http://portal
$w.GrantAccessToProcessIdentity("vmlab\svcVisio")
Inicie a instância do Serviço de Gráficos do Visio no servidor do Visio
Antes de criar um aplicativo de Serviços do Visio, inicie o serviço de servidor dos Serviços do Visio nos servidores de farm designados.
Abra Administração Central.
Em Serviços, selecione Gerenciar serviços no servidor.
Na caixa de seleção de servidor localizada no canto superior direito, selecione os servidores que executam Serviços do Visio. Neste exemplo, o servidor é VMSP10APP01.
Inicie o Serviço de Gráficos do Visio.
Criar o aplicativo e o proxy de serviço do Serviço de Gráficos do Visio
Em seguida, configure um novo aplicativo de serviço e um novo proxy de aplicativo dos Serviços do Visio para permitir que os aplicativos Web consumam Serviços do Visio (caso ainda não exista nenhum):
Abra Administração Central.
Selecione Gerenciar Aplicativos de Serviço em Gerenciamento de Aplicativos.
Selecione Novo e escolha Serviço de Gráficos do Visio.
Configure o novo aplicativo de serviço. Selecione a conta de serviço correta (crie um nova conta gerenciada se a conta de serviço do Visio não estiver na lista).
Verificar a delegação restrita do Serviço de Gráficos do Visio
Definir configurações de cache de Serviços do Visio
Por padrão, o Serviço de Gráficos do Visio armazena em cache por alguns minutos os desenhos da Web que ele renderiza para clientes da Web, com base nas configurações de cache do serviço. Para testar a delegação, configuraremos o serviço de forma que ele não armazene os desenhos em cache, o que facilita a verificação da atualização dos dados em um desenho da Web do Visio.
Observação
Não é recomendável desabilitar a renderização de cache para ambientes de produção. Lembre-se de habilitar novamente o cache quando terminar de testar a delegação no Visio
Abra Administração Central.
Selecione Gerenciar Aplicativos de Serviço em Gerenciamento de Aplicativos.
Selecione o aplicativo de Serviço de Gráficos do Visio criado na etapa anterior.
Selecione Configurações Globais.
Na configuração Mínimo de Tempo Decorrido do Cache, defina o cache como 0 (sem cache).
Observação
A definição do mínimo de tempo decorrido do cache como 0 é somente para fins de teste e não deve ser usada em ambientes de produção.
Criar uma biblioteca de documentos para hospedar um Desenho da Web do Visio
Navegue até o aplicativo de portal (http://portal). Crie uma nova biblioteca de documentos para hospedar uma pasta de trabalho do Visio.
Criar um desenho da Web de teste do Visio com formas conectadas por dados do SQL Server
Inicie o Visio 2010.
Crie um novo Diagrama Básico na seção Geral em Página Inicial.
Na guia Dados da Faixa de Opções, selecione Vincular Dados a Formas.
Na caixa de diálogo de seletor de dados, selecione Banco de Dados do Microsoft SQL Server.
Especifique o cluster do SQL Server criado no Cenário 2 e selecione Autenticação do Windows.
Selecione o banco de dados Teste e a Tabela Sales.
Especifique um nome amigável para a conexão e salve-a na biblioteca de documentos criada na etapa anterior.
Na caixa de diálogo Seletor de Dados, selecione a conexão recém-criada e pressione Concluir.
Você verá agora a janela de dados externos na parte inferior da janela de desenho com os dados de exemplo criados anteriormente.
Arraste a primeira linha de dados até a superfície do desenho. Isso criará uma nova forma que será vinculada à linha de dados. Observe que o desenho de teste deve testar a delegação, e não demonstrar como criar um desenho da Web totalmente funcional e pronto para produção.
Publicar o desenho do Visio no SharePoint Server e atualizar a conexão de dados
Publique o desenho em uma biblioteca de documentos de teste do SharePoint. Na guia Arquivo, clique em Salvar e Enviar, Salvar no SharePoint, Procurar um Local e Desenho da Web.
Navegue até a biblioteca de documentos, especifique um nome para o desenho de teste e clique em Salvar.
O desenho é aberto no navegador.
Na notificação de atualização desabilitada, selecione Habilitar (sempre).
A conexão de dados será atualizada automaticamente, e nenhum erro ocorrerá.
Abra o SQL Server Management Studio e modifique a linha de dados exibida no desenho da Web.
Atualize a conexão de dados pressionando o botão Atualizar na parte superior da janela de desenho. Se a delegação estiver configurada corretamente, os dados serão exibidos já atualizados.