Implementa el conector de sistemas de archivos de Microsoft Windows

Puedes configurar la Búsqueda de Google Cloud para que muestre resultados de los archivos compartidos de Microsoft Windows de tu organización, además de tu contenido de Google Workspace. Usas el conector de sistemas de archivos de Google Cloud Search y lo configuras para acceder a los archivos compartidos de Windows especificados. Una sola instancia de conector puede admitir varios recursos compartidos de Microsoft Windows.

Consideraciones importantes

Actualizaciones automáticas continuas

De forma predeterminada, el conector supervisa de forma continua las rutas de acceso de inicio (valores de fs.src en el archivo de configuración del conector) cuando se inicia. Cuando el sistema de archivos informa cambios en el contenido o los controles de acceso, se activa el conector para volver a rastrear el sistema de archivos. Este rastreo nuevo puede consumir muchos recursos. Para desactivar la supervisión del sistema de archivos, establece fs.monitorForUpdates en false. Reduces significativamente el uso de recursos del conector, pero retrasas el momento en que el conector refleja los cambios. Más información

Control de acceso de DFS

El sistema DFS aplica el control de acceso en sus vínculos y, por lo general, cada vínculo DFS tiene su propia LCA. Un mecanismo que usa DFS es la enumeración basada en el acceso (ABE), que puede restringir los vínculos de DFS que se muestran a un usuario. Es posible que los usuarios solo obtengan un subconjunto de los vínculos de DFS o incluso solo un vínculo cuando la ABE aísle los directorios de página principal alojados. Cuando el conector atraviesa un sistema DFS, respeta la LCA del vínculo de DFS y la LCA de los recursos compartidos del destino, y la LCA de los recursos compartidos hereda la LCA de DFS.

Limitaciones conocidas

  • Sistema de archivos: El conector de sistemas de archivos no es compatible con unidades asignadas o locales.
  • Sistema de archivos distribuidos: Una unidad asignada a un DFS con una UNC no funciona de manera correcta. Algunas LCA no se leen correctamente.
  • El conector de sistemas de archivos admite vínculos y espacios de nombres de sistemas de archivos distribuidos (DFS). Sin embargo, el conector admite vínculos DFS solo en un espacio de nombres DFS, no las carpetas normales.
  • No se puede hacer clic en los vínculos de archivos que se muestran en cloudsearch.google.com. Tampoco se puede hacer clic en los vínculos de archivos que muestra la API de Query en la mayoría de los navegadores.

Requisitos del sistema

Requisitos del sistema
Sistema operativo
  • Windows Server 2016
  • Windows Server 2012
  • Windows Server 2008 R2
Software
  • Java JRE 1.8 instalado en la computadora que ejecutará el conector de sistemas de archivos de Google Cloud Search
Protocolos del sistema de archivos
  • Bloque de mensajes del servidor (SMB) - SMB1
  • Bloque de mensajes del servidor (SMB) - SMB2
  • Sistema de archivos distribuido (DFS)

No se admiten los siguientes sistemas de archivos: Sistema de archivos local de Windows, Sistema de archivos de red de Sun (NFS) 2.0, Sistema de archivos de red de Sun (NFS) 3.0 o Sistema de archivos local de Linux.

Implementa el conector

Requisitos previos

Antes de implementar un conector de sistemas de archivos de Cloud Search, asegúrate de que el entorno tenga todos los siguientes componentes necesarios:

Permisos de la cuenta de Microsoft Windows necesarios

La cuenta de Microsoft Windows en la que el conector se está ejecutando debe tener suficientes permisos para realizar las siguientes acciones:

  • Enumerar el contenido de las carpetas
  • Leer el contenido de los documentos
  • Leer los atributos de los archivos y las carpetas
  • Leer los permisos (LCA) para los archivos y las carpetas
  • Escribir permisos de atributos básicos

La membresía a uno de estos grupos le otorga a una cuenta de Windows los permisos suficientes que necesita el conector:

  • Administradores
  • Power Users
  • Operadores de impresión
  • Operadores de servidor

