Implantar o conector dos sistemas de arquivos do Microsoft Windows

É possível configurar o Google Cloud Search para retornar resultados dos compartilhamentos do Microsoft Windows da sua organização, além do conteúdo do Google Workspace. Você usa o conector dos sistemas de arquivos do Google Cloud Search e o configura para acessar os compartilhamentos especificados do Windows. Uma única instância de conector é compatível com vários compartilhamentos do Microsoft Windows.

Considerações importantes

Atualizações automáticas contínuas

Por padrão, o conector monitora continuamente os caminhos de início (valores a partir de fs.src no arquivo de configuração do conector) quando é iniciado. Quando o sistema de arquivos relata alterações no conteúdo ou nos controles de acesso, o conector é acionado para rastrear novamente o sistema de arquivos. Esse novo rastreamento pode consumir muitos recursos. Para desativar o monitoramento do sistema de arquivos, defina fs.monitorForUpdates como false. Você reduz significativamente o uso de recursos do conector, mas atrasa quando o conector reflete as alterações. Saiba mais

Controle de acesso DFS

O sistema DFS aplica o controle de acesso nos links e geralmente cada link DFS tem sua própria ACL. Um mecanismo usado pelo DFS é a Enumeração baseada em acesso (ABE, na sigla em inglês), que pode restringir os links DFS retornados a um usuário. Os usuários podem receber apenas um subconjunto dos Links DFS ou até mesmo apenas um link quando a ABE isola os diretórios principais hospedados. Quando o conector atravessa um sistema DFS, o conector respeita a ACL do link DFS e a ACL de compartilhamento do destino, que é herdada da ACL do DFS.

Limitações conhecidas

  • Sistema de arquivos: o conector dos sistemas de arquivos não é compatível com unidades mapeadas e unidades locais.
  • Sistema de arquivos distribuído: um drive mapeado para um DFS UNC não funciona corretamente. Algumas ACLs não são lidas corretamente.
  • O conector dos sistemas de arquivos oferece suporte a namespaces e links de sistema de arquivos distribuídos (DFS, na sigla em inglês). No entanto, o conector aceita links DFS somente em um namespace DFS, não nas pastas regulares nesse namespace.
  • Não é possível clicar nos links de arquivos retornados em cloudsearch.google.com. Os links de arquivos retornados pela API de consulta também não são clicáveis na maioria dos navegadores.

Requisitos do sistema

Requisitos do sistema
Sistema operacional
  • Windows Server 2016.
  • Windows Server 2012
  • Windows Server 2008 R2
Software
  • Java JRE 1.8 instalado no computador que executará o conector dos sistemas de arquivos do Google Cloud Search.
Protocolos do sistema de arquivos
  • SMB (Server Message Block) – SMB1
  • SMB (Server Message Block) – SMB2
  • DFS (Distributed File System)

Não compatível:sistemas de arquivos locais do Windows, Sun Network File System (NFS) 2.0, Sun Network File System (NFS) 3.0 ou o sistema de arquivos Local Linux.

Implantar o conector

Pré-requisitos

Antes de implantar o conector dos sistemas de arquivos do Cloud Search, verifique se o ambiente tem todos os seguintes componentes de pré-requisito:

Permissões necessárias de conta do Microsoft Windows

A conta do Microsoft Windows em que o conector está sendo executado precisa ter permissões suficientes para executar as seguintes ações:

  • Listar o conteúdo das pastas
  • Ler o conteúdo dos documentos
  • Ler atributos de arquivos e pastas
  • Permissões de leitura (ACLs) para arquivos e pastas
  • Gravar permissões de atributos básicos.

A associação a um dos seguintes grupos concede a uma conta do Windows as permissões suficientes necessárias para o conector:

  • Administradores
  • Usuários avançados
  • Operadores de impressão
  • Operadores do servidor

