Compartilhar via


Visão geral sobre a segurança dos Serviços Corporativos de Conectividade (SharePoint Foundation 2010)

 

Aplica-se a: SharePoint Foundation 2010

Tópico modificado em: 2016-11-30

Este artigo descreve a arquitetura de segurança do servidor e cliente dos Microsoft Serviços Corporativos de Conectividade, os ambientes de segurança com suporte, os modos de autenticação disponíveis para conectar tipos de conteúdo externo a sistemas externos, as opções de autorização disponíveis em objetos armazenados e as técnicas gerais de configuração da segurança dos Microsoft Serviços Corporativos de Conectividade.

Neste artigo:

  • Sobre este artigo

  • Arquitetura de segurança dos Serviços Corporativos de Conectividade

  • Visão geral da autenticação dos Serviços Corporativos de Conectividade

  • Visão geral das permissões do Serviço Corporativo de Conectividade

  • Protegendo os Serviços Corporativos de Conectividade

Sobre este artigo

Os Microsoft Serviços Corporativos de Conectividade incluem recursos de segurança para a autenticação de usuários para acesso a sistemas externos e para a configuração de permissões em dados de sistemas externos. Os Microsoft Serviços Corporativos de Conectividade são altamente flexíveis e podem acomodar uma variedade de métodos de segurança a partir dos aplicativos do O Microsoft Office 2010 com suporte e do navegador da Web.

Arquitetura de segurança dos Serviços Corporativos de Conectividade

Esta seção descreve a arquitetura de segurança dos Microsoft Serviços Corporativos de Conectividade.

Observação de segurançaSecurity Note
É recomendável usar SSL (Secure Sockets Layer) em todos os canais entre computadores cliente e servidores front-end. Além disso, recomendamos o uso do SSL ou do protocolo IPSec entre servidores que estejam executando o Microsoft SharePoint Foundation 2010 e sistemas externos. A exceção é que você não pode usar SSL na transmissão de mensagens para sistemas externos usando o protocolo SOAP 1.1 ou na conexão com um banco de dados de servidor SQL. Porém, nesses casos, é possível usar IPSec para proteger a troca de dados.

Acessando dados externos

Quando um usuário acessa dados externos a partir de um navegador da Web, três sistemas estão envolvidos: o computador cliente conectado, o farm de servidores Web e o sistema externo.

Arquitetura de segurança do BCS a partir de um navegador da Web

  1. A partir de navegadores da Web, os usuários normalmente interagem com dados externos em listas externas ou usando Web Parts.

  2. O Tempo de Execução do Servidor BDC em servidores front-end usa dados dos Serviço de Conectividade de Dados Corporativos para conectar-se a sistemas externos e executar operações neles.

  3. O Serviço de Repositório Seguro armazena conjuntos de credenciais para sistemas externos e os associa a identidades individuais ou de grupo.

    Importante

    O Serviço de Repositório Seguro não está incluído no SharePoint Foundation 2010. Se você precisar de um repositório seguro no SharePoint Foundation 2010, contrate um provedor de repositório seguro personalizado.

  4. O Serviço de Token de Segurança é um serviço Web que responde a solicitações de autenticação emitindo tokens de segurança feitos de declarações de identidade baseadas em informações de conta de usuário.

  5. Os Microsoft Serviços Corporativos de Conectividade podem transmitir as credenciais ao banco de dados e aos serviços Web configurados para usar a autenticação baseada em declarações. Para ter uma visão geral da autenticação baseada em declarações, consulte Planejar métodos de autenticação (SharePoint Foundation 2010).

Visão geral da autenticação dos Serviços Corporativos de Conectividade

Os Microsoft Serviços Corporativos de Conectividade podem ser configurados para passar solicitações de autenticação para sistemas externos usando os seguintes tipos de métodos:

  • Credenciais Normalmente, apresentam-se no formato nome/senha. Alguns sistemas externos também podem exigir credenciais adicionais, como um valor de PIN (número de identificação pessoal).

  • Declarações Tíquetes SAML (Security Assertion Markup Language) podem ser passados para serviços com reconhecimento de declaração que fornecem dados externos.

Configurando Serviços Corporativos de Conectividade para autenticação de credenciais

