Implantar o conector do Microsoft SharePoint local

Este guia se destina aos administradores do conector do SharePoint local para Google Cloud Search, ou seja, qualquer pessoa responsável por fazer download, configurar, executar e monitorar o conector.

Ele inclui instruções para executar as principais tarefas relativas à implantação do conector do SharePoint local:

  • Fazer o download do software do conector do SharePoint local para Google Cloud Search.
  • Configurar o conector para uso com uma origem de dados do SharePoint Server local.
  • Implantar e executar o conector.

Para entender os conceitos deste documento, é preciso ter familiaridade com os fundamentos do Google Workspace e do SharePoint Server local.

Visão geral

Por padrão, o Google Cloud Search pode detectar, indexar e exibir conteúdo com base nos dados do Google Workspace, como o Documentos Google e o Gmail. É possível estender o Google Cloud Search para exibir conteúdo do SharePoint no local para seus usuários usando o conector do SharePoint local.

Arquivos de propriedades de configuração

Para permitir que o conector descubra o conteúdo do SharePoint local e faça upload para a API Indexing, é necessário fornecer informações específicas ao conector. Para fazer isso, crie um arquivo de configuração. Durante as etapas de configuração descritas em Etapas da implantação, adicione parâmetros para criar o arquivo de configuração.

Além dos parâmetros do conector do SharePoint local descritos neste documento, existem parâmetros de configuração usados por todos os conectores do Cloud Search. Para informações detalhadas, consulte Parâmetros do conector fornecidos pelo Google.

Sistemas operacionais compatíveis

  • Windows Server 2016
  • Ubuntu
  • Red Hat Enterprise Linux 5.0
  • SUSE Enterprise Linux 10 (64 bits)

Versões do SharePoint compatíveis

  • SharePoint Server 2016
  • SharePoint Server 2013

Como indexar documentos não publicados

O conector do SharePoint local para Cloud Search sempre respeita a configuração "Visibilidade da pesquisa" no SharePoint. Não é possível substituir isso. Para documentos de rascunho, a indexação depende das permissões fornecidas à conta de usuário do conector. Se o usuário tiver apenas permissões do tipo "Leitura completa", o conector respeitará todas as configurações de "Visibilidade do item de rascunho" no SharePoint.

Mecanismos de autenticação compatíveis

  • NTLM
  • Kerberos
  • HTTP básico
  • ADFS

Limitações conhecidas do conector

  • O número de bancos de dados de conteúdo afeta a latência de detecção de alteração de documentos.
  • O número de usuários e grupos exclusivos usados em ACLs para cada conjunto de sites afeta o consumo de memória.
  • A versão atual do conector é compatível com identidades de apenas um domínio do Active Directory.
  • A versão atual do conector não é compatível com os principais conhecidos do Active Directory e do Windows, como Everyone, BUILTIN\Users, All Authenticated Users.
  • A versão atual do conector não gera notificações de exclusão instantânea.
  • A versão atual do conector depende da reindexação de conteúdo para identificar exclusões do repositório de origem. Para conteúdo indexado anteriormente, a latência de detecção de exclusão pode ser superior a quatro horas.

Antes de implantar o conector do SharePoint local para Cloud Search

Antes de implantar o conector do SharePoint local para Google Cloud Search, verifique se você tem os seguintes componentes necessários:

  • Um sistema operacional e uma versão do Sharepoint Server compatíveis
  • Java JRE 1.8 instalado em um computador que executa o conector do SharePoint local para Google Cloud Search.
  • Informações do Google Workspace necessárias para estabelecer relações entre o Google Cloud Search e a origem de dados:

    Normalmente, o administrador do Google Workspace no domínio pode fornecer essas credenciais para você.

  • Uma conta de usuário para o conector, com permissões de acesso completo de leitura para o aplicativo da Web do SharePoint na política do usuário.

  • Certifique-se de que o aplicativo da Web tenha um conjunto de sites raiz criado. Esse conector não é compatível com a indexação de conteúdo do aplicativo da Web, em que nenhum conjunto de sites raiz está presente.

  • Se houver algum conjunto de sites bloqueado para gravação, execute o script PrepareWriteLockedSitesForAdaptor.ps1 (em inglês) no SharePoint usando uma conta que tenha privilégios de administrador antes de instalar o conector.

  • Para facilitar a configuração desse conector, faça o login no servidor do SharePoint usando privilégios de administração do farm e execute diagnose_sp.ps1 (em inglês).

    A saída desse comando, incluindo o número de aplicativos da Web, de documentos e da contagem de membros do grupo de usuários, ajuda a estimar o número de instâncias de conector necessárias, os requisitos de memória e a contagem esperada de documentos.

