Déployer le connecteur de systèmes de fichiers Microsoft Windows

Vous pouvez configurer Google Cloud Search afin qu'il renvoie les résultats des partages Microsoft Windows de votre organisation, en plus de votre contenu Google Workspace. Utilisez le connecteur de systèmes de fichiers Google Cloud Search et configurez-le pour accéder aux partages Windows spécifiés. Une même instance de connecteur peut traiter plusieurs partages Microsoft Windows.

Remarques importantes

Mises à jour automatiques continues

Par défaut, les chemins d'accès de départ (valeurs de fs.src dans le fichier de configuration du connecteur) font l'objet d'une surveillance permanente du connecteur à son démarrage. Lorsque le système de fichiers signale des modifications du contenu ou des contrôles d'accès, le connecteur est déclenché pour réexplorer le système de fichiers. Cette réexploration peut être gourmande en ressources. Pour désactiver la surveillance du système de fichiers, définissez fs.monitorForUpdates sur false. L'utilisation des ressources par le connecteur est ainsi considérablement réduite, mais la prise en compte des modifications est légèrement retardée. En savoir plus

Contrôle d'accès DFS

Le système DFS applique un contrôle d'accès à ses liens, et chaque lien DFS a généralement sa propre liste de contrôle d'accès (LCA). L'un des mécanismes utilisés dans ce cadre est l'énumération basée sur l'accès (ABE, Access-based Enumeration), qui peut limiter les liens DFS renvoyés à un utilisateur. Les utilisateurs peuvent obtenir uniquement un sous-ensemble des liens DFS, et parfois un seul lien lorsque l'ABE isole des répertoires d'accueil hébergés. Lors du balayage d'un système DFS, le connecteur respecte la LCA de chaque lien DFS et de partage ciblé, et la LCA du partage hérite de la LCA du DFS.

Limites connues

  • Système de fichiers: le connecteur de systèmes de fichiers n'est pas compatible avec les lecteurs mappés et les lecteurs locaux.
  • Système de fichiers distribué: un lecteur mappé sur un DFS UNC ne fonctionne pas correctement. Certaines LCA ne sont pas lues correctement.
  • Le connecteur de systèmes de fichiers est compatible avec les espaces de noms et les liens du système de fichiers distribué (DFS). Cependant, il ne traite que les liens DFS d'un espace de noms DFS, pas les dossiers standards de cet espace de noms.
  • Les liens de fichiers renvoyés dans cloudsearch.google.com ne sont pas cliquables. De plus, les liens de fichiers renvoyés par l'API Query ne sont pas cliquables dans la plupart des navigateurs.

Configuration requise

Configuration requise
Système d'exploitation
  • Windows Server 2016
  • Windows Server 2012
  • Windows Server 2008 R2
Logiciel
  • Java JRE 1.8 installé sur l'ordinateur qui exécute le connecteur de systèmes de fichiers Google Cloud Search
Protocoles de système de fichiers
  • Protocole SMB (Server Message Block) : SMB1
  • Protocole SMB (Server Message Block) : SMB2
  • Système de fichiers distribué (DFS)

Non compatibles:système de fichiers Windows local, système de fichiers Sun Network (NFS) 2.0, système de fichiers Network NFS 3.0 ou système de fichiers Linux local.

Déployer le connecteur

Prérequis

Avant de déployer le connecteur de systèmes de fichiers Cloud Search, assurez-vous que votre environnement comporte tous les composants prérequis suivants:

Autorisations de compte Microsoft Windows requises

Le compte Microsoft Windows avec lequel le connecteur s'exécute doit disposer d'autorisations suffisantes pour effectuer les actions suivantes:

  • Répertorier le contenu des dossiers
  • Lire le contenu des documents
  • Lire les attributs des fichiers et des dossiers
  • Lire les autorisations (LCA) associées aux fichiers et dossiers
  • Écrire les autorisations de base relatives aux attributs

Les comptes Windows appartenant à l'un des groupes suivants disposent des autorisations requises par le connecteur:

  • Administrateurs
  • Utilisateurs expérimentés
  • Opérateurs d'impression
  • Opérateurs de serveur