Etapa 1. Instalar o conector dos sistemas de arquivos do Google Cloud Search

  1. Acesse o repositório do conector no GitHub e crie-o.

    Para usar o git no servidor Windows:

    1. Clone o repositório:

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

      > git checkout tags/v1-0.0.3

    Para fazer o download diretamente do GitHub:

    1. Acesse https://github.com/google-cloudsearch/windows-filesystems-connector.
    2. Clique em Clonar ou fazer o download Baixar o ZIP.
    3. Descompacte o pacote.
    4. Migre para o novo diretório:
      > cd windows-filesystems-connector
  2. Crie o conector. Se necessário, instale o Apache Maven.

    > mvn package

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

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

    > cp target/google-cloudsearch-windows-filesystems-connector-v1-0.0.3.zip installation-dir
    > cd installation-dir
    > unzip google-cloudsearch-windows-filesystems-connector-v1-0.0.3.zip
    > cd google-cloudsearch-windows-filesystems-connector-v1-0.0.3

Etapa 2: Criar o arquivo de configuração do conector

  1. No mesmo diretório da instalação do conector, crie um arquivo com o nome connector-config.properties.

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

    ### File system connector configuration ###
    
    # Required parameters for Cloud Search data source and identity source access
    api.serviceAccountPrivateKeyFile=/path/to/file.json
    api.sourceId=0123456789abcde
    api.identitySourceId=a1b1c1234567
    
    # Required parameters for file system access
    fs.src=\\\\host\\share;\\\\dfshost\\dfsnamespace;\\\\dfshost\\dfsnamespace\\link
    
    # Optional parameters for file system monitoring
    traverse.abortAfterExceptions=500
    fs.monitorForUpdates = true
    fs.preserveLastAccessTime = IF_ALLOWED
    

    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. Ativar a geração de registros

  1. Crie uma pasta chamada logs no diretório que contém o binário do conector.
  2. Crie um arquivo ASCII ou UTF-8 chamado logging.properties no diretório que contém o binário do conector e adicione o seguinte conteúdo:

    handlers = java.util.logging.ConsoleHandler,java.util.logging.FileHandler
    # Default log level
    .level = WARNING
    com.google.enterprise.cloudsearch.level = INFO
    com.google.enterprise.cloudsearch.fs.level = INFO
    
    # 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-fs.%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. (Opcional) Configurar tipos de mídia

Por padrão, o conector tenta detectar o tipo de mídia de cada arquivo com a detecção de tipo de mídia fornecida pelo JDK. No Microsoft Windows, o JDK depende do registro do Windows para determinar os tipos de mídia para arquivos. Uma entrada de registro ausente pode resultar em um tipo de mídia nulo para determinados arquivos.

Se necessário, especifique um tipo de mídia que substitua quaisquer vinculações existentes ou impeça um tipo de mídia nulo.

  1. No diretório do conector, crie um arquivo com criptografia Latin-1 chamado mime-type.properties.
  2. Insira as extensões de arquivo e os tipos de mídia correspondentes, como nos exemplos a seguir:

    xlsx=application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
    one=application/msonenote
    txt=text/plain
    pdf=application/pdf
    

Etapa 5: executar o conector dos sistemas de arquivos

Depois de instalar e configurar o conector dos sistemas de arquivos, execute um comando como o exemplo a seguir para iniciá-lo na máquina host:

> java -jar google-cloudsearch-windows-filesystems-connector-v1-0.0.3.jar -Djava.util.logging.config.file=logging.properties[ -Dconfig=my.config]

Especifique o caminho do arquivo de configuração se ele for diferente do padrão (no mesmo diretório do binário com o nome connector-config.properties).

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 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 arquivo de chave da conta de serviço do Google Cloud Search para acessibilidade do conector dos sistemas de arquivos do Google Cloud Search.

Código da origem de identidade api.identitySourceId=x0987654321

Obrigatório. O ID da origem de identidade do Cloud Search configurado pelo administrador do Google Workspace para sincronizar identidades do Active Directory usando o GCDS.

Acesso ao sistema de arquivos