Etapas da implantação

Para implantar o conector do SharePoint local para Google Cloud Search, siga estas etapas:

  1. Instale o software do conector do SharePoint local para Google Cloud Search.
  2. Especifique a configuração do conector do SharePoint On-Prem.
  3. Configure o acesso à origem de dados do Google Cloud Search.
  4. Configure o acesso ao SharePoint On-Prem.
  5. Adicione o SharePoint como um host confiável.
  6. Configure conjuntos de sites.
  7. Ative a geração de registros.
  8. Configure o mapeamento de identidade do SharePoint com o Google Cloud Search.
  9. Configure a pesquisa do Active Directory.
  10. Configure o suporte para dados estruturados e geração de HTML.

1. Instale o software do conector do SharePoint local para Google Cloud Search

  1. Clone o repositório do conector que está no GitHub.

    $ git clone https://github.com/google-cloudsearch/sharepoint-connector.git
        $ cd sharepoint-connector
  2. Confira se é a versão desejada do conector:

    $ git checkout tags/v1-0.0.3
  3. Crie o conector.

    $ mvn package

    Para ignorar testes ao criar o conector, execute mvn package -DskipTests em vez de mvn package.

  4. Copie o arquivo ZIP do conector para o diretório de instalação local:

    $ cp target/google-cloudsearch-sharepoint-connector-v1-0.0.3.zip installation-dir
        $ cd installation-dir
        $ unzip google-cloudsearch-sharepoint-connector-v1-0.0.3.zip
        $ cd google-cloudsearch-sharepoint-connector-v1-0.0.3

2. Especifique a configuração do conector do SharePoint local

Para que o conector acesse corretamente o SharePoint local e indexe o conteúdo relevante, é necessário primeiro criar um arquivo de configuração. Para controlar o comportamento e os atributos do conector do SharePoint local, defina parâmetros no arquivo de configuração do conector. Os parâmetros configuráveis controlam o seguinte:

  • o acesso a uma origem de dados;
  • o acesso ao servidor do SharePoint On-Prem;
  • a indexação do servidor do SharePoint On-Prem como um conjunto de sites.

Para criar um arquivo de configuração, siga estas etapas:

  • Abra um editor de texto de sua escolha e nomeie o arquivo de configuração.
  • Adicione pares de chave=valor ao conteúdo de arquivo, conforme descrito nas seções a seguir.
  • Salve e nomeie o arquivo de configuração. O Google recomenda que você nomeie o arquivo de configuração como connector-config.properties. Assim, nenhum outro parâmetro de linha de comando será necessário para executar o conector.

3. Configure o acesso à origem de dados do Google Cloud Search

Os primeiros parâmetros que cada arquivo de configuração precisa especificar são os necessários para acessar a origem de dados do Cloud Search, conforme mostrado na tabela a seguir. Normalmente, serão necessários o ID da origem de dados e da origem de identidade e o caminho para o arquivo de chave privada da conta de serviço para configurar o acesso do conector ao Cloud Search. As etapas necessárias para configurar uma origem de dados são descritas em Adicionar uma origem de dados para pesquisar.

Configuração Parâmetro
ID da origem de dados api.sourceId=1234567890abcdef

Obrigatório. O ID de origem do Google Cloud Search configurado pelo administrador do Google Workspace, conforme descrito em "Gerenciar origens de dados de terceiros".

Caminho para o arquivo de chave privada da conta de serviço api.serviceAccountPrivateKeyFile=./PrivateKey.json

Obrigatório. O arquivo de chave da conta de serviço do Google Cloud Search para a acessibilidade do conector do SharePoint On-Prem com o Google Cloud Search.

ID da origem de identidade api.identitySourceId=x0987654321

Obrigatório. O ID da origem de identidade do Cloud Search configurado pelo administrador do Google Workspace.

