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

Avant de déployer le connecteur de systèmes de fichiers, tenez compte des points suivants.

Mises à jour automatiques continues

Par défaut, les chemins d'accès de départ (valeurs de fs.src dans le fichier de configuration) 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 réexplore le système de fichiers. Cette réexploration peut être gourmande en ressources. Pour désactiver la surveillance, définissez fs.monitorForUpdates sur false. Cela réduit l'utilisation des ressources, mais retarde la prise en compte des modifications par le connecteur. 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). DFS utilise l'énumération basée sur l'accès (ABE, Access-based Enumeration) pour limiter les liens 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. 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

Cette section liste les limites connues du connecteur de système de fichiers.

  • Système de fichiers : le connecteur n'est pas compatible avec les lecteurs mappés ni les lecteurs locaux.
  • Système de fichiers distribué : un lecteur mappé sur un DFS UNC ne fonctionne pas correctement, et certaines LCA peuvent ne pas être lues correctement.
  • Le connecteur est compatible avec les espaces de noms et les liens DFS, mais pas avec les dossiers standards de l'espace de noms DFS.
  • Les liens de fichiers dans cloudsearch.google.com ou renvoyés par l'API Query ne sont pas cliquables dans la plupart des navigateurs.

Configuration requise

Avant de déployer le connecteur de systèmes de fichiers, assurez-vous que la machine hôte répond aux exigences suivantes :

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
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èmes de fichiers Windows locaux, NFS 2.0, NFS 3.0 ou systèmes de fichiers Linux locaux.

Déployer le connecteur

Pour déployer le connecteur de systèmes de fichiers, procédez comme suit.

Prérequis

Avant de déployer le connecteur, assurez-vous que votre environnement comporte les composants suivants :

Autorisations de compte Microsoft Windows requises

Le compte Windows exécutant le connecteur doit disposer des autorisations suivantes :

  • Lister le contenu d'un dossier.
  • Lire le contenu d'un document
  • Lire les attributs des fichiers et des dossiers.
  • Lire les autorisations (LCA) associées aux fichiers et dossiers.
  • Écrire les attributs de base.

L'appartenance à l'un de ces groupes accorde généralement des autorisations suffisantes : administrateurs, utilisateurs avancés, opérateurs d'impression ou opérateurs de serveur.

Étape 1 : Installer le connecteur

Téléchargez ou clonez le dépôt du connecteur à partir de GitHub, puis créez le package du connecteur.

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

    Pour utiliser Git sur le serveur Windows :

    > git clone https://github.com/google-cloudsearch/windows-filesystems-connector.git
    > cd windows-filesystems-connector
    > git checkout tags/v1-0.0.3

    Pour télécharger directement :

    1. Accédez à windows-filesystems-connector.
    2. Cliquez sur Clone or download > Download zip (Cloner ou télécharger > Télécharger le fichier zip).
    3. Décompressez le package et accédez au répertoire.
  2. Créez le connecteur à l'aide d'Apache Maven :

    > mvn package
    Pour ignorer les tests, utilisez mvn package -DskipTests.

  3. Extrayez le fichier ZIP du connecteur dans votre répertoire d'installation :

    > 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

Après avoir installé le connecteur, créez un fichier de configuration contenant les paramètres du connecteur.

  1. Dans le répertoire du connecteur, créez un fichier nommé connector-config.properties.
  2. Ajoutez des paramètres sous forme de paires clé/valeur. Exemple :

    # Required parameters
    api.serviceAccountPrivateKeyFile=/path/to/file.json
    api.sourceId=0123456789abcde
    api.identitySourceId=a1b1c1234567
    
    # File system access
    fs.src=\\\\host\\share;\\\\dfshost\\dfsnamespace
    
    # Optional parameters
    traverse.abortAfterExceptions=500
    fs.monitorForUpdates = true
    fs.preserveLastAccessTime = IF_ALLOWED
    

    Consultez la documentation de référence sur les paramètres de configuration pour connaître les paramètres spécifiques au système de fichiers. Pour obtenir la liste des paramètres courants utilisés par tous les connecteurs Cloud Search, consultez Paramètres de connecteur fournis par Google.

Étape 3 : Activer la journalisation

Créez un répertoire pour les journaux et un fichier de configuration de la journalisation.

  1. Créez un dossier nommé logs dans le répertoire du connecteur.
  2. Créez un fichier nommé logging.properties avec 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

