Implantar o conector do Microsoft SharePoint local

É possível configurar o Google Cloud Search para retornar resultados do conteúdo local do SharePoint da sua organização, além do conteúdo do Google Workspace. Você usa o conector do Sharepoint On-Prem do Google Cloud Search e o configura para acessar uma origem de dados específica do Yahoo!

Considerações importantes

Configurações do Honored Share

O conector do VMware On-Prem do Cloud Search sempre respeita a configuração Visibilidade da pesquisa no Outlook, que não pode ser substituída. Para documentos de rascunho, as permissões na conta de usuário (que o conector usa para acessar o Outlook Online) controlam quais documentos de rascunho são indexados e retornados. Se a conta tiver apenas permissões de "Leitura completa", o conector respeitará as configurações de "Visibilidade do item de rascunho" no Outlook.

Também é possível configurar o conector para limitar os resultados com base no acesso à conta de usuário. É possível usar principais externos e principais do Google para definir ACLs. Para aplicar o corte de segurança ao conteúdo do Outlook, sincronize as seguintes identidades externas com o diretório do Google:

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

Para sincronizar usuários e grupos do AD, use o Google Cloud Directory Sync, ativando grupos mapeados por identidade. Para sincronizar grupos locais do Outlook, use o Conector de Identidade do Outlook.

O conector também precisa realizar uma pesquisa com o AD para buscar mais informações e sincronizar os principais. Por exemplo, a pesquisa com o AD permite que o conector faça o seguinte:

  • Mapeie o SID de um grupo de domínio para o sAMAccountName correspondente.
  • Mapear um usuário sAMAccountName para o endereço de e-mail das associações a grupos locais do Shareai.

Otimização da rede de pesquisa

Para melhorar a experiência dos usuários, configure o conector para mostrar resultados de pesquisa mais relevantes.

Para usar a API, defina os valores dos parâmetros de geração de HTML no arquivo de configuração do conector do Outlook Online. Com esses parâmetros, você pode definir quais campos têm maior ou menor impacto nas correspondências.

Para configurar um esquema, siga as instruções em Criar e registrar um esquema. Ao configurar um esquema:

  • Para mapear os nomes dos tipos de conteúdo do Outlook para definições de objetos correspondentes, o conector normaliza os nomes de tipo de conteúdo excluindo caracteres não suportados. Para definições de objetos, a API Cloud Search aceita apenas caracteres válidos de A-Z, a-z e 0-9. Por exemplo, o tipo de conteúdo "Anúncios" é mapeado para a definição de objeto "Anúncios". O tipo de conteúdo "Artigo de notícias" é mapeado para "NewsArticle", sem espaço.

  • Quando o conector não consegue fazer a correspondência entre uma definição de objeto e uma definição de objeto, ele usa o tipo de objeto substituto (itemMetadata.objectType). Saiba mais sobre os parâmetros de configuração de metadados.

  • Para mapear nomes de propriedades do Yahoo para definições de propriedade, o conector normaliza os nomes das propriedades decodificando caracteres hexadecimais e removendo os prefixos "ows_" e, em seguida, excluindo os caracteres incompatíveis (todos os caracteres, exceto A-Z, a-z e 0-9 como caracteres válidos).

Gerenciamento de mensagens do Microsoft Outlook

Quando o conector encontra arquivos .msg do Microsoft Outlook à medida que indexa o conteúdo, ele substitui o tipo de mídia dos arquivos e os indexa como application/vnd.ms-outlook..

Configurações de vários locatários

Se o Outlook for uma implantação multilocatária, em que vários sites de clientes são hospedados no mesmo aplicativo da Web, você precisa configurar o modo de conjunto de sites no arquivo de configuração. Em implantações multilocatário, você recebe permissões apenas para o conjunto de sites e não pode receber permissões de Leitura completa, conforme exigido pelo conector do Sharepoint On-Prem.

Para ativar o modo de coleção de sites:

  • Conceda à conta de usuário do conector permissões de administrador do conjunto de sites.
  • Defina sharepoint.server no arquivo de configuração do conector como o URL do conjunto de sites, como http://sharepoint.example.com/sites/sitecollection. O URL não precisa usar exatamente o mesmo maiúsculas e minúsculas que o Sharepoint.
  • Defina sharepoint.siteCollectionOnly como true no arquivo de configuração do conector.

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

