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. Use o conector dos sistemas de arquivos do Google Cloud Search e o configure para acessar compartilhamentos do Windows especificados. 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 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 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 ele reflete as alterações. Saiba mais

Controle de acesso DFS

O sistema DFS aplica o controle de acesso aos links e, geralmente, cada link DFS tem sua própria ACL. Um mecanismo que o DFS usa é a Enumeração com base em acesso (ABE), que pode restringir os links do DFS retornados a um usuário. Os usuários podem obter apenas um subconjunto dos Links DFS ou até mesmo um link quando a ABE isolar os diretórios principais hospedados. Quando o conector transfere um sistema DFS, o conector respeita a ACL do link DFS e a ACL de compartilhamento do alvo, e a ACL de compartilhamento herda da 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 sistema de arquivos distribuído (DFS, na sigla em inglês). No entanto, o conector é compatível apenas com links DFS em um namespace DFS, e não com as pastas normais no namespace DFS.
  • Os links de arquivos retornados em cloudsearch.google.com não são clicáveis. Os links de arquivo 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 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 o 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 componentes de pré-requisito a seguir:

Permissões de conta necessárias 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 Windows Server:

    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 no 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. Mova 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 e dê a ele o nome connector-config.properties.

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

    ### 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 de 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 para 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 dos 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 substitua as vinculações existentes ou impeça um tipo de mídia nulo.

  1. No diretório do conector, crie um arquivo criptografado por 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 de 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 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 tiverem 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 sintaxe do arquivo de propriedade.

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

Obrigatório para permitir que os usuários configurados com o GCDS acessem documentos por meio do 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 de contas delimitadas por vírgulas a serem incluídas nas ACLs, independentemente de serem ou não 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 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 uma 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, ele 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 definido como true (padrão), as mudanças no conteúdo ou nos controles de acesso acionam o conector para rastrear novamente. Ao desativar o monitoramento (definido como false), você reduz significativamente o uso de recursos do conector, mas atrasa quando ele 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 ocultas.

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

Preservação de 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 último carimbo de data/hora de acesso dos arquivos e pastas para o horário do rastreamento. Quando os horários do último acesso não são preservados, os sistemas de backup e arquivamento não movem arquivos e pastas apropriados para o armazenamento secundário devido à visita do conector.

Por padrão, o conector tenta preservar a hora do último acesso (fs.preserveLastAccessTime definido como ALWAYS). O conector talvez não consiga restaurar o último horário de acesso do arquivo quando o usuário de transferência não tiver privilégios suficientes para gravar atributos do arquivo. Quando definido como ALWAYS, o conector rejeita solicitações de rastreamento do sistema de arquivos para que ele não altere 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 o horário 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 não são preservados.
  • NEVER: o conector não tenta preservar a hora do último acesso ao rastrear arquivos e pastas.
Rastrear somente arquivos que foram acessados após uma determinada data fs.lastAccessedDate=YYYY-MM-DD

Rastrear conteúdo somente se o último tempo de acesso for posterior à data especificada. O valor padrão é disabled.

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

Se você especificar fs.lastAccessedDate, não vai 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 tempo de 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 é acessado há algum tempo. Por exemplo, defina como 365 para rastrear conteúdo somente se ele tiver sido acessado no último ano.

Se você especificar fs.lastAccessedDays, não vai 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 01/01/2010, o conector só rastreará o conteúdo que foi modificado após o início de 2010.

Se você especificar fs.lastModifiedDate, não vai 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 anterior ao presente. O valor padrão é disabled.

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

Se você especificar fs.lastModifiedDays, não vai 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 ao enviar ACLs para a API de indexação, 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 os arquivos mantidos nesse compartilhamento nos resultados da pesquisa.

É possível configurar 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
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.