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 compartilhamentos do Windows especificados. Uma única instância do conector pode aceitar 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 de fs.src no arquivo de configuração do conector) quando é iniciado. Quando o sistema de arquivos informa mudanças no conteúdo ou nos controles de acesso, o conector é acionado para rastrear novamente o sistema de arquivos. Esse recarregamento pode exigir 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 demora para que ele reflita as mudanças. Saiba mais

Controle de acesso DFS

O sistema DFS aplica o controle de acesso aos links e, normalmente, cada link DFS tem a própria ACL. Um dos mecanismos usados pelo DFS é a Enumeração com base no 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 iniciais hospedados. Quando o conector atravessa um sistema DFS, ele respeita a ACL do link DFS e a ACL de compartilhamento do destino, e a ACL de compartilhamento herda a ACL do DFS.

Limitações conhecidas

  • Sistema de arquivos: o conector de 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 de sistemas de arquivos oferece suporte a namespaces e links do Distributed File System (DFS). No entanto, o conector é compatível apenas com links DFS em um namespace DFS, e não com pastas normais nesse namespace.
  • Os links de arquivos retornados em cloudsearch.google.com não são clicáveis. Os links de arquivo retornados pela API Query 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 vai 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)

Sem suporte:sistemas de arquivos locais do Windows, Sun Network File System (NFS) 2.0, Sun Network File System (NFS) 3.0 ou sistema de arquivos local do 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 de conta do Microsoft Windows necessárias

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 exigidas pelo 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. Baixe o repositório do conector do 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 Fazer o download do ZIP.
    3. Descompacte o pacote.
    4. Acesse o novo diretório:
      > cd windows-filesystems-connector
  2. Crie o conector. Se necessário, instale o Apache Maven.

    > mvn package

    Para pular os 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 e nomeie-o como 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 saber mais, 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 de arquivos. Uma entrada de registro ausente pode resultar em um tipo de mídia nulo para determinados arquivos.

Se necessário, você pode especificar um tipo de mídia que sobrescreve todas as vinculações existentes ou impede um tipo de mídia nulo.

  1. No diretório do conector, crie um arquivo criptografado em Latin-1 com o nome 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 de sistemas de arquivos

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

> 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 as identidades do diretório ativo 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, será possível definir um delimitador diferente, como uma vírgula (","), que não entre em conflito com caracteres nos seus caminhos e não esteja reservado pela própria sintaxe do arquivo de propriedades.

Se o valor de fs.src.separator for uma string vazia, o valor de 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 pelo Cloud Search. Especifique como um único nome de domínio NetBIOS do Active Directory.

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

Uma lista delimitada por vírgulas de contas a serem incluídas 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 é excluída das ACLs.

O valor padrão é BUILTIN\\

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

Defina como true para permitir que o conector rastreie arquivos e pastas ocultos. Nos sistemas de arquivos do Windows, um arquivo ou pasta é considerado oculto se o atributo oculto do 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), o conector cria um objeto CONTAINER_ITEM ao rastrear uma pasta. Quando definido como "false", o conector cria um objeto VIRTUAL_CONTAINER_ITEM.

Ativar o monitoramento de mudanças no sistema de arquivos fs.monitorForUpdates=boolean

Quando definido como true (padrão), as mudanças no conteúdo ou nos controles de acesso fazem com que o conector seja rastreado novamente. Ao desativar o monitoramento (definido como false), você reduz significativamente o uso de recursos do conector, mas o conector demora para refletir as mudanças.

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, o que normalmente consome de 10 a 15 megabytes de RAM.

Preservação de carimbos 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 mudar o carimbo de data/hora do último acesso dos arquivos e pastas para o horário do rastreamento. Quando os horários dos últimos acessos 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 último horário de acesso (fs.preserveLastAccessTime definido como ALWAYS). O conector pode não conseguir restaurar o último horário de acesso do arquivo quando o usuário de travessia não tem privilégios suficientes para gravar atributos de arquivo. Quando definido como ALWAYS, o conector rejeita as solicitações de rastreamento do sistema de arquivos para não alterar os carimbos de data/hora do último 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 consegue preservar a hora do último acesso, ele rejeita 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 rastreando mesmo quando alguns carimbos de data e hora não são preservados.
  • NEVER: o conector não tenta preservar a hora do último acesso ao rastrear arquivos e pastas.
Rastrear apenas arquivos acessados após uma determinada data fs.lastAccessedDate=YYYY-MM-DD

Rastreie o conteúdo somente se o último 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 só vai rastrear o conteúdo acessado após o início de 2010.

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

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

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

Use essa propriedade para expirar o conteúdo indexado anteriormente que não foi acessado por algum tempo. Por exemplo, defina como 365 para rastrear o conteúdo somente se ele foi acessado no último ano.

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

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

Rastreia o conteúdo somente se a data da última modificação for posterior à 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 só vai rastrear o conteúdo que foi modificado após o início de 2010.

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

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

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

Use essa propriedade para expirar o conteúdo indexado anteriormente que não foi modificado por algum tempo. Por exemplo, defina como 365 para rastrear o conteúdo somente se ele foi modificado no último ano.

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

Ignorar o controle de acesso do compartilhamento de arquivos

Por padrão, o conector preserva a integridade do controle de acesso ao enviar listas de controle de acesso (ACLs) para a API Indexing, incluindo as ACLs no compartilhamento de arquivos. No entanto, em algumas configurações, o conector pode não ter permissões suficientes para ler a ACL de compartilhamento. Nesses casos, o conector não retorna nenhum arquivo mantido nesse compartilhamento nos resultados da pesquisa.

É possível definir o conector para ignorar a ACL de compartilhamento para que o conteúdo seja sempre 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
Ignorar 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.