4. Configure o acesso ao SharePoint local

Para que o conector possa acessar o SharePoint local e extrair dados dele para indexação, é necessário configurar o acesso ao servidor do SharePoint. Use o parâmetro a seguir para adicionar informações de acesso ao arquivo de configuração.

Configuração Parâmetro
Nome de domínio totalmente qualificado para o servidor do SharePoint sharepoint.server=http://yoursharepoint.example.com/

Obrigatório. Se o nome de domínio não for totalmente qualificado, será necessário definir a modificação do DNS no host do conector.

Nome de usuário do SharePoint sharepoint.username=YOURDOMAIN\\ConnectorUser

Obrigatório ao executar o conector no Linux ou em um computador com Windows que não faça parte do domínio do AD do SharePoint Server.

Senha do SharePoint sharepoint.password=user_password

Obrigatório ao executar o conector no Linux ou em um computador com Windows que não faça parte do domínio do AD do SharePoint Server.

Usar a autenticação em tempo real para se conectar ao SharePoint sharepoint.username=AdaptorUser Live Authentication Id

sharepoint.password uS3R_passWoRD

sharepoint.formsAuthenticationMode=LIVE

Usar a autenticação do ADFS para se conectar ao SharePoint sharepoint.username=AdaptorUser@yourdomain.com

sharepoint.password=uS3R_passWoRD

sharepoint.sts.endpoint=https://adfs.example.com/adfs/services/trust/2005/usernamemixed

sharepoint.sts.realm=urn:myserver:sharepoint ou https://yoursharepoint.example.com/_trust

sharepoint.formsAuthenticationMode=ADFS

5. Adicione o SharePoint como um host confiável

Se o SharePoint estiver configurado para usar HTTPS, consiga um certificado do SharePoint para adicioná-lo como um host confiável do conector. Para fazer isso, execute as seguintes etapas:

  • Em um navegador, acesse o SharePoint. Uma página de aviso é exibida com uma mensagem semelhante a seguinte: "Esta conexão não é confiável". Essa mensagem é exibida porque o certificado é autoassinado e não está assinado por uma autoridade de certificação confiável. Clique em Entendo os riscos e Adicionar exceção.
  • Aguarde até que o botão Visualizar esteja disponível para clicar e clique nele.
  • Mude para a guia "Detalhes" e clique em "Exportar".
  • Salve o certificado no diretório do seu conector com o nome sharepoint.crt.
  • Clique em Fechar e Cancelar para fechar as janelas.
  • Para permitir que o conector confie no SharePoint, abra um prompt de comando e digite o seguinte comando:

    $ keytool -importcert -keystore cacerts.jks -storepass changeit -file sharepoint.crt -alias sharepoint

    Quando a mensagem "Confiar neste certificado?" for exibida, responda sim.

6. Configure conjuntos de sites

Se quiser, é possível configurar o conector para indexar um servidor do SharePoint como um conjunto de sites.

Configuração Parâmetro
Se o sharepoint.server for um conjunto de sites em vez de um servidor virtual sharepoint.siteCollectionOnly=true

O padrão é detectado automaticamente. Se for verdadeiro, o conector indexa o sharepoint.server como um conjunto de sites.

7. Ative a geração de registros

Crie uma pasta chamada logs no mesmo diretório que contém o binário do conector. Em seguida, crie um arquivo ASCII ou UTF-8 denominado logging.properties no mesmo diretório e inclua o seguinte conteúdo:

handlers = java.util.logging.ConsoleHandler,java.util.logging.FileHandler
    # Default log level
    .level = INFO
    # uncomment line below to increase logging level for SharePoint APIsa
    #com.google.enterprise.cloudsearch.sharepoint.level=FINE

    # uncomment line below to increase logging level to enable API trace
    #com.google.api.client.http.level = FINE
    java.util.logging.ConsoleHandler.level = INFO
    java.util.logging.FileHandler.pattern=logs/connector-sharepoint.%g.log
    java.util.logging.FileHandler.limit=10485760
    java.util.logging.FileHandler.count=10
    java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter
    

Os clientes do Google Cloud Search podem aplicar cortes de ACL aos resultados de pesquisa. Essas ACLs podem ser definidas usando principais do Google, bem como principais externos.