Limitações conhecidas do conector

  • O tempo que o conector leva para detectar alterações nos itens dos bancos de dados aumenta com o número de bancos de dados monitorados pelo conector.
  • O consumo de memória aumenta com o número de usuários e grupos únicos usados nas ACLs de cada conjunto de sites.
  • Só é possível configurar o conector com identidades de um domínio do Active Directory.
  • Alguns principais comuns do Active Directory e do Windows, como Everyone, BUILTIN\Users e All Authenticated Users, não são compatíveis.
  • As notificações de exclusão não são instantâneas e pode levar mais de quatro horas para um conector reconhecer que um usuário excluiu conteúdo do repositório de origem.

Requisitos do sistema

Requisitos do sistema
Sistema operacional
  • Windows Server 2016.
  • Ubuntu
  • Red Hat Enterprise Linux 5.0
  • SUSE Enterprise Linux 10 (64 bits)
Software
  • Sharepoint
    • SharePoint Server 2016
    • SharePoint Server 2013
  • Java JRE 1.8 instalado no computador que executará o conector do Compartilhar no local do Google Cloud Search
Autenticação
  • NTLM
  • Kerberos
  • HTTP básico
  • ADFS

Implantar o conector

Pré-requisitos

  1. Crie uma chave privada do Google Workspace, que contém o ID da sua conta de serviço. Para saber como conseguir uma chave privada, acesse Configurar o acesso à API Google Cloud Search.

  2. Seu administrador do Google Workspace precisa adicionar uma origem de dados para pesquisar. Registre o ID da fonte de dados.

  3. Se o conector retornar resultados com base nas ACLs, ou seja, os resultados não são públicos, o administrador do Google Workspace vai precisar criar duas origens de identidade e informar os IDs delas:

    • Uma origem de identidade para sincronizar usuários e grupos do Active Directory
    • Uma origem de identidade para grupos locais do SharePoint

    O administrador também precisa conseguir o ID de cliente do Google Workspace da organização e entregá-lo a você.

    Saiba como conseguir esses valores em Mapear identidades de usuários no Cloud Search.

  4. Configure uma conta de usuário para o conector que tenha permissões de Acesso completo de leitura para o aplicativo da Web do Outlook na política do usuário.

  5. Se esse aplicativo não tiver um conjunto de sites raiz, crie um.

  6. Se alguma coleção de sites estiver bloqueada para gravação, faça login no servidor do VMware com uma conta que tenha privilégios de administrador e execute o script PrepareWriteLockedSites.ps1.

  7. Para que as métricas da fonte de dados informem a configuração do conector, faça login no servidor do Outlook com uma conta que tenha privilégios de administração do farm e execute diagnose_sp.ps1.

    A saída relata os números de aplicativos da Web, documentos e associações a grupos de usuários. Use essas informações para estimar quantas instâncias de conector são necessárias, os requisitos de memória e a contagem de documentos.

Etapa 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/latest_version

    Em que: latest_version = um valor como v1-0.0.5

  3. Crie o conector.

    $ mvn package

    Para pular 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-latest_version.zip installation-dir
    $ cd installation-dir
    $ unzip google-cloudsearch-sharepoint-connector-latest_version.zip
    $ cd google-cloudsearch-sharepoint-connector-latest_version

