É 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 local para o Google Cloud Search e o configura para acessar uma origem de dados específica do SharePoint.
Considerações importantes
Configurações do SharePoint aceitas
O conector do SharePoint local para 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.
Também é possível configurar o conector para limitar os resultados com base no acesso à conta do usuário. É possível usar principais do Google e externos para definir ACLs. 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 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 os grupos mapeados por identidade. Para sincronizar grupos locais do SharePoint, use o conector de identidade do SharePoint.
O conector também precisa executar uma pesquisa com o AD para buscar mais informações e sincronizar os participantes. 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.
- Mapeie um sAMAccountName de usuário para o endereço de e-mail para membros do grupo local do SharePoint.
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.Para mapear os nomes das propriedades do SharePoint para definições de propriedade, o conector normaliza os nomes das propriedades decodificando caracteres codificados em hexadecimal e removendo os prefixos "ows_", além de excluir caracteres não aceitos (todos os caracteres, exceto A-Z, a-z e 0-9 como caracteres válidos).
Processamento de mensagens do Microsoft Outlook
Quando o conector encontra arquivos .msg do Microsoft Outlook ao indexar conteúdo, ele substitui o tipo de mídia dos arquivos e os indexa como application/vnd.ms-outlook.
Configurações multilocatário
Se o SharePoint for uma implantação de vários locatários, em que vários sites de clientes são hospedados no mesmo aplicativo da Web, será necessário configurar o modo de conjunto de sites no arquivo de configuração. Em implantações multisseções, você recebe permissões apenas para o conjunto de sites e não pode ter permissões de acesso completo de leitura, conforme exigido pelo conector do SharePoint local.
Para ativar o modo de conjunto de sites:
- Conceda permissões de administrador do conjunto de sites à conta de usuário do conector.
- Defina
sharepoint.server
no arquivo de configuração do conector como o URL da coleção de sites, por exemplo,http://sharepoint.example.com/sites/sitecollection
. O URL não precisa usar o mesmo caso do SharePoint. - Defina
sharepoint.siteCollectionOnly
no arquivo de configuração do conector comotrue
.
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.
Limitações conhecidas do conector
- O tempo que o conector leva para detectar mudanças nos itens dos bancos de dados aumenta com o número de bancos de dados que ele monitora.
- O consumo de memória aumenta com o número de usuários e grupos exclusivos usados em ACLs para cada conjunto de sites.
- É possível configurar o conector com identidades de apenas um domínio do Active Directory.
- Alguns principais do Active Directory e do Windows, como
Everyone
,BUILTIN\Users
eAll Authenticated Users
, não são aceitos. - 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 |
|
Software |
|
Autenticação |
|
Implantar o conector
Pré-requisitos
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.
O administrador do Google Workspace precisa adicionar uma origem de dados à pesquisa. Registre o ID da fonte de dados.
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 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 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.
Configure uma conta de usuário para o conector com permissões de acesso completo de leitura ao aplicativo da Web do SharePoint na política do usuário.
Se o aplicativo da Web do SharePoint não tiver um conjunto de sites raiz, crie um.
Se algum conjunto de sites estiver bloqueado para gravação, faça login no servidor do SharePoint com uma conta que tenha privilégios de administrador e execute o script
PrepareWriteLockedSites.ps1
.Para receber métricas da origem de dados para informar a configuração do conector, faça login no servidor do SharePoint com uma conta que tenha privilégios de administração do farm e execute
diagnose_sp.ps1
.A saída informa o número de aplicativos da Web, documentos e associações a grupos de usuários. Use essas informações para estimar quantas instâncias de conector você precisa, os requisitos de memória e a contagem de documentos.
Etapa 1. Instale o software do conector do SharePoint local para Google Cloud Search
Clone o repositório do conector que está no GitHub.
$ git clone https://github.com/google-cloudsearch/sharepoint-connector.git $ cd sharepoint-connector
Confira se é a versão desejada do conector:
$ git checkout tags/latest_version
Onde:
latest_version
= um valor, comov1-0.0.5
Crie o conector.
$ mvn package
Para pular os testes ao criar o conector, execute
mvn package -DskipTests
em vez demvn package
.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 SharePoint local
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 muitas instâncias do conector, adicione detalhes ao nome para diferenciá-las.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.
(Opcional) Configure outros parâmetros do conector, conforme necessário. Para mais detalhes, acesse Parâmetros do conector fornecidos pelo Google.
Etapa 3. Para HTTPS, 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.
No computador que vai executar o conector, abra um navegador e acesse o SharePoint.
Na página de aviso que aparece, clique em Entendo os riscos e Adicionar exceção. A página mostra uma mensagem como "Esta conexão não é confiável" porque o certificado é autoassinado e não foi assinado por uma autoridade de certificação confiável.
Clique no botão Visualizar quando ele estiver disponível.
Acesse a guia Detalhes e clique em Exportar.
Salve o certificado no diretório do conector com o nome
sharepoint.crt
.Clique em Fechar e em Cancelar para fechar as janelas.
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.
Etapa 4. Configurar a geração de registros
No diretório que contém o binário do conector, crie uma pasta chamada
logs
.No mesmo diretório (não
logs
), crie um arquivo codificado em Latin1 chamadologging.properties
.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 SharePoint local
Essa etapa é necessária para aplicar ACLs baseadas em identidade do SharePoint local aos resultados da pesquisa. Se você configurar o conector com ACLs públicas, pule esta etapa.
No mesmo diretório da instalação do conector do SharePoint Online, crie um arquivo e nomeie-o como
sharepoint-onprem-identity-connector.config
.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 SharePoint local, exceto que, em vez de
api.sourceId
, o parâmetro éapi.customerId
. O valor deapi.customerId
é o ID do cliente que você recebeu do administrador do Google Workspace.
Etapa 6. Iniciar o conector do SharePoint local
Nas etapas a seguir, você vai mapear os principais no Active Directory local e na coleção 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 SharePoint local.
Depois que o GCDS sincronizar usuários e grupos, execute o conector de identidade do SharePoint local para sincronizar os grupos de conjunto de sites do SharePoint. Por fim, execute o conector do SharePoint local para indexar e exibir resultados aos usuários do Cloud Search.
Se ainda não tiver feito isso, configure e execute o GCDS. Ative os grupos com identidades mapeadas.
Execute o conector de identidade do SharePoint local:
$ 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
Execute o conector do SharePoint local. Use a sintaxe de comando para a segurança do site do SharePoint:
HTTP (sem host confiável obrigatório):
$ java -Djava.util.logging.config.file=logging.properties -jar google-cloudsearch-sharepoint-connector-v1-version.jar
HTTPS (adicionar o SharePoint 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 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 local do SharePoint
Configuração | Parâmetro |
URL do servidor do SharePoint | sharepoint.server=http://yoursharepoint.example.com/
Obrigatório. O URL do servidor do SharePoint como um nome de host totalmente qualificado, como http://seusharepoint.example.com/. Se o nome do host não for totalmente qualificado, será preciso definir a substituiçã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
|
Usar a autenticação do ADFS para se conectar ao SharePoint | sharepoint.username=AdaptorUser@yourdomain.com
|
Indexação de coleções de sites
Configuração | Parâmetro |
Tipo de índice | sharepoint.siteCollectionOnly=boolean
Opcional, exceto para implantações multisseções do SharePoint (saiba mais). Defina como verdadeiro para que o conector indexe |
Mapeamento de identidade do SharePoint
Configuração | Parâmetro |
ID da origem de identidade | api.identitySourceId=1234567890abcdef
Obrigatório. ID da origem de identidade para sincronizar grupos locais do SharePoint.O ID da origem do Google Cloud Search configurado pelo administrador do Google Workspace, conforme descrito em Adicionar uma origem de dados à pesquisa. |
Origens de identidade de referência | api.referenceIdentitySources=CONTOSO,contoso
Uma lista delimitada por vírgulas de origens de identidade de referência 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 de 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 especificada por |
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.
|