Le connecteur tente de détecter les types de contenu des fichiers à l'aide de son mécanisme par défaut qui, sous Windows, s'appuie sur les entrées de registre. Si une entrée de registre pour une extension de fichier est manquante, il est possible que le connecteur ne parvienne pas à détecter correctement le type de contenu multimédia. Si les types de supports ne sont pas détectés correctement ou si vous souhaitez remplacer le type par défaut d'une extension, procédez comme suit :

  1. Créez un fichier nommé mime-type.properties dans le répertoire du connecteur.
  2. Saisissez les extensions et les types au format extension=media/type : properties 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

Lancez le connecteur depuis 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]

Par défaut, le connecteur recherche un fichier de configuration nommé connector-config.properties dans le répertoire où il est exécuté. Si votre fichier de configuration porte un autre nom ou se trouve dans un autre répertoire, utilisez le paramètre -Dconfig pour spécifier son chemin d'accès.

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

Les tableaux suivants listent et décrivent les paramètres utilisés pour configurer le connecteur de systèmes de fichiers.

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 Cloud Search.

Compte de service api.serviceAccountPrivateKeyFile=./PrivateKey.json

Obligatoire. Chemin d'accès au fichier de clé du compte de service.

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

Utilisez ces paramètres pour spécifier les sources du système de fichiers à explorer.

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

Utilisez ces paramètres pour ajuster la façon dont le connecteur explore les systèmes de fichiers.

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 cachés fs.crawlHiddenFiles=boolean

Définissez sur true pour explorer les fichiers masqués. 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 défini sur true (valeur par défaut), le connecteur réexplore automatiquement le contenu ou les contrôles d'accès en cas de modification. Si vous définissez cette option sur false, l'utilisation des ressources sera réduite, mais la prise en compte des modifications dans les résultats de recherche sera 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, ce qui consomme généralement entre 10 et 15 mégaoctets de mémoire RAM.

Conservation de l'horodatage

Utilisez ces paramètres pour spécifier comment le connecteur gère la conservation des codes temporels.

Paramètre Paramètre
Conserver l'heure d'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. Si 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, car le connecteur y a accédé.

Par défaut, fs.preserveLastAccessTime est défini sur ALWAYS, ce qui signifie que le connecteur tente de conserver la date et l'heure du dernier accès. Si le compte utilisateur exécutant le connecteur ne dispose pas des droits d'accès nécessaires pour écrire les attributs du fichier, le connecteur ne peut pas restaurer la date et l'heure du dernier accès. Si la valeur est définie sur ALWAYS et que le connecteur ne peut pas conserver la date et l'heure du dernier accès, il refuse d'exécuter les demandes d'exploration du système de fichiers afin d'éviter de modifier l'horodatage des fichiers.

Les valeurs possibles sont les suivantes :

  • ALWAYS : le connecteur tente de conserver la date et l'heure du dernier accès lors de l'exploration des fichiers et des dossiers. S'il ne peut pas conserver la date et l'heure du dernier accès, il refuse d'exécuter les demandes d'exploration suivantes du système de fichiers afin d'éviter de modifier les codes temporels.
  • 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.
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 (AAAA-MM-JJ, format ISO8601). La valeur par défaut est disabled. Par exemple, 2010-01-01 explore le contenu consulté après le début de l'année 2010. Ne peut pas être utilisé avec 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 le nombre de jours spécifié à partir de la date actuelle. La valeur par défaut est disabled. Utile pour faire expirer l'ancien contenu, par exemple : 365 explore le contenu consulté au cours de l'année écoulée. Ne peut pas être utilisé avec 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 (AAAA-MM-JJ, format ISO8601). La valeur par défaut est disabled. Par exemple, 2010-01-01 explore le contenu modifié après le début de l'année 2010. Ne peut pas être utilisé avec 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. Utile pour faire expirer l'ancien contenu, par exemple : 365 explore le contenu modifié au cours de l'année écoulée. Ne peut pas être utilisé avec fs.lastModifiedDate.

Ignorer les LCA de partage de fichiers

Vous pouvez configurer le connecteur pour qu'il ignore les LCA de partage s'il n'a pas l'autorisation de les lire. Le contenu est ensuite renvoyé avec une LCA de partage permissive.

Paramètre Paramètre
Ignorer les LCA de partage fs.skipShareAccessControl=boolean

Définissez la valeur sur true pour ignorer les LCA du partage. La valeur par défaut est false.