Os Microsoft Serviços Corporativos de Conectividade podem usar credenciais fornecidas por um usuário para autenticar solicitações de dados externos. Os métodos a seguir pelos quais os usuários podem fornecer credenciais para acesso a dados externos têm suporte:

  • Autenticação do Windows:

    • Desafio/Resposta do Windows (NTLM)

    • Microsoft Negotiate

  • Autenticação diferente da do Windows

    • Baseada em formulários

    • Digest

    • Básica

Ao configurar os Microsoft Serviços Corporativos de Conectividade para passar as credenciais, o designer de soluções adiciona informações sobre o modo de autenticação a tipos de conteúdo externos. O modo de autenticação oferece aos Microsoft Serviços Corporativos de Conectividade informações sobre como processar uma solicitação de autenticação de entrada de um usuário e mapear essa solicitação para um conjunto de credenciais que possam ser passadas a um sistema de conteúdo externo. Por exemplo, um modo de autenticação pode especificar que as credenciais do usuário sejam passadas diretamente ao sistema de dados externo. Se preferir, é possível especificar que as credenciais do usuário sejam mapeadas para uma conta armazenada em um Serviço de Repositório Seguro que, em seguida, será passada ao sistema externo.

Você associa um modo de autenticação a um tipo de conteúdo externo das seguintes maneiras:

  • Ao criar um tipo de conteúdo externo no Microsoft SharePoint Designer.

  • Se o sistema externo for um serviço Web, você poderá usar as páginas de administração dos Microsoft Serviços Corporativos de Conectividade para especificar o modo de autenticação.

  • Você pode especificar o modo de autenticação editando de forma direta o arquivo XML que define o tipo de conteúdo externo.

A tabela a seguir descreve os modos de autenticação dos Microsoft Serviços Corporativos de Conectividade:

Modo de autenticação Descrição

PassThrough

Passa as credenciais do usuário conectado ao sistema externo. Isso requer que as credenciais do usuário sejam conhecidas pelo sistema externo.

Observação

Se o aplicativo Web não foi configurado para autenticar com as credenciais do Windows, a conta de Autoridade NT/Logon Anônimo será passada para o sistema externo, e não as credenciais do usuário.

Esse modo é chamado de Identidade do Usuário nas páginas de administração dos Microsoft Serviços Corporativos de Conectividade e no SharePoint Designer 2010.

RevertToSelf

Quando o usuário está acessando dados externos de um navegador da Web, esse modo ignora as credenciais do usuário e envia para o sistema externo a conta de identidade do pool de aplicativos sob a qual o tempo de execução BCS está sendo executado no servidor Web. Quando o usuário está acessando dados externos de um aplicativo cliente do Office, esse modo equivale ao modo Passagem, porque os Microsoft Serviços Corporativos de Conectividade executados no cliente estarão em execução sob as credenciais do usuário.

Esse modo é chamado de Identidade do BDC nas páginas de administração dos Microsoft Serviços Corporativos de Conectividade e no SharePoint Designer 2010.

Observação

Por padrão, o modo RevertToSelf não está habilitado. Você deve usar o Windows PowerShell para habilitar o modo RevertToSelf para criar ou importar modelos que usam o RevertToSelf. Para obter mais informações, consulte o modo de autenticação RevertToSelf. O modo RevertToSelf não tem suporte em ambientes hospedados.

WindowsCredentials

Para serviços Web ou bancos de dados externos, esse modo usa um Serviço de Repositório Seguro para mapear as credenciais do usuário para um conjunto de credenciais do Windows no sistema externo.

Esse modo é chamado de Representar Identidade do Windows nas páginas de administração dos Microsoft Serviços Corporativos de Conectividade e no SharePoint Designer 2010.

Credentials

Para um serviço Web externo, esse modo usa um Serviço de Repositório Seguro para mapear as credenciais do usuário para um conjunto de credenciais fornecidas por uma fonte diferente do Windows e usadas para acessar dados externos. O serviço Web deve usar a autenticação básica ou Digest quando esse modo for usado.

Importante

Para ajudar a preservar a segurança nesse modo, recomendamos que a conexão entre os Microsoft Serviços Corporativos de Conectividade e o sistema externo seja protegida por SSL (Secure Sockets Layer) ou IPSec (Internet Protocol Security).

