Implantar o conector do Microsoft SharePoint Online

É possível configurar o Google Cloud Search para retornar resultados do conteúdo do SharePoint Online da sua organização, além do conteúdo do Google Workspace. Use o conector do SharePoint Online com o Cloud Search e configure-o para acessar uma origem de dados específica do SharePoint Online.

Considerações importantes

Antes de implantar o conector do SharePoint Online, confira as considerações a seguir.

Configurações do SharePoint respeitadas

O conector sempre respeita a configuração Visibilidade da pesquisa no SharePoint. Para documentos de rascunho, as permissões na conta de usuário que o conector usa para acessar o SharePoint Online controlam quais documentos de rascunho ele indexa e retorna. Se a conta tiver apenas permissões de "Leitura completa", o conector vai respeitar as configurações de "Visibilidade do item de rascunho".

Você também configura o conector para limitar os resultados com base no acesso à conta de usuário. Para aplicar o corte de segurança, sincronize essas identidades externas com o Google Cloud Directory:

  • Usuários do Office 365 / Azure AD.
  • Grupos de segurança do Office 365 / Azure AD.
  • Grupos do SharePoint (com usuários e grupos do Office 365 como membros).

Otimização da pesquisa

Melhore a experiência de pesquisa configurando o conector para retornar resultados relevantes. Use parâmetros de geração de HTML no arquivo de configuração para definir níveis de impacto de campo.

Para configurar um esquema, consulte Criar e registrar um esquema. Ao configurar um esquema:

  • O conector normaliza os tipos de conteúdo do SharePoint para nomes de definição de objeto válidos (A-Z, a-z, 0-9). Por exemplo, "Artigo de notícias" vira "NewsArticle".
  • Se o conector não conseguir corresponder a uma definição de objeto, ele usará o tipo de objeto de fallback (itemMetadata.objectType). Consulte Parâmetros de configuração de metadados.
  • O conector mapeia nomes de propriedades do SharePoint nas definições de propriedade.
  • O conector substitui o tipo de mídia dos arquivos .msg do Microsoft Outlook e os indexa como application/vnd.ms-outlook.

Limitações conhecidas do conector

  • Cada instância do conector indexa conteúdo de apenas um conjunto de sites. Para indexar vários conjuntos de sites, configure outras instâncias.
  • O consumo de memória aumenta com o número de usuários e grupos exclusivos em ACLs.
  • As notificações de exclusão podem levar mais de quatro horas para serem propagadas.

Requisitos do sistema

Requisitos do sistema
Sistema operacional Windows Server 2016, Ubuntu, Red Hat Enterprise Linux 5.0 ou SUSE Enterprise Linux 10 (64 bits).
Autenticação Autenticação on-line.
Software Ambiente do SharePoint Online; Java JRE 1.8.

Implantar o conector

Siga estas etapas para implantar o conector do SharePoint Online.

Pré-requisitos

  1. Crie uma chave privada do Google Workspace. Consulte Configurar o acesso à API Cloud Search.
  2. Adicione uma origem de dados para pesquisar e registre o ID dela. Consulte Adicionar uma origem de dados para pesquisar.
  3. Para resultados baseados em ACLs, o administrador precisa criar duas origens de identidade (uma para o Office 365 e outra para grupos do SharePoint) e fornecer o ID do cliente do Google Workspace. Consulte Mapear identidades de usuários.
  4. Configure uma conta de usuário para o conector com privilégios de administrador do conjunto de sites do SharePoint Online.
  5. Crie credenciais de aplicativo do Azure Active Directory com permissões Group.Read.All e User.Read.All. Anote o ID do aplicativo, o locatário e a chave secreta do cliente.

Etapa 1. Instalar o software do conector

  1. Clone o repositório:
    $ git clone https://github.com/google-cloudsearch/sharepoint-connector.git
    $ cd sharepoint-connector
  2. Confira a versão selecionada (por exemplo, v1-0.0.3):
    $ git checkout tags/v1-0.0.3
  3. Crie o conector:
    $ mvn package
    Para pular testes, use mvn package -DskipTests.
  4. Extraia o arquivo ZIP para o diretório de instalação.

