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. Usas el conector de sistemas de archivos de Google Cloud Search y lo configuras 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 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 nuevo rastreo 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 se retrasa el momento en que el conector refleja los cambios. Más información

Control de acceso de DFS

El sistema DFS aplica control de acceso en sus vínculos y, por lo general, cada vínculo DFS tiene su propia LCA. Uno de los mecanismos que usa el 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ísla los directorios de página principal alojados. Cuando el conector recorre 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 se 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 las carpetas normales en el espacio de nombres DFS.
  • No se puede hacer clic en los vínculos a archivos que se muestran en cloudsearch.google.com. Además, los vínculos a archivos que devuelve la API de Query no se pueden hacer clic 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 de sistemas de archivos
  • Bloque de mensajes del servidor (SMB) - SMB1
  • Bloque de mensajes del servidor (SMB) - SMB2
  • Sistema de archivos distribuido (DFS)

No se admiten: Sistemas de archivos locales de Windows, Sun Network File System (NFS) 2.0, Sun Network File System (NFS) 3.0 ni sistemas de archivos locales 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 necesarios:

Permisos obligatorios 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 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 de 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 desde GitHub directamente, 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 de 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 tipos de medios (opcional)

De forma predeterminada, el conector intenta detectar el tipo de medio de cada archivo con la detección de tipos de medios proporcionada por 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 medio nulo para determinados archivos.

Si es necesario, puedes especificar un tipo de medio que anule cualquier vinculación existente o impida un tipo de medio 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 File Systems

Después de instalar y configurar el conector de sistemas de archivos, para iniciarlo en la máquina host, ejecuta un comando como el del 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 archivo 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

Es obligatorio. ID de la fuente de Google Cloud Search configurado por 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

Es 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, ...]

Es 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 la ruta de acceso y que no esté reservado por la propia sintaxis del archivo de propiedad.

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

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

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

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

Cuando se establece en true (valor predeterminado), los cambios en el contenido o los controles de acceso activan el conector para que vuelva a rastrear. Cuando desactivas la supervisión (establecida 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 las carpetas ocultas y evitar indexar archivos y carpetas en ellas.

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

Conservació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 las 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 del 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, de modo que no se modifiquen las marcas de tiempo del último acceso a 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 pueda conservar el horario del último acceso, rechazará 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.
Rastrea 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 de fecha 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, no 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 última hora de acceso se encuentra 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, no puedes establecer un valor para fs.lastAccessedDate.

Rastrea 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 de fecha 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, no 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 fecha de modificación se encuentra 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, 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 listas de control de acceso (LCA) a la API de indexación, incluidas las LCA del recurso compartido de archivos. Sin embargo, en algunas configuraciones, es posible que el conector no tenga permisos suficientes para leer la ACL de uso compartido. En esos casos, el conector no devuelve ningún archivo que se mantenga en ese recurso compartido de archivos 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

Establécelo en false (predeterminado) para aplicar las LCA de uso compartido. Configúralo como true para ignorar las LCA de uso compartido.