Esse modo é chamado de Representar Identidade Personalizada nas páginas de administração dos Microsoft Serviços Corporativos de Conectividade e no Office SharePoint Designer.

RDBCredentials

Para um banco de dados externo, esse modo usa um Serviço de Repositório Seguro para mapear as credenciais do usuário para um conjunto de credenciais fornecidas por uma fonte diferente do Windows. Para ajudar a preservar a segurança nesse modo, recomendamos que a conexão entre os Microsoft Serviços Corporativos de Conectividade e o sistema externo seja protegida por SSL ou IPSec.

Esse modo é chamado de Representar Identidade Personalizada nas páginas de administração dos Microsoft Serviços Corporativos de Conectividade e no Office SharePoint Designer.

DigestCredentials

Para um serviço Web WCF, esse modo usa um Serviço de Repositório Seguro para mapear as credenciais do usuário para um conjunto de credenciais usando a autenticação Digest.

Esse modo é chamado de Representar a Identidade Personalizada - Resumo nas páginas de administração dos Microsoft Serviços Corporativos de Conectividade e no SharePoint Designer 2010.

A ilustração a seguir mostra os modos de autenticação dos Microsoft Serviços Corporativos de Conectividade quando credenciais são usadas.

Autenticação de Serviços Corporativos de Conectividade

  • No modo Passagem (Identidade do Usuário) (A), as credenciais do usuário conectado são passadas diretamente para o sistema externo.

  • No modo RevertToSelf (Identidade do BDC) (B), as credenciais de logon do usuário são substituídas pelas credenciais da conta de processo sob a qual os Microsoft Serviços Corporativos de Conectividade estão sendo executados, e essas credenciais são passadas para o sistema externo.

  • Três modos usam o Serviço de Repositório Seguro: WindowsCredentials (Representar Identidade do Windows), RdbCredentials (Representar Identidade Personalizada) e Credentials. Neles, as credenciais do usuário são mapeadas para um conjunto de credenciais para o sistema externo, e os Microsoft Serviços Corporativos de Conectividade passam essas credenciais para o sistema externo. Os administradores de solução podem mapear as credenciais de cada usuário para uma conta exclusiva no sistema externo ou podem mapear um conjunto de usuários autenticados para uma única conta de grupo.

Configurando Serviços Corporativos de Conectividade para autenticação baseada em declarações

Os Microsoft Serviços Corporativos de Conectividade podem conceder acesso a dados externos com base em tokens de segurança de entrada e podem passar tokens de segurança para sistemas externos. Um token de segurança é composto por um conjunto de declarações de identidade sobre um usuário, e o uso de tokens de segurança para autenticação é chamado de "autenticação baseada em declarações". O SharePoint Foundation inclui um Serviço de Token de Segurança que emite tokens de segurança.

A ilustração a seguir mostra como o Serviço de Token de Segurança e o Serviço de Repositório Seguro trabalham juntos na autenticação baseada em declarações:

Autenticação de declarações no BCS

  1. Um usuário experimenta uma operação em uma lista externa configurada para autenticação de declarações.

  2. O aplicativo cliente solicita um token de segurança do Serviço de Token de Segurança.

  3. Com base na solicitação da identidade do usuário, o Serviço de Token de Segurança emite um token de segurança que contém um conjunto de declarações e um identificador de aplicativo de destino. O Serviço de Token de Segurança retorna o token de segurança para o aplicativo cliente.

  4. O cliente passa o token de segurança para o Serviço de Repositório Seguro.

  5. O Serviço de Repositório Seguro avalia o token de segurança e usa o identificador de aplicativo de destino para retornar um conjunto de credenciais que se aplica ao sistema externo.

  6. O cliente recebe as credenciais e as passa para o sistema externo, de forma que uma operação (como a recuperação ou atualização de dados externos) possa ser executada.

Visão geral das permissões do Serviço Corporativo de Conectividade