Étape 1 : Installer le connecteur de systèmes de fichiers Google Cloud Search

  1. Récupérez le dépôt du connecteur sur GitHub et compilez-le.

    Pour utiliser Git sur le serveur Windows:

    1. Clonez le dépôt :

      > git clone https://github.com/google-cloudsearch/windows-filesystems-connector.git
      > cd windows-filesystems-connector
    2. Vérifiez la version souhaitée du connecteur:

      > git checkout tags/v1-0.0.3

    Pour télécharger le connecteur directement à partir de GitHub:

    1. Accédez à l'adresse https://github.com/google-cloudsearch/windows-filesystems-connector.
    2. Cliquez sur Cloner ou télécharger Download zip (Cloner ou télécharger > Télécharger le fichier ZIP).
    3. Décompressez le package.
    4. Accédez au nouveau répertoire :
      > cd windows-filesystems-connector
  2. Compilez le connecteur. Si nécessaire, installez Apache Maven.

    > mvn package

    Pour ignorer les tests lorsque vous créez le connecteur, exécutez mvn package -DskipTests au lieu de mvn package.

  3. Copiez le fichier ZIP du connecteur dans votre répertoire d'installation 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

Étape 2 : Créer le fichier de configuration du connecteur

  1. Dans le même répertoire que les fichiers d'installation du connecteur, créez un fichier nommé connector-config.properties.

  2. Ajoutez des paramètres sous forme de paires clé/valeur aux contenus des fichiers, comme dans l'exemple suivant:

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

    Pour obtenir une description détaillée de chaque paramètre, consultez le guide de référence des paramètres de configuration.

  3. (Facultatif) Configurez d'autres paramètres de connecteur, si nécessaire. Pour en savoir plus, consultez l'article Paramètres de connecteur fournis par Google.

Étape 3 : Activer la journalisation

  1. Créez un dossier nommé logs dans le répertoire contenant le binaire du connecteur.
  2. Créez un fichier ASCII ou UTF-8 nommé logging.properties dans le même répertoire et ajoutez le contenu suivant:

    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
    

Étape 4 : (Facultatif) Configurer les types de contenus

Par défaut, le connecteur tente de détecter le type de contenu de chaque fichier avec le système de détection fourni par JDK. Sous Microsoft Windows, JDK s'appuie sur le Registre Windows pour déterminer le type de contenu des fichiers. et peut donc leur attribuer la valeur "null" si l'entrée de registre correspondante est manquante.

Si nécessaire, vous pouvez indiquer un type de contenu qui écrase les liaisons existantes ou empêche l'utilisation d'un type de contenu de valeur "null".

  1. Dans le répertoire du connecteur, créez un fichier chiffré en Latin-1 nommé mime-type.properties.
  2. Saisissez les extensions de fichier et les types de contenus correspondants comme dans les exemples suivants:

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

Étape 5: Exécuter le connecteur de systèmes de fichiers

Après avoir installé et configuré le connecteur de systèmes de fichiers, exécutez une commande semblable à celle ci-dessous pour lancer le connecteur sur la machine hôte:

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

Spécifiez le chemin d'accès au fichier de configuration s'il est différent de celui par défaut (dans le même répertoire que le binaire portant le nom connector-config.properties).

Guide de référence des paramètres de configuration

Accès à la source de données

Paramètre Paramètre
ID de la source de données api.sourceId=1234567890abcdef

Obligatoire. ID de la source Google Cloud Search configuré par l'administrateur Google Workspace.

Chemin d'accès au fichier contenant la clé privée du compte de service api.serviceAccountPrivateKeyFile=./PrivateKey.json

Obligatoire. Fichier contenant la clé du compte de service Google Cloud Search pour l'accessibilité du connecteur de systèmes de fichiers Google Cloud Search.

ID de la source d'identité api.identitySourceId=x0987654321

Obligatoire. ID de la source d'identité Cloud Search configuré par l'administrateur Google Workspace pour la synchronisation des identités Active Directory avec GCDS.

Accès au système de fichiers

Paramètre Paramètre
Systèmes de fichiers sources fs.src=path1[,path2, ...]

Obligatoire. Spécifiez les systèmes de fichiers sources comme une ou plusieurs sources UNC séparées par le délimiteur configuré par fs.src.separator. Si vous utilisez des caractères qui ne sont pas en Latin1, encodez-les avec des caractères d'échappement Unicode Java.

