Implantar o conector dos sistemas de arquivos do Microsoft Windows

Você pode 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 especificados do Windows. 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 ele é 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. Essa nova rastreamento 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 atrasa o momento em que ele reflete as mudanças. Saiba mais

Controle de acesso DFS

O sistema DFS aplica controle de acesso aos links, e geralmente cada link tem sua própria ACL. Um mecanismo usado pelo DFS é a Enumeração com base no acesso (ABE), que pode restringir os links do DFS retornados a um usuário. Os usuários podem receber apenas um subconjunto dos links DFS ou até mesmo um único 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 da ACL do DFS.

Limitações conhecidas

  • Sistema de arquivos: o conector de sistemas de arquivos não é compatível com unidades mapeadas e 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 é compatível com 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 pastas regulares nesse namespace.
  • Os links de arquivos retornados em cloudsearch.google.com não são clicáveis. Os links de arquivos 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)

Não compatível:sistemas de arquivos locais do Windows, NFS (Sun Network File System) 2.0, NFS (Sun Network File System) 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 seu ambiente tem todos os seguintes componentes de pré-requisito:

Permissões necessárias da 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 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. Extraia e crie o repositório do conector no GitHub.

    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 ignorar 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 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 sobrescreva vinculações atuais ou impeça um tipo de mídia nulo.

  1. No diretório do conector, crie um arquivo criptografado em 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 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 fontes 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, defina 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 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 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 de contas separadas por vírgulas 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 incorporadas das ACLs fs.builtinGroupPrefix=prefix

Especifique o prefixo das contas integradas. Uma conta que começa com esse prefixo é considerada uma conta incorporada 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 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 rastreie novamente. Quando você desativa o monitoramento (definido como false), reduz significativamente o uso de recursos do conector, mas atrasa o momento em que ele reflete as mudanças.

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

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

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 mudar o carimbo de data/hora do último acesso para o momento do rastreamento. Quando os horários do último acesso não são preservados, os sistemas de backup e arquivamento podem não mover os arquivos e pastas adequados 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). Ele pode não conseguir restaurar a hora do último acesso do arquivo quando o usuário transversal não tem privilégios suficientes para gravar atributos de 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 em que o conector não conseguir preservar a hora do último acesso, ele vai rejeitar todas as solicitações de rastreamento subsequentes do sistema de arquivos para impedir a alteração dos carimbos de data/hora do último 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

Rastrear conteúdo somente se a data do último 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 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 arquivos que foram acessados no número de dias anterior fs.lastAccessedDays=number-of-days

Rastreia o conteúdo somente se o último acesso tiver ocorrido 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 tiver sido acessado no último ano.

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

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

Rastreia o conteúdo somente se o horário 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 vai rastrear apenas o conteúdo 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 modificados nos últimos dias fs.lastModifiedDays=number-of-days

Rastreia o conteúdo somente se a última modificação tiver sido feita dentro do número de dias antes da data atual. 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.

Você pode definir o conector para ignorar a ACL de compartilhamento e garantir que o conteúdo sempre seja retornado nos resultados da pesquisa. Nesse caso, a API Indexing 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.