Paso 1: Instala el conector de sistemas de archivos de Google Cloud Search

  1. Obtén el repositorio del conector desde GitHub y compílalo.

    Para usar git en el servidor de Windows, haz lo siguiente:

    1. Clona el repositorio:

      > git clone https://github.com/google-cloudsearch/windows-filesystems-connector.git
      > cd windows-filesystems-connector
    2. Consulta la versión deseada del conector:

      > git checkout tags/v1-0.0.3

    Para descargar directamente desde GitHub, haz lo siguiente:

    1. Ve a https://github.com/google-cloudsearch/windows-filesystems-connector.
    2. Haz clic en Clonar o descargar Descargar ZIP.
    3. Descomprime el paquete.
    4. Ve al directorio nuevo:
      > cd windows-filesystems-connector
  2. Compila el conector. Si es necesario, instala Apache Maven.

    > mvn package

    Para omitir las pruebas cuando compilas el conector, ejecuta mvn package -DskipTests en lugar de mvn package.

  3. Copia el archivo ZIP del conector en el directorio de instalación 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

Paso 2: Crea el archivo de configuración del conector

  1. En el mismo directorio que la instalación del conector, crea un archivo y asígnale el nombre connector-config.properties.

  2. Agrega parámetros como pares clave-valor al contenido del archivo, como en el siguiente ejemplo:

    ### 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 obtener descripciones detalladas de cada parámetro, consulta la referencia de los parámetros de configuración.

  3. (Opcional) Configura otros parámetros del conector según sea necesario. Para obtener más información, consulta Parámetros de conectores que proporciona Google.

Paso 3: Habilitar registro

  1. Crea una carpeta llamada logs en el directorio que contiene el objeto binario del conector.
  2. Crea un archivo ASCII o UTF-8 llamado logging.properties en el directorio que contiene el objeto binario del conector y agrega el siguiente contenido:

    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
    

Paso 4: Configura los tipos de contenido multimedia (opcional)

De forma predeterminada, el conector intenta detectar el tipo de contenido multimedia de cada archivo con la detección de tipos de contenido multimedia que proporciona JDK. En Microsoft Windows, JDK se basa en el registro de Windows para determinar los tipos de medios de los archivos. Una entrada de registro faltante puede dar como resultado un tipo de media nulo para determinados archivos.

Si es necesario, puedes especificar un tipo de contenido multimedia que reemplace cualquier vinculación existente o evite un tipo de contenido multimedia nulo.

  1. En el directorio del conector, crea un archivo encriptado en Latin-1 llamado mime-type.properties.
  2. Ingresa las extensiones de archivo y sus tipos de medios correspondientes, como en los siguientes ejemplos:

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

Paso 5: Ejecuta el conector de sistemas de archivos

Después de instalar y configurar el conector de sistemas de archivos, para iniciarlo en la máquina host, ejecuta un comando como el siguiente ejemplo:

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

Especifica la ruta de acceso del archivo de configuración si es diferente de la predeterminada (en el mismo directorio que el binario con el nombre connector-config.properties).

Referencia de los parámetros de configuración

Acceso a la fuente de datos

Configuración Parámetro
ID de la fuente de datos api.sourceId=1234567890abcdef

Obligatorio. El ID de la fuente de Google Cloud Search que configura el administrador de Google Workspace

Ruta de acceso al archivo de claves privadas de la cuenta de servicio api.serviceAccountPrivateKeyFile=./PrivateKey.json

Obligatorio. El archivo de claves de la cuenta de servicio de Google Cloud Search para la accesibilidad del conector de sistemas de archivos de Google Cloud Search

ID de la fuente de identidad api.identitySourceId=x0987654321

Obligatorio. El ID de la fuente de identidad de Cloud Search que configura el administrador de Google Workspace para sincronizar las identidades de directorios activos con GCDS

Acceso al sistema de archivos

Configuración Parámetro
Sistemas de archivos fuente fs.src=path1[,path2, ...]