Caractère de séparateur de chemin

Paramètre Paramètre
Caractère de séparateur de chemin fs.src.separator=separator-character

Le séparateur par défaut est ";". Si vos chemins d'accès sources contiennent des points-virgules, vous pouvez définir un délimiteur différent, comme une virgule (",") qui n'entre pas en conflit avec les caractères de vos chemins d'accès et qui n'est pas réservée par la syntaxe du fichier de propriétés.

Si la valeur fs.src.separator est une chaîne vide, la valeur fs.src est traitée comme un chemin unique.

Comportement du connecteur

Paramètre Paramètre
Domaine Windows fs.supportedDomain=domain

Obligatoire pour permettre aux utilisateurs configurés avec GCDS d'accéder aux documents via Cloud Search. Spécifiez un nom de domaine NetBIOS unique d'Active Directory.

Inclure des comptes dans les LCA fs.supportedAccounts=account-1[, account-2,...]

Liste de comptes séparés par une virgule à inclure dans les LCA, qu'il s'agisse ou non de comptes intégrés.

La valeur par défaut est BUILTIN\\Administrators,Everyone,BUILTIN\\Users, BUILTIN\\Guest,NT AUTHORITY\\INTERACTIVE, NT AUTHORITY\\Authenticated Users.

Exclure des comptes intégrés des LCA fs.builtinGroupPrefix=prefix

Indiquez le préfixe des comptes intégrés. Un compte commençant par ce préfixe est considéré comme un compte intégré et sera exclu des LCA.

La valeur par défaut est BUILTIN\\.

Autoriser l'indexation des fichiers et dossiers masqués fs.crawlHiddenFiles=boolean

Définissez le paramètre sur la valeur true pour permettre au connecteur d'explorer les fichiers et les dossiers masqués (dans les systèmes de fichiers Windows, un fichier ou un dossier est considéré comme masqué si l'attribut DOS correspondant est défini). La valeur par défaut est false.

Autoriser l'indexation des listes de dossiers explorés et des énumérations d'espaces de noms DFS fs.indexFolders=boolean

Si la valeur du paramètre est true (valeur par défaut), le connecteur crée un objet CONTAINER_ITEM lorsqu'il explore un dossier. Si sa valeur est définie sur "false", le connecteur crée un objet VIRTUAL_CONTAINER_ITEM.

Activer la surveillance des modifications du système de fichiers fs.monitorForUpdates=boolean

Lorsque le paramètre est true (valeur par défaut), les modifications du contenu ou des contrôles d'accès déclenchent la réexploration par le connecteur. Lorsque vous désactivez la surveillance (false), l'utilisation des ressources par le connecteur est considérablement réduite, mais la prise en compte des modifications est légèrement retardée.

Définir la taille maximale du cache des répertoires fs.directoryCacheSize=number-of-entries

Taille maximale du cache de répertoire. Le connecteur utilise le cache pour identifier les dossiers masqués afin d'éviter d'indexer les fichiers et les dossiers contenus dans ces dossiers.

La valeur par défaut est de 50 000 entrées, qui consomment généralement entre 10 et 15 mégaoctets de mémoire RAM.

Conservation de l'horodatage et contrôle de l'exploration

Paramètre Paramètre
Conserver l'horodatage du dernier accès fs.preserveLastAccessTime=value

Lors de l'exploration des fichiers et des dossiers, le connecteur peut modifier l'horodatage du dernier accès pour le situer au moment de l'exploration. Lorsque les horaires des derniers accès ne sont pas conservés, les systèmes de sauvegarde et d'archivage risquent de ne pas déplacer les fichiers et dossiers appropriés vers l'espace de stockage secondaire à cause de l'exploration du connecteur.

Par défaut, le connecteur tente de conserver la date et l'heure du dernier accès (fs.preserveLastAccessTime défini sur ALWAYS). Il est possible que le connecteur ne parvienne pas à restaurer la date et l'heure du dernier accès au fichier si l'utilisateur exécutant le balayage ne dispose pas de droits d'accès suffisants pour écrire les attributs du fichier. Lorsque la valeur est ALWAYS, le connecteur refuse d'exécuter les demandes d'exploration du système de fichiers afin d'éviter de modifier l'horodatage du dernier accès.

