In diesem Leitfaden werden Best Practices für die Entwicklung eines benutzerdefinierten Tools zum Importieren von clientseitig verschlüsselten Dateien mit der Drive API beschrieben.
Drive for Desktop für Self-Service-Migrationen in Betracht ziehen
Nutzer können Dateien von ihrem lokalen Computer mit dem Client Drive for Desktop importieren. Sie unterstützt die clientseitige Verschlüsselung vollständig und ermöglicht es Nutzern, Dateien selbst zu verschlüsseln und hochzuladen. Das Erstellen eines benutzerdefinierten Tools, wie in diesem Leitfaden beschrieben, ist nur für umfangreiche, unbeaufsichtigte oder Bulk-Importe mit mehreren Nutzern erforderlich.
Hinweis
Sie müssen wissen, wie Sie eine einzelne Datei mit clientseitiger Verschlüsselung verwalten. Unter Einzelne clientseitig verschlüsselte Dateien verwalten finden Sie die grundlegenden Schritte für die Verschlüsselung, das Hoch-/Herunterladen und die Entschlüsselung, einschließlich der Tokengenerierung und der Interaktion mit Ihrem Key Access Control List Service (KACLS).
Mit einem Dienstkonto authentifizieren
Verwenden Sie ein Dienstkonto mit domainweiter Delegierung, wenn Sie mit der Drive API interagieren. Dadurch kann Ihre Anwendung Nutzer imitieren, sodass Sie sie programmatisch durchlaufen und Dateien direkt in ihrem Namen hochladen können.
Verzeichnisstruktur neu erstellen
Entwerfen Sie Ihr Importtool so, dass die Quelldateien und ‑ordner rekursiv durchlaufen werden, um die vorhandene Verzeichnisstruktur in Drive abzubilden. Der allgemeine Prozess sieht so aus:
- Erstellen Sie für jedes Quellverzeichnis einen entsprechenden Google Drive-Ordner.
- Verschlüsseln und laden Sie die Dateien des Verzeichnisses in den erstellten Drive-Ordner hoch.
- Wiederholen Sie den Vorgang für Unterverzeichnisse.
Dateien an den richtigen Ort hochladen
Laden Sie Dateien immer in „Meine Ablage“ des richtigen Nutzers oder in eine zugängliche geteilte Ablage hoch. Wenn Sie die ID einer geteilten Ablage oder eines Ordners finden möchten, können Sie sie statisch aus der Drive-Web-URL oder dynamisch mit den Methoden drives.list und files.list abrufen.
Duplikate verhindern
In Google Drive können mehrere Dateien im selben Ordner denselben Dateinamen haben. Generieren Sie IDs für Ihre Dateien, bevor Sie sie hochladen. Dazu können Sie die Drive API-Methode files.generateIds verwenden.
Wenn Sie diese vorab generierten IDs speichern, kann Ihr Importtool versuchen, jede Datei in die entsprechende ID hochzuladen. Wenn eine Datei mit dieser ID bereits vorhanden ist, kann Ihr Tool sie problemlos überspringen. Wenn Sie vorab generierte IDs verwenden, kann sich Ihr Tool nach einem Absturz leichter wiederherstellen.
Vor jedem Upload ein CSE-Token anfordern
Rufen Sie generateCseToken für jede Datei unmittelbar vor dem Umschließen des Schlüssels und dem Hochladen der Datei auf. So wird sichergestellt, dass das Token den aktuellen Status der zugehörigen Metadaten widerspiegelt, die sich ändern können.
Fortsetzbare Uploads für große Dateien verwenden
Verwenden Sie die Drive API fortsetzbaren Uploads, um große Dateien zu migrieren. Bei fortsetzbaren Uploads kann Ihr Importtool fehlgeschlagene Chunks bei Netzwerkunterbrechungen noch einmal versuchen, anstatt den gesamten Dateiupload neu zu starten.
Freigabeberechtigungen wiederherstellen
Wenn die Freigabeberechtigungen durch das Bulk-Importtool beibehalten werden müssen, verschlüsseln Sie die Datei zuerst, laden Sie sie hoch und rufen Sie dann die Methode permissions.create auf.
Freigabeberechtigungen werden nicht während des Dateiuploads angewendet.
Umgang mit dem Ablauf von Tokens
Bei Vorgängen mit langer Ausführungszeit können in Ihrem Skript aufgrund des Ablaufs von Tokens Authentifizierungsfehler auftreten. Implementieren Sie eine Logik, um Zugriffstokens automatisch zu aktualisieren und Uploads zu wiederholen. Weitere Informationen finden Sie im Open-Source-Beispiel, in dem gezeigt wird, wie eine einzelne Datei verschlüsselt und hochgeladen wird.
Importierte Dateien sorgfältig prüfen
Führen Sie nach einem Bulk-Import eine gründliche Validierung durch. Google kann Ihre Dateien nicht serverseitig entschlüsseln und validieren. Im Abschnitt Importierte Dateien validieren werden verschiedene Methoden zum Stichproben-Check einzelner Dateien beschrieben.
Eine zusätzliche Methode zur Bestätigung im großen Maßstab, die besonders nach einem Massenimport nützlich ist, ist die Verwendung des offiziellen Entschlüsselungstools. Laden Sie zuerst die verschlüsselten Inhalte aus Drive mit Google Datenexport herunter. Versuchen Sie dann, die Dateien mit dem Entschlüsselungstool zu entschlüsseln. So können Sie Dateien identifizieren, die nicht entschlüsselt werden können, und potenzielle Probleme in der Verschlüsselungs- oder Schlüsselumschließungslogik Ihres Importtools erkennen.
Informationen zu Limits und Kontingenten
Für clientseitig verschlüsselte Dateien gelten die Standardlimits und ‑kontingente von Drive. Beachten Sie die Beschränkungen für geteilte Ablagen, die allgemeinen Beschränkungen für Dateien und Ordner und die Informationen dazu, wie Sie Ihr Kontingent verwalten. Außerdem muss Ihr Importtool Ratenbeschränkungen von Ihrem Key Access Control List Service (KACLS) und Ihrem Identitätsanbieter (IdP) verarbeiten.