Etapa 2. Crie o arquivo de configuração

Crie sharepoint-online-connector.config no diretório de instalação. Adicione parâmetros como pares de chave-valor, conforme mostrado no exemplo a seguir:

api.sourceId=08ef8becd116faa4546b8ca2c84b2879
api.serviceAccountPrivateKeyFile=service_account.json
sharepoint.server=https://mydomain.onmicrosoft.com
sharepoint.siteCollectionOnly=true
sharepoint.username=admin@mydomain.onmicrosoft.com
sharepoint.password=password
sharepoint.formsAuthenticationMode=LIVE
sharepoint.deploymentType=ONLINE
api.identitySourceId=08ef8becd116faa475de26d9b291fed9
api.referenceIdentitySources=defaultIdentitySource
api.referenceIdentitySource.defaultIdentitySource.id=08ef8becd116faa5d3783f8c5a80e5aa

Consulte a referência ou os parâmetros fornecidos pelo Google para mais detalhes.

Etapa 3. Configurar a geração de registros

Crie uma pasta logs e um arquivo logging.properties com este 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

Etapa 4. Configurar o conector de identidade do SharePoint

Para aplicar ACLs baseadas em identidade, crie sharepoint-online-identity-connector.config com seu api.customerId e outros parâmetros de conexão, como no exemplo a seguir:

```properties
### SharePoint Online identity connector configuration ###
# Required parameters for data source access
api.customerId=C05d3djk8
api.serviceAccountPrivateKeyFile=service_account.json

# Required parameters for SharePoint Online access
sharepoint.server=https://mydomain.onmicrosoft.com
sharepoint.siteCollectionOnly=true
sharepoint.username=admin@mydomain.onmicrosoft.com
sharepoint.password=pa$sw0rd
sharepoint.formsAuthenticationMode=LIVE
sharepoint.deploymentType=ONLINE

# SharePoint identity mapping parameters
api.identitySourceId=08ef8becd116faa475de26d9b291fed9
api.referenceIdentitySources=defaultIdentitySource
api.referenceIdentitySource.defaultIdentitySource.id=08ef8becd116faa5d3783f8c5a80e5aa
```

Etapa 5. Instalar o conector de identidade do Office 365

Se você estiver usando ACLs baseadas em identidade do SharePoint Online, siga esta etapa. Se você estiver usando ACLs públicas, pule esta etapa.

  1. Clone o repositório do Office 365:

    $ git clone https://github.com/google-cloudsearch/office-365-connector.git
    $ cd office-365-connector
    
  2. Confira e crie o conector usando mvn package.

  3. Extraia o arquivo ZIP para o diretório de instalação.

Etapa 6: Configurar o conector de identidade do Office 365

  1. No mesmo diretório da instalação do conector de identidade, crie um arquivo chamado o365-identity-connector.config e adicione parâmetros como pares de chave-valor:

    ### Office 365 Identity connector configuration ###
    api.identitySourceId=<var>12345abcde</var>
    api.customerId=<var>abcde12345</var>
    o365.clientId=<var>a63c6eb3-29e7-486</var>
    o365.tenant=<var>185ef9ed-29e7-486</var>
    o365.clientSecret=<var>raHJN15vRLBKs</var>
    

    Para descrições de parâmetros, consulte Conector de identidade do Office 365.

  2. No mesmo diretório, crie uma pasta chamada logs.

  3. No mesmo diretório, crie um arquivo chamado logging.properties com este conteúdo:

       handlers = java.util.logging.ConsoleHandler,java.util.logging.FileHandler
       # Default log level
       .level = INFO
       # uncomment line below to increase logging level for Office 365 APIs
       #com.google.enterprise.cloudsearch.o365.level=FINE
    
       # uncomment line below to increase logging level to enable Google API traces
       #com.google.api.client.http.level = FINE
       java.util.logging.ConsoleHandler.level = INFO
       java.util.logging.FileHandler.pattern=logs/connector-o365.%g.log
       java.util.logging.FileHandler.limit=10485760
       java.util.logging.FileHandler.count=10
       java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter
    

