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 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

Antes de implantar o conector dos sistemas de arquivos, leia as considerações a seguir.

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) quando é iniciado. Quando o sistema de arquivos informa mudanças no conteúdo ou nos controles de acesso, o conector rastreia novamente o sistema de arquivos. Essa nova rastreamento pode exigir muitos recursos. Para desativar o monitoramento, defina fs.monitorForUpdates como false. Isso reduz o uso de recursos, mas atrasa o momento em que o conector reflete as mudanças. Saiba mais

Controle de acesso DFS

O sistema DFS aplica controle de acesso aos links. Normalmente, cada link DFS tem sua própria ACL. O DFS usa a Enumeração com base no acesso (ABE) para restringir os links retornados a um usuário. Os usuários podem ver apenas um subconjunto de links DFS ou apenas um link quando a ABE isola os diretórios iniciais. Ao transferir um sistema DFS, o conector respeita a ACL do link DFS e a ACL de compartilhamento do destino. A ACL de compartilhamento herda da ACL do DFS.

Limitações conhecidas

Esta seção lista as limitações conhecidas do conector do sistema de arquivos.

  • Sistema de arquivos: o conector não é compatível com unidades mapeadas ou locais.
  • Sistema de arquivos distribuído: um drive mapeado para um DFS UNC não funciona corretamente, e algumas ACLs podem não ser lidas corretamente.
  • O conector é compatível com namespaces e links DFS, mas não com pastas regulares no namespace DFS.
  • Os links de arquivos em cloudsearch.google.com ou retornados pela API Query não podem ser clicados na maioria dos navegadores.

Requisitos do sistema

Antes de implantar o conector dos sistemas de arquivos, verifique se a máquina host atende aos seguintes requisitos:

Requisitos do sistema
Sistema operacional
  • Windows Server 2016
  • Windows Server 2012
  • Windows Server 2008 R2
Software
  • Java JRE 1.8 instalado no computador que executa o conector
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 2.0, NFS 3.0 ou sistemas de arquivos locais do Linux.

Implantar o conector

Siga estas etapas para implantar o conector dos sistemas de arquivos.

Pré-requisitos

Antes de implantar o conector, verifique se o ambiente tem estes componentes:

Permissões necessárias da conta do Microsoft Windows

A conta do Windows que executa o conector precisa ter permissões para:

  • Listar conteúdo da pasta.
  • Ler o conteúdo do documento.
  • Ler atributos de arquivos e pastas.
  • Permissões de leitura (ACLs) para arquivos e pastas.
  • Gravar atributos básicos.

A associação a um desses grupos geralmente concede permissões suficientes: administradores, usuários avançados, operadores de impressão ou operadores de servidor.

Etapa 1. Instalar o conector

Faça o download ou clone o repositório do conector no GitHub e crie o pacote do conector.

  1. Extraia e crie o repositório do conector do GitHub.

    Para usar o git no servidor Windows:

    > git clone https://github.com/google-cloudsearch/windows-filesystems-connector.git
    > cd windows-filesystems-connector
    > git checkout tags/v1-0.0.3

    Para fazer o download direto:

    1. Acesse windows-filesystems-connector.
    2. Clique em Clonar ou fazer o download > Fazer o download do ZIP.
    3. Descompacte o pacote e mova para o diretório.
  2. Crie o conector usando o Apache Maven:

    > mvn package
    Para pular testes, use mvn package -DskipTests.

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

    > 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. Crie o arquivo de configuração

Depois de instalar o conector, crie um arquivo de configuração com as configurações dele.

  1. No diretório do conector, crie um arquivo chamado connector-config.properties.
  2. Adicione parâmetros como pares de chave-valor. Exemplo:

    # Required parameters
    api.serviceAccountPrivateKeyFile=/path/to/file.json
    api.sourceId=0123456789abcde
    api.identitySourceId=a1b1c1234567
    
    # File system access
    fs.src=\\\\host\\share;\\\\dfshost\\dfsnamespace
    
    # Optional parameters
    traverse.abortAfterExceptions=500
    fs.monitorForUpdates = true
    fs.preserveLastAccessTime = IF_ALLOWED
    

    Consulte a Referência dos parâmetros de configuração para parâmetros específicos do sistema de arquivos. Para uma lista de parâmetros comuns usados por todos os conectores do Cloud Search, consulte Parâmetros de conector fornecidos pelo Google.

Etapa 3. Ativar a geração de registros

Crie um diretório para registros e um arquivo de configuração de geração de registros.

  1. Crie uma pasta chamada logs no diretório do conector.
  2. Crie um arquivo chamado logging.properties com este 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

