Implementa el conector de sistemas de archivos de Microsoft Windows

Puedes configurar Google Cloud Search para que muestre resultados de los recursos compartidos de Microsoft Windows de tu organización, además del contenido de Google Workspace. Debes usar el conector de sistemas de archivos de Google Cloud Search y configurarlo para acceder a los recursos 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 continuamente las rutas de acceso de inicio (valores de fs.src en el archivo de configuración del conector) cuando se inicia el conector. Cuando el sistema de archivos informa cambios en el contenido o los controles de acceso, el conector se activa para volver a rastrear el sistema de archivos. Este nuevo rastreo puede consumir muchos recursos. Para desactivar la supervisión del sistema de archivos, establece fs.monitorForUpdates en false. Se reduce significativamente el uso de recursos del conector, pero se retrasa cuando el conector refleja los cambios. Más información

Control de acceso de DFS

El sistema DFS aplica el control de acceso a sus vínculos y, por lo general, cada vínculo DFS tiene su propia LCA. Un mecanismo que utiliza DFS es la enumeración basada en el acceso (ABE), que puede restringir los vínculos de DFS que se muestran a un usuario. Los usuarios podrían obtener solo un subconjunto de los vínculos DFS o incluso un solo vínculo cuando ABE aísle los directorios principales alojados. Cuando el conector desvía un sistema DFS, el conector respeta la LCA de vínculo DFS y la LCA de los recursos compartidos de destino, y la LCA de los recursos compartidos hereda de la LCA de DFS.

Limitaciones conocidas

  • Sistema de archivos: El conector de sistemas de archivos no admite unidades asignadas ni locales.
  • Sistema de archivos distribuidos: una unidad asignada a un DFS con una UNC no funciona correctamente. Algunas LCA no se leen correctamente.
  • El conector de sistemas de archivos admite vínculos y espacios de nombres del sistema de archivos distribuido (DFS). Sin embargo, el conector solo admite vínculos DFS en un espacio de nombres DFS, no con las carpetas normales en este espacio.
  • No se puede hacer clic en los vínculos de archivos que se muestran en cloudsearch.google.com. En la mayoría de los navegadores, tampoco se puede hacer clic en los vínculos de archivos que muestra la API de consulta.

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 de sistemas de archivos
  • Bloque de mensajes del servidor (SMB) - SMB1
  • Bloque de mensajes del servidor (SMB) - SMB2
  • Sistema de archivos distribuido (DFS)

No compatible: Sistemas de archivos locales de Windows, Sun Network File System (NFS) 2.0, Sun Network File System (NFS) 3.0 ni sistema de archivos local de Linux.

Implementa el conector

Requisitos previos

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

Permisos necesarios de la cuenta de Microsoft Windows

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 pertenencia a uno de los siguientes grupos 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. Obtener el repositorio del conector de GitHub y compilarlo.

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

    1. Clone 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 descargarla directamente desde GitHub, sigue estos pasos:

    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 compiles 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 los parámetros de conectores proporcionados por 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 para cada archivo con la detección de tipos de contenido multimedia proporcionada por JDK. En Microsoft Windows, JDK se basa en el registro de Windows para determinar los tipos de contenido multimedia de los archivos. Una entrada de registro faltante puede dar como resultado un tipo de contenido multimedia nulo para ciertos archivos.

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

  1. En el directorio del conector, crea un archivo encriptado con 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 anfitrión, 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 del archivo de configuración si es diferente de la predeterminada (en el mismo directorio que el objeto binario con el nombre connector-config.properties).

Referencia de los parámetros de configuración

Acceso a la fuente de datos

Parámetro de 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

Parámetro de 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 que están 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

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

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

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

Comportamiento del conector

Parámetro de 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 único nombre de dominio NetBIOS de Active Directory.

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

Una lista delimitada por comas de las cuentas que se incluirán en las LCA, sin importar 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\\.

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

Configúralo como true para permitir que el conector rastree archivos y carpetas ocultos (en los sistemas de archivos de Windows, un archivo o una carpeta se consideran ocultos si se configura el atributo oculto DOS). El valor predeterminado es false.

Permitir 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), cuando el conector rastrea una carpeta, crea un objeto CONTAINER_ITEM. Cuando se configura como falso, el conector crea un objeto VIRTUAL_CONTAINER_ITEM en su lugar.

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

Cuando se establece en true (predeterminado), los cambios en el contenido o los controles de acceso activan el conector para que se vuelva a rastrear. Cuando desactivas la supervisión (configurada en false), reduces significativamente el uso de recursos del conector, pero se retrasa cuando el conector refleja los cambios.

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

El tamaño máximo de la caché del directorio. El conector usa la caché para identificar las carpetas ocultas y evitar indexar archivos y carpetas en carpetas ocultas.

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

Preservación de marca de tiempo y control de rastreo

Parámetro de configuración Parámetro
Conservar 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 a los archivos y carpetas a la hora del rastreo. Cuando no se conservan las fechas del último acceso, es posible que los sistemas de copia de seguridad y archivo no muevan los archivos y las carpetas apropiadas al almacenamiento secundario debido a la visita del conector.

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

Valores posibles:

  • ALWAYS: El conector intenta conservar la hora del último acceso mientras rastrea archivos y carpetas. La primera vez que el conector no puede conservar la hora del último acceso, rechaza todas las solicitudes de rastreo posteriores del sistema de archivos para evitar que se modifiquen las marcas de tiempo del último acceso.
  • IF_ALLOWED: El conector intenta conservar la hora 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 la hora del último acceso, ya que rastrea archivos y carpetas.
Rastrear solo los archivos a los que se accedió después de una fecha determinada fs.lastAccessedDate=YYYY-MM-DD

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

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

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

Rastrear solo los archivos a los que se accedió en el último número de días fs.lastAccessedDays=number-of-days

Rastrear contenido solo si el último acceso se produce dentro de la cantidad de días anterior al presente. El valor predeterminado es disabled.

Usa esta propiedad para caducar contenido indexado previamente al que no se accedió por un tiempo. Por ejemplo, establécelo en 365 para rastrear contenido solo si se accedió a él en el último año.

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

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

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

Especifica la fecha en el formato de fecha ISO8601: AAAA-MM-DD. Por ejemplo, si el valor es 2010-01-01, el conector solo rastreará el contenido modificado después de principios de 2010.

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

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

Rastrear contenido solo si la última hora de modificación se realiza dentro del número de días anterior al presente. El valor predeterminado es disabled.

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

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

Omite el control de acceso a los archivos compartidos

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

Puedes configurar el conector para que ignore la LCA del recurso compartido a fin de 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 elementos compartidos completamente permisivo, en lugar de la LCA de elementos compartidos real.

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

Configúralo en false (predeterminado) para aplicar las LCA de uso compartido. Configúralo en true para ignorar las LCA de recursos compartidos.