Configuração Parâmetro
Sistemas de arquivos de origem fs.src=path1[,path2, ...]

Obrigatório. Especifique os sistemas de arquivos de origem como uma ou mais origens UNC separadas pelo delimitador configurado por fs.src.separator. Se você usar caracteres que não estão no Latin1, codifique-os com escapes Unicode em Java.

Caractere separador de caminho

Configuração Parâmetro
Caractere separador de caminho fs.src.separator=separator-character

O separador padrão é ";". Se os caminhos de origem contiverem ponto e vírgula, você poderá definir um delimitador diferente, como uma vírgula (","), que não entre em conflito com os caracteres nos caminhos e não seja reservado pela própria sintaxe do arquivo de propriedades.

Se o valor fs.src.separator for uma string vazia, o valor fs.src será tratado como um único caminho.

Comportamento do conector

Configuração Parâmetro
Domínio do Windows fs.supportedDomain=domain

Necessário para permitir que os usuários configurados com o GCDS acessem documentos no Cloud Search. Especifique como um nome de domínio NetBIOS único do Active Directory.

Incluir contas nas ACLs fs.supportedAccounts=account-1[, account-2,...]

Uma lista de contas delimitadas por vírgulas para incluir nas ACLs, independentemente de serem contas integradas.

O valor padrão é BUILTIN\\Administrators,Everyone,BUILTIN\\Users, BUILTIN\\Guest,NT AUTHORITY\\INTERACTIVE, NT AUTHORITY\\Authenticated Users

Excluir contas integradas das ACLs fs.builtinGroupPrefix=prefix

Especifique o prefixo das contas integradas. Uma conta que começa com esse prefixo é considerada uma conta integrada e será excluída das ACLs.

O valor padrão é BUILTIN\\

Permitir a indexação de pastas e arquivos ocultos fs.crawlHiddenFiles=boolean

Defina como true para permitir que o conector rastreie arquivos e pastas ocultos (em sistemas de arquivos do Windows, um arquivo ou pasta é considerado oculto se o atributo oculto DOS estiver definido). O valor padrão é false.

Permitir a indexação de listagens de pastas rastreadas e enumerações de namespace DFS fs.indexFolders=boolean

Quando definido como true (padrão), quando o conector rastreia uma pasta, o conector cria um objeto CONTAINER_ITEM. Quando definido como falso, o conector cria um objeto VIRTUAL_CONTAINER_ITEM.

Ativar o monitoramento de alterações do sistema de arquivos fs.monitorForUpdates=boolean

Quando definida como true (padrão), as mudanças no conteúdo ou nos controles de acesso acionam um novo rastreamento do conector. Ao desativar o monitoramento (definido como false), você reduz significativamente o uso de recursos do conector, mas atrasa quando o conector reflete as alterações.

Definir o tamanho máximo do cache dos diretórios fs.directoryCacheSize=number-of-entries

O tamanho máximo do cache do diretório. O conector usa o cache para identificar pastas ocultas e evitar a indexação de arquivos e pastas em pastas ocultas.

O padrão é de 50.000 entradas, que normalmente consomem de 10 a 15 megabytes de RAM.

Preservação do carimbo de data/hora e controle de rastreamento

Configuração Parâmetro
Preservar o carimbo de data/hora do último acesso fs.preserveLastAccessTime=value

Quando o conector rastreia arquivos e pastas, ele pode alterar o carimbo de data/hora do último acesso dos arquivos e pastas para o horário do rastreamento. Quando os últimos horários de acesso não são preservados, os sistemas de backup e arquivamento podem não mover os arquivos e pastas apropriados para o armazenamento secundário devido à visita do conector.

Por padrão, o conector tenta preservar o horário do último acesso (fs.preserveLastAccessTime definido como ALWAYS). Talvez o conector não consiga restaurar a hora do último acesso ao arquivo quando o usuário de travessia não tem privilégios suficientes para gravar atributos do arquivo. Quando definido como ALWAYS, o conector rejeita solicitações de rastreamento para o sistema de arquivos para não alterar os últimos carimbos de data/hora de acesso dos arquivos.