O conector tenta detectar tipos de mídia de arquivo usando o mecanismo padrão dele, que, no Windows, depende de entradas de registro. Se uma entrada de registro para uma extensão de arquivo estiver ausente, o conector poderá não detectar o tipo de mídia corretamente. Se os tipos de mídia não forem detectados corretamente ou se você quiser substituir o tipo padrão de uma extensão, siga estas etapas:

  1. Crie um arquivo chamado mime-type.properties no diretório do conector.
  2. Insira extensões e tipos como extension=media/type: properties 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

Inicie o conector 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]

Por padrão, o conector procura um arquivo de configuração chamado connector-config.properties no diretório em que o conector é executado. Se o arquivo de configuração tiver um nome diferente ou estiver em outro diretório, use o parâmetro -Dconfig para especificar o caminho dele.

Referência dos parâmetros de configuração

As tabelas a seguir listam e descrevem os parâmetros usados para configurar o conector de sistemas de arquivos.

Acesso à fonte de dados

Configuração Parâmetro
ID da origem de dados api.sourceId=1234567890abcdef

Obrigatório. O ID da origem do Cloud Search.

Conta de serviço api.serviceAccountPrivateKeyFile=./PrivateKey.json

Obrigatório. O caminho para o arquivo de chave da conta de serviço.

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 Active Directory usando o GCDS.

Acesso ao sistema de arquivos

Use esses parâmetros para especificar as origens do sistema de arquivos a serem rastreadas.

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

Use esses parâmetros para ajustar como o conector rastreia sistemas de arquivos.

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 rastrear arquivos ocultos. O 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), o conector rastreia novamente de forma automática quando há mudanças no conteúdo ou nos controles de acesso. Definir como false reduz o uso de recursos, mas atrasa a rapidez com que as mudanças são refletidas nos resultados da pesquisa.

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

Use esses parâmetros para especificar como o conector processa a preservação de carimbos de data/hora.

Configuração Parâmetro
Preservar o horário de acesso fs.preserveLastAccessTime=value

Ao rastrear arquivos e pastas, o conector pode mudar o carimbo de data/hora do último acesso para o horário do rastreamento. Se os horários do último acesso não forem preservados, os sistemas de backup e arquivamento poderão não mover os arquivos e pastas adequados para o armazenamento secundário porque o conector os acessou.

Por padrão, fs.preserveLastAccessTime é definido como ALWAYS, o que significa que o conector tenta preservar a hora do último acesso. Se a conta de usuário que executa o conector não tiver privilégios para gravar atributos de arquivo, o conector não poderá restaurar a hora do último acesso. Se estiver definido como ALWAYS e o conector não puder preservar a hora do último acesso, ele vai rejeitar solicitações de rastreamento para o sistema de arquivos para não alterar os carimbos de data/hora dos arquivos.

Os valores possíveis incluem:

  • ALWAYS: o conector tenta preservar a hora do último acesso ao rastrear arquivos e pastas. Se não for possível 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 carimbos de data/hora.
  • 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/hora não são preservados.
  • NEVER: o conector não tenta preservar a hora do último acesso.
Rastrear apenas arquivos acessados após uma determinada data fs.lastAccessedDate=YYYY-MM-DD

Rastrear conteúdo somente se o último acesso for posterior à data especificada (AAAA-MM-DD, formato ISO8601). O padrão é disabled. Por exemplo, 2010-01-01 rastreia conteúdo acessado após o início de 2010. Não pode ser usado com 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 sido feito dentro do número especificado de dias a partir da data atual. O padrão é disabled. Útil para expirar conteúdo antigo, por exemplo, 365 rastreia o conteúdo acessado no último ano. Não pode ser usado com fs.lastAccessedDate.

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

Rastrear conteúdo somente se a última modificação tiver sido feita após a data especificada (AAAA-MM-DD, formato ISO8601). O padrão é disabled. Por exemplo, 2010-01-01 rastreia conteúdo modificado após o início de 2010. Não pode ser usado com fs.lastModifiedDays.

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

Rastreie o conteúdo somente se o horário da última modificação estiver dentro do número especificado de dias a partir da data atual. O padrão é disabled. Útil para expirar conteúdo antigo, por exemplo, 365 rastreia o conteúdo modificado no último ano. Não pode ser usado com fs.lastModifiedDate.

Ignorar ACLs de compartilhamento de arquivos

É possível definir o conector para ignorar as ACLs de compartilhamento se ele não tiver permissões para lê-las. O conteúdo é retornado com uma ACL de compartilhamento permissiva.

Configuração Parâmetro
Ignorar ACLs de compartilhamento fs.skipShareAccessControl=boolean

Defina como true para ignorar as ACLs de compartilhamento. O padrão é false.