Uma configuração típica do SharePoint local inclui os três principais a seguir:

  • Usuários do Active Directory
  • Grupos do Active Directory
  • Grupos locais do SharePoint (com usuários e grupos do Active Directory como membros)

Para aplicar os cortes de segurança apropriados ao conteúdo do SharePoint, também é necessário sincronizar as identidades externas com o Google.

  • Use a ferramenta Google Cloud Directory Sync (com suporte extra a grupos mapeados por identidade) para sincronizar usuários e grupos do Active Directory.
  • Use o conector de identidade do SharePoint para sincronizar os grupos locais desse serviço.

Para oferecer suporte a essa configuração, é necessário criar duas origens de identidade.

  • Uma origem de identidade para sincronizar usuários e grupos do Active Directory
  • Uma origem de identidade para grupos locais do SharePoint
Configuração Parâmetro
ID da origem de identidade api.identitySourceId=1234567890abcdef

ID da origem de identidade para sincronizar os grupos locais do SharePoint. Obrigatório. O ID da origem do Google Cloud Search configurado pelo administrador do Google Workspace, conforme descrito em Adicionar uma origem de dados para pesquisa.

Origens de identidade de referência api.referenceIdentitySources=CONTOSO,contoso

Lista de origens de identidade de referência para os principais do Active Directory. O valor precisa corresponder ao nome NETBIOS do Active Directory dos principais do Active Directory que estão sendo consultados.

IDs da origem de identidade de referência api.referenceIdentitySource.CONTOSO.id=112233abcd

Obrigatório. ID da origem de identidade para sincronizar os principais do Active Directory para o domínio CONTOSO.

9. Configure a pesquisa do Active Directory

Enquanto outros conectores dependem do Google Cloud Directory Sync para sincronizar usuários e grupos do Active Directory, o conector do SharePoint precisa executar uma pesquisa com o AD para buscar mais informações sobre os principais que estão sendo sincronizados. Os casos de uso incluem o seguinte:

  • Mapeamento de SID de um grupo de domínio para o sAMAccountName correspondente
  • Mapeamento do usuário sAMAccountName para o endereço de e-mail para membros do grupo local do SharePoint
Configuração Parâmetro
Host do Active Directory adLookup.host=dc.contoso.com

Obrigatório. Nome do host ou endereço IP do Active Directory.

Porta de pesquisa do Active Directory adLookup.port=389

Opcional. O padrão é 389. Use 686 para ssl.

Método de pesquisa do Active Directory adLookup.method=standard

Opcional. O padrão é "padrão". Use "ssl" para conexão segura.

Usuário de pesquisa do Active Directory adLookup.username=CONTOSO\user1

Obrigatório. Usuário autorizado a realizar pesquisas do Active Directory.

Senha de pesquisa do Active Directory adLookup.passowrd=password123

Obrigatório. Senha do usuário especificado pelo adLookup.user.

10. Configure o suporte a dados estruturados e geração de conteúdo HTML para itens de lista do SharePoint

Para indexar outros metadados para itens de lista do SharePoint, configure o conector para aceitar a geração de conteúdo HTML e/ou dados estruturados.

Geração de conteúdo HTML

Use os parâmetros da tabela a seguir para configurar a geração de conteúdo HTML. Para informações sobre os parâmetros de geração de conteúdo HTML opcionais, consulte "Geração de conteúdo HTML".

Configuração Parâmetro
Campo de título do modelo HTML contentTemplate.sharePointItem.title=Title

Campo do SharePoint a ser usado como "Título" para HTML gerado.

Campos de alta qualidade de pesquisa de conteúdo HTML contentTemplate.sharePointItem.quality.high=highField1,highField2…

Campos para incluir no HTML gerado como campos de alta qualidade. A correspondência dos termos da consulta de pesquisa nesses campos terá uma classificação mais alta.

Campos de média qualidade de pesquisa de conteúdo HTML contentTemplate.sharePointItem.quality.medium=mediumField1, mediumField2…

Campos para incluir no HTML gerado como campos de qualidade média.

Campos de baixa qualidade de pesquisa de conteúdo HTML contentTemplate.sharePointItem.quality.low=lowField1, lowField2…