Valeurs possibles :

  • ALWAYS: le connecteur tente de conserver la date et l'heure du dernier accès lors de l'exploration des fichiers et des dossiers. En cas d'échec, il refusera d'exécuter les demandes d'exploration suivantes du système de fichiers afin d'éviter de modifier l'horodatage du dernier accès.
  • IF_ALLOWED: le connecteur tente de conserver la date et l'heure du dernier accès lors de l'exploration des fichiers et des dossiers. Il continue l'exploration même si certains horodatages ne sont pas conservés.
  • NEVER: le connecteur ne tente pas de conserver la date et l'heure du dernier accès lors de l'exploration des fichiers et des dossiers.
Explorer seulement les fichiers ayant été consultés après une certaine date fs.lastAccessedDate=YYYY-MM-DD

Le contenu est exploré uniquement si la date et l'heure du dernier accès sont postérieures à la date spécifiée. La valeur par défaut est disabled.

Indiquez la date au format ISO8601: AAAA-MM-JJ. Par exemple, si la valeur est 2010-01-01, le connecteur n'explore que le contenu consulté à partir du début de l'année 2010.

Si vous spécifiez fs.lastAccessedDate, vous ne pouvez pas également définir de valeur pour fs.lastAccessedDays.

Explorer seulement les fichiers ayant été consultés au cours d'un certain nombre de jours fs.lastAccessedDays=number-of-days

Le contenu est exploré uniquement si la date et l'heure du dernier accès sont comprises dans la plage de jours indiquée. La valeur par défaut est disabled.

Utilisez cette propriété pour que les contenus précédemment indexés n'ayant pas été consultés depuis un certain temps arrivent à expiration. Par exemple, définissez la valeur 365 si vous voulez que le connecteur explore uniquement le contenu ayant été consulté au cours de la dernière année.

Si vous spécifiez fs.lastAccessedDays, vous ne pouvez pas également définir de valeur pour fs.lastAccessedDate.

Explorer seulement les fichiers ayant été modifiés après une certaine date fs.lastModifiedDate=YYYY-MM-DD

Le contenu est exploré uniquement si la date et l'heure de la dernière modification sont postérieures à la date spécifiée. La valeur par défaut est disabled.

Indiquez la date au format ISO8601: AAAA-MM-JJ. Par exemple, si la valeur est 2010-01-01, le connecteur n'explore que le contenu modifié à partir du début de l'année 2010.

Si vous spécifiez fs.lastModifiedDate, vous ne pouvez pas également définir de valeur pour fs.lastModifiedDays.

Explorer seulement les fichiers ayant été modifiés au cours d'un certain nombre de jours fs.lastModifiedDays=number-of-days

Le contenu est exploré uniquement si la date et l'heure de la dernière modification sont comprises dans la plage de jours indiquée. La valeur par défaut est disabled.

Utilisez cette propriété pour que les contenus précédemment indexés n'ayant pas été modifiés depuis un certain temps arrivent à expiration. Par exemple, définissez la valeur 365 si vous voulez que le connecteur explore uniquement le contenu ayant été modifié au cours de la dernière année.

Si vous spécifiez fs.lastModifiedDays, vous ne pouvez pas également définir de valeur pour fs.lastModifiedDate.

Ignorer le contrôle d'accès du partage de fichiers

Par défaut, le connecteur préserve l'intégrité du contrôle d'accès lors de l'envoi des LCA à l'API d'indexation, y compris les LCA du partage de fichiers. Toutefois, dans certaines configurations, le connecteur ne dispose pas des autorisations suffisantes pour lire la LCA du partage. Dans ce cas, le connecteur ne renvoie aucun fichier stocké sur le partage dans les résultats de recherche.

Vous pouvez faire en sorte que le connecteur ignore la LCA du partage afin que le contenu soit toujours renvoyé dans les résultats de recherche. Dans ce cas, l'API d'indexation reçoit une LCA de partage disposant d'un accès intégral, en remplacement de la véritable LCA du partage.

Paramètre Paramètre
Ignorer le contrôle d'accès du partage de fichiers fs.skipShareAccessControl=boolean

Définissez la valeur sur false (valeur par défaut) pour appliquer les LCA du partage. Définissez-la sur true pour ignorer les LCA du partage.