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. Você usa o conector do SharePoint Online com o Google Cloud Search e o configura para acessar uma fonte de dados específica do SharePoint Online.

Considerações importantes

Configurações do SharePoint aceitas

O conector do SharePoint Online com o Cloud Search sempre respeita a configuração Visibilidade da pesquisa no SharePoint, 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 SharePoint Online) controlam quais documentos de rascunho são indexados e retornados. Se a conta tiver apenas permissões de "Leitura completa", o conector vai respeitar as configurações de "Visibilidade do item de rascunho" no SharePoint.

Você também configura o conector para limitar os resultados com base no acesso à conta do usuário. Para aplicar cortes de segurança ao conteúdo do SharePoint, sincronize as seguintes identidades externas com o diretório do Google:

  • 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

Você pode melhorar a experiência dos usuários configurando o conector para retornar resultados de pesquisa mais relevantes.

Para usar a API, defina valores para parâmetros de geração de HTML no arquivo de configuração do conector do SharePoint Online. Esses parâmetros permitem 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 SharePoint para as definições de objetos correspondentes, o conector normaliza os nomes dos tipos de conteúdo excluindo caracteres não aceitos. Para definições de objetos, a API Cloud Search aceita apenas caracteres A-Z, a-z e 0-9 como válidos. 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 de uma definição de objeto com outra, ele usa o tipo de objeto de fallback (itemMetadata.objectType). Saiba mais sobre os parâmetros de configuração de metadados.

  • O conector mapeia nomes de propriedades do SharePoint nas definições de propriedade.

  • Quando o conector encontra arquivos .msg do Microsoft Outlook ao indexar conteúdo, ele substitui o tipo de conteúdo dos arquivos e os indexa como application/vnd.ms-outlook.

Limitações conhecidas do conector

  • Cada instância do conector pode indexar conteúdo de apenas um conjunto de sites. Para indexar vários conjuntos de sites, configure outras instâncias do conector.
  • O consumo de memória aumenta com o número de usuários e grupos exclusivos usados em ACLs para cada conjunto de sites.
  • As notificações de exclusão não são instantâneas, e pode levar mais de quatro horas para que um conector reconheça 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)
Autenticação
  • Autenticação em tempo real
Software
  • Ambiente do SharePoint Online
  • Java JRE 1.8 instalado no computador que vai executar o conector do SharePoint Online com o Google Cloud Search

Implantar o conector

Pré-requisitos

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

  2. O administrador do Google Workspace precisa adicionar uma origem de dados à pesquisa. Registre o ID da fonte de dados.

  3. Se o conector retornar resultados com base em ACLs (os resultados não são públicos), o administrador do Google Workspace precisará criar duas origens de identidade e fornecer os IDs delas:

    • uma para usuários e grupos do Office 365
    • um para grupos do SharePoint

    O administrador também precisa fornecer o ID do cliente do Google Workspace da sua organização.

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

  4. Configure uma conta de usuário para o conector com privilégios de administrador do conjunto de sites do SharePoint Online.

  5. Se o conector retornar resultados com base em ACLs (os resultados não são públicos), crie credenciais para ler usuários e grupos da sua conta do Office 365. Siga as instruções da Microsoft para criar um aplicativo do Azure Active Directory. Ao configurar o aplicativo, siga as etapas a seguir:

    1. Dê um nome descritivo a ele, como "gcs-o365-identity-connector".
    2. Adicione permissões. O app precisa de "Group.Read.All" e "User.Read.All".
    3. Registre as seguintes informações para usar na configuração do conector:
      • ID do aplicativo
      • Locatário
      • Chave secreta do cliente

Etapa 1. Instalar o software do conector do SharePoint Online

  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 pular os 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

Etapa 2. Criar o arquivo de configuração do conector do SharePoint Online

  1. No mesmo diretório da instalação do conector, crie um novo arquivo e nomeie-o como sharepoint-online-connector.config. Se você planeja executar muitas instâncias do conector, adicione mais detalhes ao nome para diferenciá-las.

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

    ### SharePoint Online connector configuration ###
    
    # Required parameters for data source access
    api.sourceId=08ef8becd116faa4546b8ca2c84b2879
    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
    
    # Optional SharePoint List Item metadata parameters
    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 outros parâmetros do conector, conforme necessário. Para mais detalhes, acesse Parâmetros do conector fornecidos pelo Google.

Etapa 3. Configurar a geração de registros para o conector do SharePoint Online

  1. Crie uma pasta chamada logs no mesmo diretório que contém o binário do conector.

  2. Crie um arquivo codificado em Latin-1 chamado logging.properties no mesmo diretório e adicione 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
    

Etapa 4. Configurar o conector de identidade do SharePoint Online

Esta etapa é necessária para aplicar ACLs baseadas em identidade do SharePoint Online aos resultados da pesquisa. Se você configurar o conector com ACLs públicas, pule esta etapa.

  1. No mesmo diretório da instalação do conector do SharePoint Online, crie um novo arquivo e nomeie-o como sharepoint-online-identity-connector.config.

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

    ### 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
    

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

Etapa 5. Instalar o conector de identidade do Office 365

Essa etapa é necessária para aplicar ACLs baseadas em identidade do SharePoint Online aos resultados da pesquisa. Se você configurar o conector com ACLs públicas, pule esta etapa.

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

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

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

    $ mvn package

    Para pular os 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-office-365-connector-v1-0.0.3.zip installation-dir
    $ cd installation-dir
    $ unzip google-cloudsearch-office-365-connector-v1-0.0.3.zip
    $ cd google-cloudsearch-office-365-connector-v1-0.0.3

Etapa 6. Configurar o conector de identidade do Office 365 e configurar o registro

  1. No mesmo diretório da instalação do conector de identidade, crie um novo arquivo e nomeie-o como o365-identity-connector.config.

  2. Adicione parâmetros como pares de chave-valor ao conteúdo do arquivo, como no exemplo a seguir. Observação: todos os parâmetros são obrigatórios.

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

    Para descrições detalhadas de cada parâmetro, acesse a referência de configuração do conector de identidade do Office 365.

  3. Crie uma pasta chamada logs no mesmo diretório que contém o binário do conector.

  4. 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 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 do SharePoint Online

Nas etapas a seguir, você vai mapear os principais no Office 365 e na coleção de sites do SharePoint para identidades no serviço do Cloud Identity. Essa sincronização é feita com os conectores de identidade do Office 365 e do SharePoint Online.

Depois que o conector do Office 365 sincronizar os usuários e grupos, execute o conector de identidade do SharePoint Online para sincronizar os grupos de conjuntos de sites do SharePoint. Em seguida, execute o conector do SharePoint Online para indexar e exibir resultados aos usuários do Cloud Search.

  1. Execute o conector de identidade do Office 365:

    $ 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:

    $ java -Djava.util.logging.config.file=logging.properties -cp "google-cloudsearch-sharepoint-connector-v1-0.0.3.jar" com.google.enterprise.cloudsearch.sharepoint.SharePointIdentityConnector -Dconfig=sharepoint-online-identity-connector.config
  3. Execute o conector do SharePoint Online:

    $ 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

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 de domínio não for totalmente qualificado, defina a substituiçã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 para incluir no HTML gerado como campos de alta qualidade. Quando os termos da consulta de pesquisa correspondem a esses campos, os resultados são classificados com uma posição mais alta.

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 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,...]

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

  • APPEND: o conector gera conteúdo HTML com todos os campos, incluindo aqueles que não têm um nível de qualidade definido (alto, médio ou baixo).
  • IGNORE: o conector gera conteúdo HTML com apenas 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 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 Active Directory)

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

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