Campos para incluir no HTML gerado como campos de baixa qualidade.

Colunas não mapeadas de conteúdo HTML contentTemplate.sharepointItem.unmappedColumnsMode=APPEND

O padrão é APPEND. Defina-o como APPEND para incluir campos não mapeados (que não fazem parte das configurações alta, média e baixa) no conteúdo HTML gerado. Para gerar HTML usando apenas colunas mapeadas, defina-o como IGNORE.

Suporte a dados estruturados

O conector preenche dados estruturados para itens de lista do SharePoint se o esquema para a origem de dados for definido usando as seguintes diretrizes:

  • O conector mapeia nomes de tipo de conteúdo do SharePoint para definições de objetos correspondentes. Para fazer isso, o conector normaliza o nome do tipo de conteúdo do SharePoint de acordo com as especificações definidas pela API Cloud Search. Essa API aceita apenas caracteres A-Z, a-z e 0-9 como válidos para definições de objetos. O conector exclui caracteres não aceitos para normalizar os nomes de tipo de conteúdo. Por exemplo, o tipo de conteúdo "Anúncios" é mapeado para a definição de objeto "Announcements", enquanto o tipo de conteúdo "Artigo de notícias" é mapeado para "NewsArticle".

  • O conector também oferece suporte para a configuração de um tipo de objeto de fallback por meio da configuração itemMetadata.objectType. Se nenhuma definição de objeto correspondente ao tipo de conteúdo do SharePoint estiver disponível no esquema, o conector usará o tipo de objeto de fallback.

  • O conector mapeia nomes de propriedades do SharePoint para definições de propriedade, o que é feito por meio da normalização de nomes de exibição das colunas do SharePoint.

Exemplo: arquivo de configuração

O arquivo de configuração de exemplo a seguir mostra os pares chave=valor de parâmetro que definem o comportamento do conector de exemplo.

api.sourceId=08ef8becd116faa4546b8ca2c84b2879
    api.serviceAccountPrivateKeyFile=service_account.json
    api.identitySourceId=08ef8becd116faa475de26d9b291fed9

    # Optional
    contentTemplate.sharepointItem.title=Title
    contentTemplate.sharepointItem.unmappedColumnsMode=APPEND

    sharepoint.server=http://sp-2016:32967/sites/doc-center-site-collection
    sharepoint.siteCollectionOnly=true
    sharepoint.username=contoso\\admin
    sharepoint.password=pa$sw0rd
    sharepoint.stripDomainInUserPrincipals=true

    adLookup.host=dc.contoso.com
    adLookup.port=389
    adLookup.username=contoso\\admin
    adLookup.password=pa$sw0rd

    api.referenceIdentitySources=CONTOSO,contoso
    api.referenceIdentitySource.contoso.id=08ef8becd116faa5d3783f8c5a80e5aa
    api.referenceIdentitySource.CONTOSO.id=08ef8becd116faa5d3783f8c5a80e5aa
    

Executar o conector de identidade do SharePoint local

No Cloud Search, para que os usuários recebam os resultados relacionados ao conteúdo do SharePoint a que eles têm acesso, é necessário primeiro mapear os principais nos conjuntos de sites do SharePoint e do Active Directory no local para identidades no serviço do Google Cloud Identity. Essa sincronização é feita por meio do aplicativo do Google Cloud Directory Sync (GCDS) e do conector de identidade do SharePoint local. Para acessar as instruções de uso do GCDS, consulte Sobre o Google Directory Sync. Para mais informações sobre como ativar grupos mapeados por identidade, consulte Sincronizar grupos com uma origem de identidade do Cloud Search.

Depois que o GCDS tiver sincronizado os usuários e grupos no Active Directory, execute o conector de identidade do SharePoint local, conforme explicado abaixo, para sincronizar os grupos de conjunto de sites do SharePoint.

O conector de identidade usa um arquivo de configuração semelhante ao utilizado para indexar conteúdo. Veja a seguir um exemplo de arquivo de configuração de conector de identidade:

