Bonnes pratiques pour l'importation groupée de fichiers chiffrés côté client

Ce guide présente les bonnes pratiques pour créer un outil personnalisé permettant d'importer en bloc des fichiers chiffrés côté client à l'aide de l'API Drive.

Envisager Drive pour ordinateur pour les migrations en libre-service

Un utilisateur peut importer des fichiers depuis sa machine locale à l'aide du Drive pour ordinateur client. Il est entièrement compatible avec le chiffrement côté client et permet aux utilisateurs de chiffrer et d'importer eux-mêmes des fichiers. Il n'est nécessaire de créer un outil personnalisé comme décrit dans ce guide que pour les importations en bloc à grande échelle, sans surveillance ou multi-utilisateurs.

Avant de commencer

Vous devez savoir comment gérer un seul fichier chiffré côté client. Consultez Gérer des fichiers chiffrés côté client individuels pour découvrir les étapes fondamentales du chiffrement, de l'importation/du téléchargement et du déchiffrement, y compris la génération de jetons et l'interaction avec votre service de liste de contrôle d'accès aux clés (KACLS).

S'authentifier avec un compte de service

Utilisez un compte de service avec délégation au niveau du domaine lorsque vous interagissez avec l'API Drive. Cela permet à votre application d'usurper l'identité des utilisateurs. Vous pouvez ainsi les parcourir de manière programmatique et importer des fichiers directement en leur nom.

Recréer la structure du répertoire

Concevez votre outil d'importation pour parcourir de manière récursive les fichiers et dossiers sources afin de refléter la structure de répertoire existante dans Drive. Le processus général est le suivant :

  1. Pour chaque répertoire source, créez un dossier Drive correspondant.
  2. Chiffrez et importez les fichiers du répertoire dans le dossier Drive créé.
  3. Répétez le processus pour les sous-répertoires.

Importer des fichiers au bon endroit

Importez toujours les fichiers dans le dossier Mon Drive de l'utilisateur approprié ou dans un Drive partagé accessible. Pour trouver l'ID d'un Drive partagé ou d'un dossier, recherchez-le de manière statique à partir de l'URL Web Drive ou de manière dynamique à l'aide des méthodes drives.list et files.list.

Éviter les doublons

Drive autorise plusieurs fichiers dans le même dossier à partager exactement le même nom de fichier. Générez des ID pour vos fichiers avant de les importer. Pour ce faire, vous pouvez utiliser la méthode files.generateIds de l'API Drive.

En stockant ces ID pré-générés, votre importateur peut tenter d'importer chaque fichier dans son ID spécifique. Si un fichier portant cet ID existe déjà, votre outil peut l'ignorer en toute sécurité. L'utilisation d'ID pré-générés aidera votre outil à se remettre d'un plantage.

Demander un jeton chiffré côté client avant chaque importation

Appelez generateCseToken pour chaque fichier immédiatement avant l'encapsulation de la clé et l'importation du fichier. Cette approche garantit que le jeton reflète avec précision l'état actuel des métadonnées associées, qui peuvent changer.

Utiliser des importations avec reprise pour les fichiers volumineux

Utilisez les importations avec reprise de l'API Drive pour migrer des fichiers volumineux. Les importations avec reprise permettent à votre importateur de réessayer les blocs ayant échoué lors d'interruptions réseau, plutôt que de redémarrer l'importation complète du fichier.

Restaurer les autorisations de partage

Si votre outil d'importation en bloc doit conserver les autorisations de partage, commencez par chiffrer et importer le fichier, puis appelez la méthode permissions.create. Les autorisations de partage ne sont pas appliquées lors de l'importation du fichier lui-même.

Gérer l'expiration des jetons

Pour les opérations de longue durée, votre script peut rencontrer des erreurs d'authentification en raison de l'expiration des jetons. Implémentez une logique pour actualiser automatiquement les jetons d'accès et réessayer les importations. Pour en savoir plus, consultez l'exemple Open Source qui montre comment chiffrer et importer un seul fichier.

Valider minutieusement les fichiers importés

Effectuez une validation approfondie après une importation en bloc. Google ne peut pas déchiffrer ni valider vos fichiers côté serveur. La section Valider les fichiers importés décrit plusieurs méthodes permettant de vérifier ponctuellement des fichiers individuels.

Une autre méthode de validation à grande échelle, particulièrement utile après une importation en bloc, consiste à utiliser l'outil de déchiffrement officiel decrypter tool. Commencez par télécharger le contenu chiffré depuis Drive à l'aide de Google Takeout. Tentez ensuite de déchiffrer le contenu à l'aide de l'outil de déchiffrement. Ce processus permet d'identifier les fichiers qui ne peuvent pas être déchiffrés, ce qui indique des problèmes potentiels dans la logique de chiffrement ou d'encapsulation de clé de votre outil d'importation.

Comprendre les limites et quotas

Les fichiers chiffrés côté client sont soumis aux limites et quotas Drive standards. Tenez compte des limites des Drive partagés, des limites générales applicables aux fichiers et aux dossiers, et de la manière de gérer votre quota. De plus, votre outil d'importation doit gérer les limites de débit de votre service de liste de contrôle d'accès aux clés et de votre fournisseur d'identité.