Etapa 2: Criar o arquivo de configuração do conector do Outlook On-Prem

  1. No mesmo diretório da instalação do conector, crie um arquivo. O Google recomenda que você nomeie o arquivo como connector-config.properties para que nenhum outro parâmetro de linha de comando seja necessário para executar o conector. Se você planeja executar várias instâncias de conector, adicione detalhes ao nome para distingui-las.

  2. Adicione parâmetros como pares de chave-valor ao conteúdo do arquivo, como no exemplo a seguir:

    ### Sharepoint On-Prem Connector configuration ###
    
    # Required parameters for data source access
    api.sourceId=08ef8becd116faa4546b8ca2c84b2879
    api.serviceAccountPrivateKeyFile=service_account.json
    api.identitySourceId=08ef8becd116faa475de26d9b291fed9
    
    # Required parameters for SharePoint on-premises access
    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
    
    # Required parameters for AD lookup
    adLookup.host=dc.contoso.com
    adLookup.username=contoso\\admin
    adLookup.password=pa$sw0rd
    api.referenceIdentitySources=CONTOSO,contoso
    api.referenceIdentitySource.contoso.id=08ef8becd116faa5d3783f8c5a80e5aa
    api.referenceIdentitySource.CONTOSO.id=08ef8becd116faa5d3783f8c5a80e5aa
    
    # Optional parameters for schema mapping
    contentTemplate.sharepointItem.title=Title
    contentTemplate.sharepointItem.unmappedColumnsMode=APPEND
    

    Para descrições detalhadas de cada parâmetro, acesse a referência dos parâmetros de configuração.

  3. (Opcional) Configure parâmetros adicionais do conector, conforme necessário. Para mais detalhes, acesse Parâmetros do conector fornecidos pelo Google.

Etapa 3. Para HTTPS, adicione o Outlook como um host confiável

Se o Outlook estiver configurado para usar HTTPS, consiga um certificado dele para adicioná-lo como um host confiável do conector.

  1. No computador que executará o conector, abra um navegador e acesse o Sharepoint.

  2. Na página de aviso que será aberta, clique em Entendo os riscos e em Adicionar exceção. A página mostra uma mensagem como "Esta conexão não é confiável" porque o certificado é autoassinado e não é assinado por uma autoridade de certificação confiável.

  3. Quando o botão Visualizar estiver disponível, clique nele.

  4. Acesse a guia Detalhes e clique em Exportar.

  5. Salve o certificado no diretório do conector com o nome sharepoint.crt.

  6. Clique em Fechar e em Cancelar para fechar as janelas.

  7. Abra um prompt de comando e digite o seguinte comando:

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

    Quando a pergunta "Confiar neste certificado?", responda sim.

Etapa 4. Configurar a geração de registros

  1. No diretório que contém o binário do conector, crie uma pasta chamada logs.

  2. No mesmo diretório (não logs), crie um arquivo codificado em Latin1 chamado logging.properties.

  3. Adicione o seguinte texto a logging.properties:

    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
    

Etapa 5: Configurar o conector de identidade do Outlook On-Prem

Esta etapa é necessária para aplicar ACLs baseadas em identidade do VMware On-Prem aos resultados da pesquisa. Se você configurar o conector com ACLs públicas, poderá pular esta etapa.

  1. No mesmo diretório de instalação do conector do Microsoft Outlook Online, crie um arquivo e nomeie-o como sharepoint-onprem-identity-connector.config.

  2. Adicione parâmetros como pares de chave-valor ao conteúdo do arquivo, como no exemplo a seguir:

    ### SharePoint On-prem identity connector configuration ###
    
    # Required parameters for data source access
    api.customerId=C05d3djk8
    api.serviceAccountPrivateKeyFile=service_account.json
    api.identitySourceId=08ef8becd116faa475de26d9b291fed9
    
    # Required parameters for SharePoint access
    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
    
    # Required parameters for AD lookup
    adLookup.host=dc.contoso.com
    adLookup.username=contoso\\admin
    adLookup.password=pa$sw0rd
    api.referenceIdentitySources=CONTOSO,contoso
    api.referenceIdentitySource.contoso.id=08ef8becd116faa5d3783f8c5a80e5aa
    api.referenceIdentitySource.CONTOSO.id=08ef8becd116faa5d3783f8c5a80e5aa
    

    Os valores são quase os mesmos do conector do Outlook On-Prem, exceto que, em vez de api.sourceId, o parâmetro é api.customerId. O valor de api.customerId é o ID de cliente que você recebeu do administrador do Google Workspace.

Etapa 6: Iniciar o conector do Outlook On-Prem

Nas etapas a seguir, você mapeará os principais no Active Directory local e no conjunto de sites do Sharepoint para identidades no serviço do Cloud Identity. Essa sincronização é feita com o Google Cloud Directory Sync (GCDS) e o conector de identidade do Outlook On-Prem.