Obligatorio. Especifica los sistemas de archivos de origen como una o más fuentes UNC separadas por el delimitador configurado por fs.src.separator. Si usas caracteres que no están en Latin1, codifícalos con escapes de Java Unicode.

Carácter separador de ruta de acceso

Configuración Parámetro
Carácter separador de ruta de acceso fs.src.separator=separator-character

El separador predeterminado es “;”. Si tus rutas de acceso fuente contienen punto y coma, puedes establecer un delimitador diferente, como una coma (“,”), que no genere conflictos con los caracteres de las rutas de acceso y que no esté reservado por la propia sintaxis del archivo de propiedades.

Si el valor de fs.src.separator es una cadena vacía, el valor de fs.src se trata como una sola ruta de acceso.

Comportamiento del conector

Configuración Parámetro
Dominio de Windows fs.supportedDomain=domain

Obligatorio para permitir que los usuarios que están configurados con GCDS accedan a los documentos a través de Cloud Search. Especifica como un solo nombre de dominio NetBIOS de Active Directory.

Incluye cuentas en las LCA fs.supportedAccounts=account-1[, account-2,...]

Es una lista de cuentas delimitadas por comas que se incluirán en las LCA, independientemente de si son cuentas integradas.

El valor predeterminado es BUILTIN\\Administrators,Everyone,BUILTIN\\Users, BUILTIN\\Guest,NT AUTHORITY\\INTERACTIVE, NT AUTHORITY\\Authenticated Users.

Excluye cuentas integradas de las LCA fs.builtinGroupPrefix=prefix

Especifica el prefijo de las cuentas integradas. Una cuenta que comienza con este prefijo se considera una cuenta integrada y se excluirá de las LCA.

El valor predeterminado es BUILTIN\\.

Permite la indexación de archivos y carpetas ocultos fs.crawlHiddenFiles=boolean

Establece el valor en true para permitir que el conector rastree archivos y carpetas ocultos (en los sistemas de archivos de Windows, un archivo o carpeta se considera oculto si el atributo oculto DOS está configurado). El valor predeterminado es false.

Habilita la indexación de las listas de carpetas rastreadas y las enumeraciones de los espacios de nombres DFS fs.indexFolders=boolean

Cuando se establece en true (predeterminado), el conector crea un objeto CONTAINER_ITEM cuando rastrea una carpeta. Cuando se establece como falso, el conector crea un objeto VIRTUAL_CONTAINER_ITEM.

Habilita la supervisión de cambios del sistema de archivos fs.monitorForUpdates=boolean

Cuando se establece en true (predeterminado), los cambios en el contenido o los controles de acceso activan el rastreo del conector. Cuando desactivas la supervisión (configurada en false), reduces significativamente el uso de recursos del conector, pero retrasas el momento en que el conector refleja los cambios.

Establece el tamaño máximo de la caché de los directorios. fs.directoryCacheSize=number-of-entries

Es el tamaño máximo de la caché de directorios. El conector usa la caché para identificar carpetas ocultas y evitar indexar archivos y carpetas en ellas.

El valor predeterminado es de 50,000 entradas, que suelen consumir entre 10 y 15 megabytes de RAM.

Preservación de marcas de tiempo y control de rastreo

Configuración Parámetro
Conserva la marca de tiempo del último acceso fs.preserveLastAccessTime=value

Cuando el conector rastrea archivos y carpetas, puede cambiar la marca de tiempo del último acceso de los archivos y carpetas a la hora del rastreo. Cuando no se conservan los horarios del último acceso, es posible que los sistemas de archivos y copias de seguridad no muevan los archivos y las carpetas adecuados al almacenamiento secundario debido a la visita del conector.

De forma predeterminada, el conector intenta conservar el horario del último acceso (fs.preserveLastAccessTime establecido en ALWAYS). Es posible que el conector no pueda restablecer el horario del último acceso al archivo cuando el usuario de recorrido no tenga los privilegios suficientes para escribir los atributos del archivo. Cuando se establece en ALWAYS, el conector rechaza las solicitudes de rastreo para el sistema de archivos para que no altere las marcas de tiempo del último acceso de los archivos.