api.customerId=C05d3djk8
    api.serviceAccountPrivateKeyFile=service_account.json
    api.identitySourceId=08ef8becd116faa475de26d9b291fed9

    sharepoint.server=http://sp-2016:32967/sites/doc-center-site-collection
    sharepoint.siteCollectionOnly=true
    sharepoint.username=contoso\\admin
    sharepoint.password=pa$sw0rd
    sharepoint.stripDomainInUserPrincipals=true

    adLookup.host=dc.contoso.com
    adLookup.port=389
    adLookup.username=contoso\\admin
    adLookup.password=pa$sw0rd

    api.referenceIdentitySources=CONTOSO,contoso
    api.referenceIdentitySource.contoso.id=08ef8becd116faa5d3783f8c5a80e5aa
    api.referenceIdentitySource.CONTOSO.id=08ef8becd116faa5d3783f8c5a80e5aa
    

Observe que esse arquivo contém a propriedade api.customerId. Essa propriedade contém o ID da conta do Google Workspace. Para mais informações sobre como gerar um customerID, consulte Mapear identidades de usuários no Cloud Search.

O mesmo arquivo JAR usado para indexar conteúdo contém também o conector de identidade. Para executá-lo, emita o comando a seguir no diretório que contém o arquivo de configuração. Em lugar de version, use o número de versão atual, presente na página de versões do GitHub (em inglês).

java -Djava.util.logging.config.file=logging.properties -cp "google-cloudsearch-sharepoint-connector-version.jar" com.google.enterprise.cloudsearch.sharepoint.SharePointIdentityConnector

Executar o conector do SharePoint local

Execute o conector usando cmd.exe na máquina host:

$ java -Djava.util.logging.config.file=logging.properties -jar google-cloudsearch-sharepoint-connector-v1-0.0.3.jar

Para executar o conector em sites do SharePoint protegidos por HTTP, adicione o SharePoint como o host confiável, conforme descrito acima.

$ java -Djavax.net.ssl.trustStore=cacerts.jks -Djavax.net.ssl.trustStoreType=jks -Djavax.net.ssl.trustStorePassword=changeit -Djava.util.logging.config.file=logging.properties -jar google-cloudsearch-sharepoint-connector-v1-0.0.3.jar

Tópicos avançados

As informações nesta seção se estendem além da configuração básica do conector do SharePoint.

Configurações de vários locatários

As implantações do SharePoint com vários locatários normalmente hospedam vários sites de clientes no mesmo aplicativo da Web. Os clientes conseguem permissões apenas para os respectivos conjuntos de sites. Nesse cenário, não é possível conseguir permissões de acesso completo de leitura no aplicativo da Web do SharePoint, conforme exigido pelo conector do SharePoint local.

Essas configurações de vários locatários são aceitas pelo modo "Somente conjunto de sites". Para aceitar uma configuração de vários locatários, o modo de conjunto de sites precisa ser ativado usando a opção de configuração sharepoint.siteCollectionOnly no arquivo connector-config.properties.

Para indexar o conjunto de sites no nível raiz no modo "Somente conjunto de sites", é necessário definir sharepoint.siteCollectionOnly como true explicitamente.

O conector indexará um conjunto de sites e os respectivos itens filhos. Por esse motivo, a conta de usuário do conector no SharePoint precisa de permissões de administrador de conjunto de sites.

Se você tiver vários conjuntos de sites para indexar em um ambiente de vários locatários, será necessário configurar uma instância de conector para cada um dos conjuntos de sites.

Para configurar o conector do SharePoint local no modo "Somente conjunto de sites", faça o seguinte:

  • Especifique sharepoint.server como o URL do conjunto de sites, como http://sharepoint.example.com/sites/sitecollection.

  • Se o URL do conjunto de sites for o conjunto de sites raiz (por exemplo, http://sharepoint.example.com), defina explicitamente sharepoint.siteCollectionOnly=true.

URLs não canônicos no modo "Somente conjunto de sites"

O conector do SharePoint local permite URLs não canônicos no modo "Somente conjunto de sites". Ou seja, o URL do conector, conforme especificado pela opção de configuração sharepoint.server no arquivo connector-config.properties, não precisa estar exatamente no mesmo caso que o SharePoint.

Modificar Content-Type para arquivos .msg do Microsoft Outlook

Se o conector encontrar arquivos .msg do Outlook ao rastrear conteúdo, ele modificará o Content-Type dos arquivos e os indexará como application/vnd.ms-outlook.