As permissões dos Microsoft Serviços Corporativos de Conectividade associam uma conta individual, conta de grupo ou declaração a um ou mais níveis de permissão em um objeto em um repositório de metadados. Ao configurar corretamente permissões em objetos nos Microsoft Serviços Corporativos de Conectividade, você ajuda a permitir que soluções incorporem dados externos com segurança. Ao planejar uma estratégia de permissões, recomendamos que você conceda permissões específicas necessárias a cada usuário ou grupo, de forma que as credenciais ofereçam o menor privilégio essencial para a execução das tarefas.

Aviso

A configuração apropriada de permissões nos Microsoft Serviços Corporativos de Conectividade é um elemento em uma estratégia de segurança geral. Igualmente importante é a proteção dos dados em sistemas externos. Como fazer isso dependerá do modelo e dos recursos de segurança do sistema externo e está além do escopo deste artigo.

Observação

Os Serviços Corporativos de Conectividade usam as permissões nos objetos de metadados e as permissões no sistema externo para determinar as regras de autorização. Por exemplo, um filtro de segurança impede a exibição dos dados externos nos resultados da pesquisa dos usuários. Porém, se os usuários de alguma forma descobrirem a URL para os dados externos filtrados, eles poderão acessá-los se tiverem as permissões necessárias para o objeto de metadados e o sistema externo. A forma correta de impedir que os usuários acessem os dados externos é definir as permissões apropriadas nos Serviços Corporativos de Conectividade e no sistema externo.

Em que as permissões podem ser definidas?

Cada instância do Serviço de Conectividade de Dados Corporativos (ou, no caso da hospedagem, cada partição) contém um repositório de metadados que inclui todos os modelos, sistemas externos, tipos de conteúdo externo, métodos e instâncias de método que foram definidos para a finalidade do repositório. Esses objetos existem em uma hierarquia, como representado na ilustração a seguir:

Hierarquia do repositório de metadados

Observação