Etapa 7: Iniciar o conector

Depois de configurar os conectores, execute-os para iniciar a sincronização e a indexação. Execute cada comando na própria janela de terminal.

  1. Execute o conector de identidade do Office 365 para sincronizar usuários e grupos:

    $ java -Djava.util.logging.config.file=logging.properties -jar google-cloudsearch-office-365-connector-v1-0.0.3.jar -Dconfig=o365-identity-connector.config
    
  2. Execute o conector de identidade do SharePoint Online para sincronizar os grupos de conjuntos de sites:

    $ java -Djava.util.logging.config.file=logging.properties -jar google-cloudsearch-sharepoint-connector-v1-0.0.3.jar -Dconfig=sharepoint-online-identity-connector.config
    
  3. Execute o conector do SharePoint Online para indexar o conteúdo:

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

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

As seções a seguir listam os parâmetros de configuração usados para configurar o conector do SharePoint Online.

Acesso à fonte de dados

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

Obrigatório. O ID da fonte 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 SharePoint Online

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

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

Modo "Somente conjunto de sites" sharepoint.siteCollectionOnly=true

Obrigatório. Para o SharePoint Online, defina o valor true.

Nome de usuário do SharePoint sharepoint.username=username

Obrigatório. O nome de usuário da conta usada para acessar o SharePoint Online.

Senha do SharePoint sharepoint.password=user_password

Obrigatório. A senha da conta usada para acessar o SharePoint Online.

Modo de autenticação sharepoint.formsAuthenticationMode=LIVE

Obrigatório. Para o SharePoint Online, o valor é sempre "LIVE".

Tipo de implantação sharepoint.deploymentType=ONLINE

Obrigatório. Para o SharePoint Online, o valor é sempre "ONLINE".

Mapeamento de identidade do SharePoint

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

Obrigatório. O ID da origem de identidade do Cloud Search para a origem de identidade dos grupos do SharePoint.

Origens de identidade de referência api.referenceIdentitySources=defaultIdentitySource

Obrigatório. Para o SharePoint Online, o valor é sempre "defaultIdentitySource".

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

Obrigatório. O ID da origem de identidade do Cloud Search para a origem de identidade de usuários e grupos do Office 365.

Geração de conteúdo HTML

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

O campo do SharePoint a ser usado como 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 separada por vírgulas de campos 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 são classificados mais acima.

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

Uma lista separada por vírgulas de campos a serem incluídos 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,...]

Uma lista separada por vírgulas de campos a serem incluídos 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.

  • APPEND: o conector gera conteúdo HTML com todos os campos, incluindo aqueles 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 campos mapeados.

Configuração do conector de identidade do Office 365

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

Obrigatório. O ID da origem de identidade do Office 365. Esse valor precisa corresponder ao valor de "api.referenceIdentitySource.defaultIdentitySource.id" na configuração do conector do SharePoint Online.

ID de cliente do Google api.customerId=c1b1d1e1

Obrigatório. O ID de cliente do Google Workspace da sua organização.

ID do aplicativo do Office 365 o365.clientId=a63c6eb3-29e7-486

Obrigatório. O ID do aplicativo da configuração do aplicativo do Office 365.

Locatário do Office 365 o365.tenant=185ef9ed-29e7-486

Obrigatório. O locatário da sua conta do Office 365 (seu app do Azure Activity Directory)

Chave secreta do cliente do Office 365 o365.clientSecret=raHJN15vRLBKs

Obrigatório. Chave secreta de credencial da configuração do aplicativo do Office 365