Valores posibles:

  • ALWAYS: El conector intenta conservar el horario del último acceso mientras rastrea archivos y carpetas. La primera vez que el conector no puede conservar el horario del último acceso, rechaza todas las solicitudes de rastreo posteriores para el sistema de archivos con el fin de evitar modificar las marcas de tiempo del último acceso.
  • IF_ALLOWED: El conector intenta conservar el horario del último acceso mientras rastrea archivos y carpetas. Continúa rastreando incluso cuando es posible que no se conserven algunas marcas de tiempo.
  • NEVER: El conector no intenta conservar el horario del último acceso mientras rastrea archivos y carpetas.
Rastrear solo los archivos a los que se accedió después de una fecha determinada fs.lastAccessedDate=YYYY-MM-DD

Rastrea el contenido solo si la hora del último acceso es posterior a la fecha especificada. El valor predeterminado es disabled.

Especifica la fecha en formato ISO8601: AAAA-MM-DD. Por ejemplo, si el valor es 2010-01-01, el conector solo rastrea el contenido al que se accedió después de principios de 2010.

Si especificas fs.lastAccessedDate, tampoco puedes establecer un valor para fs.lastAccessedDays.

Rastrea solo los archivos a los que se accedió en los últimos días fs.lastAccessedDays=number-of-days

Rastrea el contenido solo si la fecha del último acceso está dentro de la cantidad de días anteriores al presente. El valor predeterminado es disabled.

Usa esta propiedad para hacer que venza el contenido indexado con anterioridad al que no se accedió por un tiempo. Por ejemplo, configúralo en 365 para rastrear contenido solo si se accedió a él en el último año.

Si especificas fs.lastAccessedDays, tampoco puedes establecer un valor para fs.lastAccessedDate.

Explorar solo los archivos que se modificaron después de una fecha determinada fs.lastModifiedDate=YYYY-MM-DD

Rastrea el contenido solo si la hora de la última modificación es posterior a la fecha especificada. El valor predeterminado es disabled.

Especifica la fecha en formato ISO8601: AAAA-MM-DD. Por ejemplo, si el valor es 2010-01-01, el conector solo rastrea el contenido que se modificó después de principios de 2010.

Si especificas fs.lastModifiedDate, tampoco puedes establecer un valor para fs.lastModifiedDays.

Rastrea solo los archivos que se modificaron en los últimos días fs.lastModifiedDays=number-of-days

Rastrea el contenido solo si la última hora de modificación está dentro de la cantidad de días anteriores al presente. El valor predeterminado es disabled.

Usa esta propiedad para hacer que venza el contenido indexado con anterioridad que no se modificó por un tiempo. Por ejemplo, configúralo en 365 para rastrear contenido solo si se modificó en el último año.

Si especificas fs.lastModifiedDays, tampoco puedes establecer un valor para fs.lastModifiedDate.

Omite el control de acceso a los archivos compartidos

De forma predeterminada, el conector preserva la integridad del control de acceso cuando envía listas de control de acceso (LCA) a la API de indexación, incluidas las LCA del archivo compartido. Sin embargo, en algunas configuraciones, es posible que el conector no tenga permisos suficientes para leer la LCA de los archivos compartidos. En esos casos, el conector no muestra ningún archivo que se mantenga en ese archivo compartido en los resultados de la búsqueda.

Puedes configurar el conector para que ignore la LCA de uso compartido, de modo que el contenido siempre se muestre en los resultados de la búsqueda. En este caso, la API de indexación obtiene una LCA de recursos compartidos permisiva por completo, en lugar de la LCA de recursos compartidos real.

Configuración Parámetro
Omite el control de acceso a los archivos compartidos fs.skipShareAccessControl=boolean

Establece el valor en false (predeterminado) para aplicar las LCA de uso compartido. Configúralo como true para ignorar las LCA de uso compartido.