No gráfico da hierarquia anterior, os rótulos entre parênteses são os nomes de objetos definidos no esquema de metadados dos Microsoft Serviços Corporativos de Conectividade. Os rótulos que não estão entre parênteses são os nomes de cada objeto conforme eles aparecem na interface do usuário do Serviço de Conectividade de Dados Corporativos. Para acessar uma discussão completa do esquema de metadados dos Microsoft Serviços Corporativos de Conectividade, junto com o passo a passo de várias tarefas de desenvolvimento, consulte o Software Development Kit do Microsoft SharePoint 2010 (https://go.microsoft.com/fwlink/?linkid=166117&clcid=0x416).

A hierarquia de objetos em um repositório de metadados determina que objetos podem propagar suas permissões para outros objetos. Na ilustração, cada objeto nos quais permissões podem ser definidas, e opcionalmente propagadas, é mostrado em uma linha sólida; cada objeto que obtém suas permissões de seu objeto pai é mostrado com uma linha pontilhada. Por exemplo, a ilustração mostra que um Sistema Externo (LobSystem) pode ser protegido pela atribuição de permissões a ele, mas não é possível atribuir permissões a uma Ação de forma direta. Os objetos que não podem receber permissões obtêm as permissões de seu objeto pai. Por exemplo, uma Ação obtém as permissões de seu Tipo de Conteúdo Externo (Entidade) pai.

Observação de segurançaSecurity Note
Quando as permissões de um objeto em um repositório de metadados são propagadas, as configurações de permissão para todos os filhos desse item são substituídas pelas permissões do objeto de propagação. Por exemplo, se permissões forem propagadas de um Tipo de Conteúdo Externo, todos os Métodos e Instâncias de Método desse Tipo de conteúdo Externo receberão as novas permissões.

Quatro níveis de permissão podem ser definidos no repositório de metadados e nos objetos que ele contém:

  • Editar

    Observação de segurançaSecurity Note
    A permissão Editar deve ser considerada altamente privilegiada. Com ela, um usuário mal-intencionado pode roubar credenciais ou corromper um farm de servidores. É recomendável que, no sistema de produção, você conceda a permissão Editar somente aos usuários de confiança que possam ter permissões de nível de administrador.
  • Executar

  • Selecionável em clientes

  • Definir permissões

A tabela a seguir define o significado dessas permissões nos vários objetos para os quais elas podem ser definidas.

Objeto Definição Editar permissões Executar permissões Selecionável em permissões de clientes Permissões Definir permissões

Repositório de metadados

A coleção de arquivos XML, armazenada no Serviço de Conectividade de Dados Corporativos, que contém definições de modelos, tipos de conteúdo externo e sistemas externos.

O usuário pode criar novos sistemas externos.

Embora não haja permissão "Executar" no próprio repositório de metadados, essa configuração pode ser usada para propagar permissões Executar para objetos filhos no repositório de metadados.

Embora não haja permissão "Selecionável em clientes" no próprio repositório de metadados, essa configuração pode ser usada para propagar essas permissões para objetos filhos no repositório de metadados.

O usuário pode definir permissões em qualquer objeto do repositório de metadados ao propagá-las do repositório de metadados.

Modelo

Um arquivo XML que contém conjuntos de descrições de um ou mais tipos de conteúdo externo, seus sistemas externos relacionados e informações específicas do ambiente, como propriedades de autenticação.

O usuário pode editar o arquivo de modelo.

A permissão “Executar” não se aplica a modelos.

A permissão “Selecionável em clientes” não se aplica a modelos.

O usuário pode definir permissões no modelo.

Sistema externo

A definição de metadados de uma fonte de dados com suporte que pode ser modelada, como um banco de dados, serviço Web ou um assembly de conectividade .NET.

O usuário pode editar o sistema externo. A configuração dessa permissão também torna o sistema externo e qualquer instância de sistema externo que ele contém visíveis no SharePoint Designer.

Embora não haja permissão "Executar" no próprio sistema externo, essa configuração pode ser usada para propagar permissões Executar para objetos filhos no repositório de metadados.

Embora não haja permissão "Selecionável em clientes" no próprio sistema externo, essa configuração pode ser usada para propagar essas permissões para objetos filhos no repositório de metadados.

O usuário pode definir permissões no sistema externo.

Tipo de conteúdo externo

Uma coleção de metadados reutilizável que define um conjunto de dados de um ou mais sistemas externos, as operações disponíveis nesses dados e informações de conectividade relacionadas a esses dados.

Embora não haja permissão "Editar" no próprio tipo de conteúdo externo, essa configuração pode ser usada para propagar essas permissões para objetos filhos no repositório de metadados.

O usuário pode executar operações no tipo de conteúdo externo.

O usuário pode criar listas externas do tipo de conteúdo externo.

O usuário pode definir permissões no tipo de conteúdo externo.

Método

Uma operação relacionada a um tipo de conteúdo externo.

O usuário pode editar o método.

Embora não haja permissão "Executar" no próprio método, essa configuração pode ser usada para propagar as permissões Executar para objetos filhos no repositório de metadados.

Não há permissão "Selecionável em clientes" em um método.

O usuário pode definir permissões no método.

Instância de método

Para um determinado método, descreve como usá-lo com um conjunto específico de valores padrão.

O usuário pode editar a instância de método.

O usuário pode executar a instância de método.

Não há permissão "Selecionável em clientes" em uma instância de método.

O usuário pode definir permissões na instância de método.

Permissões especiais no serviço Corporativo de Conectividade de Dados

Junto com os recursos gerais de configuração de permissões descrito anteriormente, há um conjunto de permissões especiais para os Serviço de Conectividade de Dados Corporativos:

  • Administradores do farm têm permissões completas para os Serviço de Conectividade de Dados Corporativos. Isso é necessário, por exemplo, para a manutenção ou o reparo de uma instância do serviço. No entanto, o administrador do farm não tem permissões de execução em nenhum objeto no repositório de metadados, e esse direito deve ser concedido explicitamente por um administrador de uma instância dos Serviço de Conectividade de Dados Corporativos, se necessário.

  • Os usuários do Windows PowerShell são administradores do farm e podem executar comandos nos Serviço de Conectividade de Dados Corporativos.

  • Contas de pool de aplicativos em servidores front-end têm as mesmas permissões para os Serviço de Conectividade de Dados Corporativos do que os administradores do farm. Essa permissão é necessária para gerar pacotes de implantação baseados nos Microsoft Serviços Corporativos de Conectividade.

  • Os usuários do SharePoint Designer devem, na maioria dos casos, receber as seguintes permissões no repositório de metadados inteiro: Editar, Executar e Selecionável em clientes. Os usuários do SharePoint Designer não devem receber permissões Definir permissões. Se necessário, você poderá limitar as permissões do usuário do SharePoint Designer a um subconjunto do repositório de metadados.

    Aviso

    Para ajudar a garantir uma solução segura, o SharePoint Designer deve ser usado para criar tipos de conteúdo externo em um ambiente de teste no qual permissões Editar possam ser atribuídas livremente. Ao implantar a solução testada em um ambiente de produção, remova as permissões de edição para ajudar a proteger a integridade dos dados externos.

Tarefas comuns e suas permissões relacionadas

Esta seção descreve tarefas comuns nos Serviço de Conectividade de Dados Corporativos e as permissões necessárias para sua execução.

Tarefa Permissões

Criar um novo objeto no repositório de metadados

Para criar um novo objeto de metadados, um usuário deve editar permissões no objeto de metadados pai. Por exemplo, para criar um novo método em um tipo de conteúdo externo, um usuário deverá ter permissões no tipo de conteúdo externo. Consulte a ilustração mostrada anteriormente neste artigo para ver relacionamentos filho/pai entre objetos no repositório de metadados.

Excluir um objeto do repositório de metadados

Para excluir um objeto de metadados, um usuário deve ter permissões de edição nesse objeto. Para excluir um objeto e todos os seus objetos filhos (como a exclusão de um tipo de conteúdo externo e todos os seus métodos), a permissão de edição também será necessária em todos os objetos filhos.

Adicionando um tipo de conteúdo externo a um modelo

Para adicionar um tipo de conteúdo externo a um modelo, um usuário deve ter permissões de edição no modelo.

Importando modelos

Para importar um modelo para o repositório de metadados, um usuário deve ter permissões de edição no repositório de metadados. Se permissões explícitas não forem atribuídas ao modelo, o usuário que o importou obterá permissões de edição nesse modelo.

Exportando modelos

Para exportar um modelo do repositório de metadados, um usuário deve ter permissões de edição no modelo e em todos os sistemas externos contidos nesse modelo.

Gerando um pacote de implantação

Os pacotes de implantação são gerados pela conta do pool de aplicativos usada pelo servidor front-end. Essa conta tem permissões completas para o repositório de metadados para poder executar essa tarefa.

Configurando permissões iniciais no repositório de metadados.

Quando uma instância dos Serviço de Conectividade de Dados Corporativos é criada pela primeira vez, seu repositório de metadados está vazio. O administrador do farm tem permissões completas para o repositório e pode definir permissões iniciais.

Protegendo os Serviços Corporativos de Conectividade

Esta seção aborda medidas adicionais que podem ser usadas para ajudar a proteger os Serviços Corporativos de Conectividade

Conta de serviço

Para isolamento de segurança, o aplicativo Serviço de Conectividade de Dados Corporativos e o servidor front-end não devem usar a mesma conta de serviço.

Comunicação entre servidores

A proteção da comunicação entre o aplicativo Serviço de Conectividade de Dados Corporativos e os sistemas externos ajuda a garantir que dados confidenciais não sejam comprometidos. É preciso usar um canal de comunicação criptografado para proteger os dados que são enviados entre servidores que executam o SharePoint Foundation 2010 e sistemas externos. O protocolo IPsec é um método que pode ser usado para proteger a comunicação. A escolha de qual método usar depende dos canais de comunicação específicos que você está protegendo e dos benefícios e compensações mais apropriados à sua organização.

Aplicativos que usam FileBackedMetadataCatalog

Por motivos de segurança, o modo de autenticação RevertToSelf está desabilitado no SharePoint Foundation 2010 por padrão. No entanto, isso não impede que os aplicativos que usam a classe FileBackedMetadataCatalog importem modelos e executem chamadas que utilizam a autenticação RevertToSelf. O resultado pode ser o aumento de privilégios aos usuários por meio de privilégios concedidos à conta do pool de aplicativos. Analise todos os aplicativos para garantir que eles não utilizem a classe FileBackedMetadataCatalog e a autenticação RevertToSelf antes de instalá-los em um sistema de produção.