Valores possíveis:

  • ALWAYS: o conector tenta preservar a hora do último acesso ao rastrear arquivos e pastas. Na primeira vez que o conector não puder preservar a hora do último acesso, ele rejeitará todas as solicitações de rastreamento subsequentes do sistema de arquivos para impedir a alteração dos últimos carimbos de data/hora de acesso.
  • IF_ALLOWED: o conector tenta preservar a hora do último acesso ao rastrear arquivos e pastas. Ele continua a rastrear mesmo quando alguns carimbos de data/hora podem não ser preservados.
  • NEVER: o conector não tenta preservar a hora do último acesso, já que rastreia arquivos e pastas.
Rastrear somente arquivos que foram acessados depois de uma determinada data fs.lastAccessedDate=YYYY-MM-DD

Rastrear conteúdo somente se o último horário de acesso for após a data especificada. O valor padrão é disabled.

Especifique a data no formato ISO8601: AAAA-MM-DD. Por exemplo, se o valor for 2010-01-01, o conector rastreará somente o conteúdo acessado após o início de 2010.

Se você especificar fs.lastAccessedDate, também não será possível definir um valor para fs.lastAccessedDays.

Rastrear somente arquivos que foram acessados nos últimos dias fs.lastAccessedDays=number-of-days

Rastrear conteúdo somente se o último horário de acesso estiver dentro do número de dias antes do presente. O valor padrão é disabled.

Use esta propriedade para expirar conteúdos indexados anteriormente que não são acessados há algum tempo. Por exemplo, defina como 365 para rastrear conteúdo apenas se ele tiver sido acessado no último ano.

Se você especificar fs.lastAccessedDays, também não será possível definir um valor para fs.lastAccessedDate.

Rastrear somente arquivos que foram modificados após uma determinada data fs.lastModifiedDate=YYYY-MM-DD

Rastrear conteúdo somente se a hora da última modificação for posterior à data especificada. O valor padrão é disabled.

Especifique a data no formato ISO8601: AAAA-MM-DD. Por exemplo, se o valor for 2010-01-01, o conector rastreará somente conteúdo modificado após o início de 2010.

Se você especificar fs.lastModifiedDate, também não será possível definir um valor para fs.lastModifiedDays.

Rastrear somente arquivos que foram modificados nos últimos dias fs.lastModifiedDays=number-of-days

Rastrear conteúdo somente se o horário da última modificação estiver dentro do número de dias antes do presente. O valor padrão é disabled.

Use esta propriedade para expirar o conteúdo indexado anteriormente que não é modificado há algum tempo. Por exemplo, defina como "365" para rastrear conteúdo apenas se ele tiver sido modificado no último ano.

Se você especificar fs.lastModifiedDays, também não será possível definir um valor para fs.lastModifiedDate.

Ignore o controle de acesso do compartilhamento de arquivos

Por padrão, o conector preserva a integridade do controle de acesso quando envia listas de controle de acesso (ACLs) para a API de indexação, incluindo as ACLs no compartilhamento de arquivos. Em algumas configurações, no entanto, o conector pode não ter permissões suficientes para ler a ACL de compartilhamento. Nesses casos, o conector não retorna os arquivos mantidos nesse compartilhamento de arquivos nos resultados da pesquisa.

É possível configurar o conector para ignorar a ACL de compartilhamento para que o conteúdo sempre seja retornado nos resultados da pesquisa. Nesse caso, a API de indexação recebe uma ACL de compartilhamento completamente permissiva, em vez da ACL de compartilhamento real.

Configuração Parâmetro
Ignore o controle de acesso do compartilhamento de arquivos fs.skipShareAccessControl=boolean

Defina como false (padrão) para aplicar ACLs de compartilhamento. Defina como true para ignorar as ACLs de compartilhamento.