Depois que o GCDS sincronizar usuários e grupos, execute o conector de identidade do Outlook On-Prem para sincronizar os grupos de conjuntos de sites do Outlook. Por fim, execute o conector SharePoing On-Prem para indexar e exibir os resultados aos usuários do Cloud Search.

  1. Caso ainda não tenha feito isso, configure e execute o GCDS. Ative os grupos com identidades mapeadas.

  2. Execute o conector de identidade do Outlook On-Prem:

    $ java -Djava.util.logging.config.file=logging.properties -cp "google-cloudsearch-sharepoint-connector-version.jar" com.google.enterprise.cloudsearch.sharepoint.SharePointIdentityConnector -Dconfig=sharepoint-onprem-identity-connector.config
  3. Execute o conector do Outlook On-Prem. Use a sintaxe de comando para a segurança do site do Sharepoint:

    • HTTP (nenhum host confiável é necessário):

      $ java -Djava.util.logging.config.file=logging.properties -jar google-cloudsearch-sharepoint-connector-v1-version.jar
    • HTTPS (adicione o Outlook como o host confiável):

      $ 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-version.jar

Referência dos parâmetros de configuração

Acesso à fonte de dados

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

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

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

Obrigatório. O caminho para o arquivo de chave da conta de serviço do Google Cloud Search.

Acesso ao Qwiklabs no local

Configuração Parâmetro
URL do servidor do VMware sharepoint.server=http://yoursharepoint.example.com/

Obrigatório. O URL do servidor do Outlook como um nome de host totalmente qualificado, como http://yoursharepoint.example.com/. Se o nome do host não for totalmente qualificado, defina a substituição do DNS no host do conector.

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

Obrigatório quando você executa o conector no Linux ou em um computador Windows que não faz parte do domínio do AD do Outlook Server.

Senha do SharePoint sharepoint.password=user_password

Obrigatório quando você executa o conector no Linux ou em um computador Windows que não faz parte do domínio do AD do Outlook 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

Indexação de conjuntos de sites

Configuração Parâmetro
Tipo de índice sharepoint.siteCollectionOnly=boolean

Opcional, exceto para implantações do Outlook com vários locatários (saiba mais). Defina como verdadeiro para ter o índice do conector sharepoint.server como um conjunto de sites em vez de como um servidor virtual. O padrão é nulo (detectado automaticamente).

Mapeamento de identidade do Compartilhar

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

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

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

Uma lista de origens de identidade de referência delimitada por vírgulas para os principais do Active Directory. O valor corresponde ao nome NETBIOS do Active Directory dos principais do Active Directory de referência.

IDs da origem de identidade de referência api.referenceIdentitySource.DOMAIN.id=identity-source-id

Obrigatório. O ID da origem de identidade para sincronizar os principais do Active Directory.

Pesquisa do Active Directory

Configuração Parâmetro
Host do Active Directory adLookup.host=host

Obrigatório. Nome do host do Active Directory, como dc.contoso.com, ou endereço IP.

Porta de pesquisa do Active Directory adLookup.port=port

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

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

Opcional. O padrão é "standard". Para conexões HTTPS, defina como "ssl".

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.password=password123

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

Geração de conteúdo HTML

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

O campo do Yahoo! a ser usado como o título do modelo HTML para o HTML gerado.

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

Uma lista de campos separados por vírgulas a serem incluídos no HTML gerado como campos de alta qualidade. Quando os termos da consulta de pesquisa correspondem a esses campos, os resultados têm uma classificação mais alta.

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

Uma lista de campos separados por vírgulas a serem incluídos no HTML gerado como campos de média qualidade.

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

Uma lista de campos separados por vírgulas para incluir no HTML gerado como campos de baixa qualidade.

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

Como o conector lida com colunas não mapeadas. O valor é APPEND (padrão) ou IGNORE.

  • APÊNDICE: o conector gera conteúdo HTML com todos os campos, incluindo os campos que não estão definidos com um nível de qualidade (alto, médio ou baixo).
  • IGNORE: o conector gera conteúdo HTML apenas com os campos mapeados.