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. Usarás el conector de sistemas de archivos de Google Cloud Search y lo configurarás 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 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, 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. Se reduce el uso de recursos del conector de manera significativa, pero se retrasa cuando el conector refleja los cambios. Más información

Control de acceso de DFS

El sistema DFS aplica control de acceso a sus vínculos y, por lo general, cada vínculo de 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. Es posible que los usuarios obtengan solo un subconjunto de los vínculos de DFS o incluso un solo vínculo cuando ABE aísla los directorios principales alojados. Cuando el conector desvía un sistema DFS, el conector respeta la LCA del vínculo de DFS y la LCA del recurso compartido del objetivo, y la LCA del recurso compartido se hereda de la LCA del DFS.

Limitaciones conocidas

  • Sistema de archivos: El conector de sistemas de archivos no admite unidades asignadas ni unidades 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 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 del sistema 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, sistema de archivos de red de Sun (NFS) 2.0, sistema de archivos de red de Sun (NFS) 3.0 o sistema de archivos de Linux local.

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

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 membresía 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. Obtén el repositorio del conector desde GitHub y compílalo.

    Para usar Git en el servidor de Windows, sigue estos pasos:

    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

    Sigue estos pasos para descargar directamente desde GitHub:

    1. Ve a https://github.com/google-cloudsearch/windows-filesystems-connector.
    2. Haz clic en Clone or download Download ZIP.
    3. Descomprime el paquete.
    4. Dirígete 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 a los contenidos 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 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. Cómo configurar los tipos de medios (opcional)

De forma predeterminada, el conector intenta detectar el tipo de medio para cada archivo con la detección de tipo de medio 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 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 del valor predeterminado (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 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 configurar un delimitador diferente, como una coma (","), que no entre en conflicto con los caracteres de tus rutas de acceso y que no esté reservado por la sintaxis del archivo de propiedad.

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 solo 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\\.

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

Configúralo en true para permitir que el conector rastree archivos y carpetas ocultos (en los sistemas de archivos de Windows, un archivo o una carpeta se considera oculto si se establece el atributo oculto DOS). 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 en true (predeterminado), cuando el conector rastrea una carpeta, el conector crea un objeto CONTAINER_ITEM. Cuando se configura como falso, el conector crea un objeto VIRTUAL_CONTAINER_ITEM en su lugar.

Habilitar 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 conector para que se vuelva a rastrear. Cuando desactivas la supervisión (establecida en false), se reduce de forma significativa 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 utiliza la caché para identificar las carpetas ocultas y, así, evitar indexar archivos y carpetas en estas.

El valor predeterminado es de 50,000 entradas, que por lo general consumen entre 10 y 15 megabytes de RAM.

Conservación de la marca de tiempo y control de rastreo

Parámetro de 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 según la hora del rastreo. Cuando no se conservan los tiempos del último acceso, es posible que los sistemas de archivo y copia 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 la hora del último acceso al archivo cuando el usuario de recorrido no tiene 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 preservar el horario 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 modificar las marcas de tiempo del último acceso.
  • IF_ALLOWED: El conector intenta preservar el horario del último acceso mientras rastrea archivos y carpetas. Sigue rastreándose incluso cuando es posible que algunas marcas de tiempo no se conserven.
  • NEVER: el conector no intenta preservar 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

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 también un valor para fs.lastAccessedDays.

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

Rastrear contenido solo si la hora del último acceso es de días antes de la fecha actual El valor predeterminado es disabled.

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

Si especificas fs.lastAccessedDays, no puedes establecer también 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 rastrea contenido que se haya modificado después de principios de 2010.

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

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

Rastrear contenido solo si la hora de la última modificación es dentro de los días anteriores a la fecha actual. El valor predeterminado es disabled.

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

Si especificas fs.lastModifiedDays, no puedes establecer también 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 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 esos casos, el conector no devuelve ningún archivo mantenido en ese recurso compartido de archivos en los resultados de la búsqueda.

Puedes configurar el conector para que ignore la LCA de recursos compartidos de modo que el contenido se muestre siempre en los resultados de la búsqueda. En este caso, la API de indexación obtiene una LCA de recursos compartidos completamente permisiva en lugar de la LCA de archivos 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 uso compartido.