Google Drive Connector

Installation und Konfiguration

Copyright ©

Mindbreeze GmbH, A-4020 Linz, 2018.

Alle Rechte vorbehalten. Alle verwendeten Hard- und Softwarenamen sind Handelsnamen und/oder Marken der jeweiligen Hersteller.

Diese Unterlagen sind streng vertraulich. Durch die Übermittlung und Präsentation dieser Unterlagen alleine werden keine Rechte an unserer Software, an unseren Dienstleistungen und Dienstleistungsresultaten oder sonstigen geschützten Rechten begründet. Die Weitergabe, Veröffentlichung oder Vervielfältigung ist nicht gestattet.

Aus Gründen der einfacheren Lesbarkeit wird auf die geschlechtsspezifische Differenzierung, z.B. Benutzer/-innen, verzichtet. Entsprechende Begriffe gelten im Sinne der Gleichbehandlung grundsätzlich für beide Geschlechter.

VoraussetzungenPermanenter Link zu dieser Überschrift

Überblick KonfigurationsmöglichkeitenPermanenter Link zu dieser Überschrift

Grundsätzlich verwendet der Google Drive Connector bei Kommunikation mit Google eine Server-to-Server Authentifizierung. Dies ist die von Google empfohlene Methode, es muss kein Mensch anwesend sein, um den Connector zu betreiben. Für diese Methode muss ein Google-Service-Account vorhanden sein, welcher die Option „G-Suite Domain-wide Delegation“ besitzt. Damit kann dieser Account beliebige Personen in der G-Suite verkörpern (inpersonification) und dessen Dateien lesen. Wenn diese Methode verwenden können, halten Sie sich an die folgenden Abschnitte „Service Account“.

Wenn Sie keinen Google Service Account zur Verfügung haben, gibt es eine alternative Methode mit OAuth, den Google Drive Connector zu betreiben. Es wird kein Google Service Account benötigt. Die OAuth Methode ist nicht empfohlen, diese soll nur in Ausnahmefällen verwendet werden. Bei dieser sehr komplizierten Methode muss die Person, dessen Dateien Indiziert werden sollen, anwesend sein, um im Google-OAuth Prozess dessen Passwort einmalig einzugeben und die Leseberechtigungen zu akzeptieren. Wenn sie diese nicht empfohlene Methode verwenden wollen, halten Sie sich an die folgenden Abschnitte „OAuth“.

Anlegen und Konfigurieren des Google Service AccountsPermanenter Link zu dieser Überschrift

Google Service Account ErstellungPermanenter Link zu dieser Überschrift

Navigieren Sie zu console.developers.google.com/ und melden Sie sich an.

Klicken Sie auf Credentials an der linken Seite und dann klicken Sie auf „Manage Service Accounts

Klicken Sie auf „Create Service Account“ und geben Sie einen Kontonamen ein. Wählen Sie den „Service Account Admin“ Rolle, und Klicken Sie auf „Enable G Suite Domain-wide Delegation“.

Öffnen Sie die Konto-Optionen an der rechten Seite und Klicken Sie auf „Create Key“

Wählen Sie „P12“ und speichern Sie die .p12 Datei.

Hinweis: Die .p12 Datei ist notwendig für den Google Driver Crawler und den Google Drive Principal Resolution Service Service.

Jetzt sollten Sie die Client-ID Ihres Google-Service-Accounts sehen. Diese ID ist für den nächsten Schritt (1.2.2) notwendig und sollte notiert werden.

Verknüpfung von Gsuite und Google Service AccountPermanenter Link zu dieser Überschrift

Navigieren Sie zu Gsuite https://gsuite.google.com/intl/de/ und loggen Sie sich mit Ihrer Domäne ein, mit Zugriff auf die Admin-Konsole. Wenn notwendig, loggen Sie sich mit dem gleichen Benutzer ein, mit dem Sie sich auch unter console.developers.google.com angemeldet haben.

Klicken Sie auf Sicherheit > Mehr Anzeigen > Erweiterte Einstellungen > API-Clientzugriff verwalten

Geben Sie die Client ID des Google-Service-Accounts im Clientname Felder ein.

Geben Sie die richtigen API-Bereiche ein.

Notwendig Einträge:

https://www.googleapis.com/auth/admin.directory.group.readonly,https://www.googleapis.com/auth/admin.directory.user.readonly,https://www.googleapis.com/auth/drive.readonly

Konfiguration Google OAuthPermanenter Link zu dieser Überschrift

Ein Google Account innerhalb einer GSuite-Domäne ist erforderlich. Der Account wird benutzt um Dateien zu Indizieren, auf die dieser Account zugreifen kann.

Erstellen der CredentialsPermanenter Link zu dieser Überschrift

Dieser Schritt wird benötigt, um vom Account auf die Google Drive Dateien zugreifen zu können.

Aktivieren der Drive APIPermanenter Link zu dieser Überschrift

Rufen Sie die Library Page in der API Console auf. (https://console.developers.google.com/apis/library). Stellen Sie sicher, dass die mit dem richtigen Account angemeldet sind.

Klicken Sie auf “G Suite APIs” -> “Drive API

Wenn die Google Drive API Seite Folgendes ausgibt: “A project is needed to enable APIs”, klicken Sie auf “Create Project”, dann “Create” und geben Sie einen Projektnamen an z.B.: “Mindbreeze Crawler”.

Zurück auf der Google Drive API Seite, klicken Sie auf den “Enable” Knopf.

Erstellen der Authorisierungs CredentialsPermanenter Link zu dieser Überschrift

Öffnen Sie die Credentials Seite indem Sie auf den “Credentials” Knopf auf der linken Seite klicken. (https://console.developers.google.com/apis/credentials)

Klicken Sie “Create credentials” und wählen Sie “OAuth Client ID

Wenn die Seite Sie auffordert, den Consent Screen einzurichten, klicken Sie auf “Configure consent screen. Setze sie den “Product name shown to users” auf z.B.: “Mindbreeze Crawler”. Anschließend, klicken Sie auf “Save”.

Zurück auf der Create client ID Seite fragt Sie ein Wizard welchen Application type Sie nutzen wollen. Wählen Sie “Other” aus und setzten Sie einen Namen z.B.: “Mindbreeze Crawler” und klicken Sie auf “Create”.

Ein Popup-Dialog erscheint “OAuth Client”. Schließen Sie den Dialog indem Sie auf “OK” klicken. Die angezeigten Informationen werden später separat heruntergeladen. Das neu erzeugte Credential erscheint in der Liste. Klicken Sie auf das “Download JSON” Icon auf der rechten Seite, um das Credential als JSON Datei herunterzuladen.

Aktivieren und Konfigurieren der Admin APIPermanenter Link zu dieser Überschrift

Dieser Schritt ist notwendig um den Account Zugriff auf die Benutzer und Gruppennamen der GSuite zu geben. Aus diesen Informationen werden die Zugriffsrechte der für eine spezifische Datei bei der Suche berechnet.

Aktivieren des Admin SDKPermanenter Link zu dieser Überschrift

Öffnen Sie die Library Seite (https://console.developers.google.com/apis/library) in der API Console. Stellen Sie sicher, dass Sie mit dem richtigen Account angemeldet sind.

Klicken Sie auf “G Suite APIs” -> “Admin SDK

Stellen Sie sicher, dass das richtige Projekt (z.B.:  “Mindbreeze Crawler”) oben ausgewählt ist. Anschließend klicken Sie auf “Enable”.

Zugriff zum Lesen von Gruppen- und Benutzernamen für den Google Account erlaubenPermanenter Link zu dieser Überschrift

Es werden nur die Berechtigungen Users.Read und Groups.Read benötigt. Das Bedeutet, dass der Google Account nur in der Lage ist, seine eigenen Dateien und die Namen der Gruppen und Benutzer in der GSuite Domäne zu lesen. Der Google Account kann keine anderen Benutzer impersonieren. Der Google Account kann keinen Dateien anderer Benutzer lesen, außer die Dateien wurden explizit freigegeben.

Öffnen Sie die Google Admin Console (https://admin.google.com) und melden Sie sich mit einem GSuite Account mit Administrator Berechtigungen an.

Klicken Sie auf “Admin roles” um auf die Admin roles Seite zu navigieren.

Klicken Sie auf “Create a new Role”. Diese Rolle wird mit minimalen Zugriffsrechten Konfiguriert. Wählen Sie einen Namen (z.B.: “Mindbreeze Crawler”) und klicken Sie auf “Create”.

Das “Privileges” Tab der neuen Rolle erscheint. Unter dem Abschnitt “Admin API Privileges”, klappen Sie den Eintrag “Users” aus und haken Sie das Kästchen “Read” an. Anschließend klappen Sie den Eintrag “Groups” und haken Sie das Kästchen “Read” an. Anschließend klicken Sie auf “Save” unten. Die Rolle “Mindbreeze Crawler” hat nun die “Admin API” Berechtigungen “Users.Read” und “Groups.Read”.

Navigieren Sie zu dem “Admins” Tab oben. Klicken Sie auf “Assign Admins”. Geben Sie die E-Mail-Adresse des Google Accounts an, den Sie für das aktivieren des Admin SDK benutzt haben. Klicken Sie auf “Confirm Assignment”. Die Rolle “Mindbreeze Crawler” hat nun einen zugewiesenen Administrator.

InstallationPermanenter Link zu dieser Überschrift

Vor der Installation des Google Drive Konnektors muss sichergestellt werden, dass der Mindbreeze Server installiert und der Google Drive Konnektor in der Lizenz inkludiert ist. Zur Installation oder Aktualisierung des Konnektors verwenden Sie bitte das Mindbreeze Management Center.

Installation des Plugins via Mindbreeze Management CenterPermanenter Link zu dieser Überschrift

Zur Installation des Plugins, öffnen Sie das Mindbreeze Management Center. Wählen Sie aus dem linken Menü den Punkt „Configuration“ aus. Anschließend navigieren Sie auf den Reiter „Plugins“. Im Abschnitt „Plugin Management“ wählen Sie die entsprechende Zip-Datei aus laden sie durch Auswahl der Schaltfläche „Upload“ hoch. Damit wird der Konnektor automatisch installiert oder gegebenenfalls aktualisiert. In diesem Zuge werden die Mindbreeze Dienste neugestartet.

Konfiguration von MindbreezePermanenter Link zu dieser Überschrift

Wählen Sie zur Konfiguration die Installationsmethode „Advanced“.

Konfiguration von Google Drive Caching Principal Resolution ServicePermanenter Link zu dieser Überschrift

Zur korrekten Behandlung der Berechtigungen benötigt der Google Drive Connector einen Caching Principal Resolution Service.

Navigieren Sie auf den Reiter „Indices“.

Klicken Sie in Abschnitt „Services“ rechts auf „Add new Service“.

Wählen Sie bei „Service“ den Eintrag „Google Drive Principal Resolution Service“ aus.

Ändern Sie gegebenenfalls den „Display Name“.

Im Abschnitt „Connection Settings“ setzen Sie die Verbindungseinstellungen. Der Connector unterstützt zwei Konfigurationsvarianten: Service Account (empfohlen) und OAuth.

Verbindung über einen Service Account herstellenPermanenter Link zu dieser Überschrift

Folgende Einstellungen müssen gesetzt werden:

GSuite Domain

Domain, die in Google Drive verwendet wird

Service Account Name

E-Mail Adresse des Google Service-Accounts, endet üblicherweise auf .gserviceaccount.com

GSuite Admin User Mail Address

E-Mail Adresse des GSuite Administrators, endet üblicherweise auf @mycompany.com

Path to P12 Certificate

Pfad zum P12-Zertifikat, welches beim Erstellen des Google-Service-Accounts erzeugt wurde.

Zusätzlich sind im Abschnitt „Cache Settings“ folgende Einstellungen zu setzen:

Database Directory Path

Verzeichnis in dem die Cache-Daten abgelegt werden dürfen

Cache Update Interval (Minutes)

Dauer, in Minuten, in der sich der Cache aktualisiert.

Verbindung über OAuth herstellenPermanenter Link zu dieser Überschrift

Setzen der EinstellungenPermanenter Link zu dieser Überschrift

Folgende Einstellungen müssen gesetzt werden:

GSuite Domain

Domain, die in Google Drive verwendet wird

Use OAuth instead

Anhaken, damit OAuth verwendet wird

Client Secret JSON File Path

Pfad zur JSON-Datei, welche beim Anlegen der OAuth-Credentials heruntergeladen wurde.

Credential Persistence Directory Path

Pfad zu einem Verzeichnis, in dem die Credentials gespeichert werden können.

OAuth response receive Port (HTTP)

Port zum Empfang des OAuth-Codes. Wählen Sie einen freien Port aus. Der Port wird nur beim initialen Setup geöffnet.

Zusätzlich sind im Abschnitt „Cache Settings“ folgende Einstellungen zu setzen:

Database Directory Path

Verzeichnis in dem die Cache-Daten abgelegt werden dürfen

Cache Update Interval (Minutes)

Dauer, in Minuten, in der sich der Cache aktualisiert.

Durchführen des OAuth-Authentifizierungs-VorgangsPermanenter Link zu dieser Überschrift

  1. Principal Resolution Service Starten
  2. In der Log-Datei des Principal Resolution Service wird ein Hinweis angezeigt, eine URL mit einem Browser auf demselben System zu öffnen.

  1. Öffnen Sie die URL auf einem Browser auf demselben System. (Falls dies nicht möglich ist, verwenden Sie einen Browser auf einem anderen System. Es sind dann zusätzliche Schritte notwendig.)
  2. Sie werden auf die Google Anmeldeseite geleitet. Melden Sie sich mit dem Google-Account an, den Sie für den Connector vorgesehen haben. Folgen Sie den Bildschirmanweisungen. Erlauben Sie den Zugriff.

  1. Es wird im Browser der Text „Received verification code. You may now close this window...” angezeigt. Damit ist der Vorgang erfolgreich abgeschlossen. Sie können die nächsten Schritte ignorieren.
  2. Falls Sie einen Browser auf einem anderen System verwendet haben, bekommen Sie eine Fehlermeldung das die Verbindung nicht hergestellt werden konnte. Beispiel Firefox:

  1. Kopieren Sie die URL aus der Adressleiste des Browsers. Die URL hat folgende Form: „http://localhost:12345/oauthresponse?code=abc123"
  2. Auf dem Mindbreeze-System, senden Sie eine HTTP-GET Anfrage. Führen Sie dazu auf der Kommandozeile folgenden Befehl aus: „curl "http://localhost:12345/oauthresponse?code=abc123" ". Ersetzen sie die URL entsprechend der vorhin kopierten URL.
  3. Auf der Kommandozeile wird folgender Text ausgegeben: „Received verification code. You may now close this window...”. Damit ist der Vorgang erfolgreich abgeschlossen.

Konfiguration von Index und CrawlerPermanenter Link zu dieser Überschrift

Navigieren Sie auf den Reiter „Indices“ und klicken Sie auf das Symbol „Add new index“ rechts oben, um einen neuen Index zu erzeugen.


Geben Sie den Pfad zum Index ein und ändern Sie gegebenenfalls des Display Name.

Fügen Sie eine neue Datenquelle durch Klick auf das Symbol „Add new custom source“ rechts oben hinzu. Wählen Sie die Category „Google Drive“. Wählen Sie bei „Caching Principal Resolution Service“ den zuvor konfigurierten Google Drive Caching Principal Resolution Service aus.

Im Abschnitt „Connection Settings“ setzen Sie die Verbindungseinstellungen. Der Connector unterstützt zwei Konfigurationsvarianten: Service Account (empfohlen) und OAuth.

Verbindung über einen Service Account herstellenPermanenter Link zu dieser Überschrift

Folgende Einstellungen müssen gesetzt werden:

Service Account Name

E-Mail Adresse des Google Service-Accounts, endet üblicherweise auf .gserviceaccount.com

GSuite Admin User Mail Address

E-Mail Adresse des GSuite Administrators, endet üblicherweise auf @mycompany.com

Path to P12 Certificate

Pfad zum P12-Zertifikat, welches beim Erstellen des Google-Service-Accounts erzeugt wurde.

Verbindung über OAuth herstellenPermanenter Link zu dieser Überschrift

Stellen Sie sicher, dass Sie bereits den Google Drive Caching Principal Resolution Service erfolgreich eingerichtet haben.

Folgende Einstellungen müssen gesetzt werden:

Use OAuth instead

Anhaken, damit OAuth verwendet wird

Client Secret JSON File Path

Pfad zur JSON-Datei, welche beim Anlegen der OAuth-Credentials heruntergeladen wurde.

Credential Persistence Directory Path

Pfad zu einem Verzeichnis, in dem die Credentials gespeichert werden können. Wählen Sie dasselbe Verzeichnis wie beim Google Drive Caching Principal Resolution Service.

OAuth response receive Port (HTTP)

Port zum Empfang des OAuth-Codes. Wählen Sie einen freien Port aus. Der Port wird nur beim initialen Setup geöffnet.

Erweiterte EinstellungenPermanenter Link zu dieser Überschrift

Damit diese Einstellungen sichtbar werden, aktivieren sie in den Filter Tab rechts oben die Option „Advanced“. Folgende Einstellungen sind verfügbar:

Im Abschnitt „Crawer Settings“:

„Maximum File Size (MB)“

Maximale Dateigröße. Größere Dateien werden ignoriert. Dies ist bei Google-Docs Objekten wirkungslos

Number of Crawler Threads“

Anzahl der Threads, die parallel Dokumente herunterladen. Eine zu hohe Anzahl kann zu Fehlern der Google-Drive API führen.

„Max Fetch Retry Count“

Bei gewissen Fehlern beim Herunterladen eines Dokuments versucht der Connector erneut, das Dokument herunterzuladen. Dies bestimmt die maximale Anzahl der Versuche.

„Exponential Backoff Wait Time (s)“

Bei gewissen Fehlern beim Herunterladen eines Dokuments versucht der Connector erneut, das Dokument herunterzuladen. Vor jedem Versuch wartet der Connector die eingestellte Zeit ab. Bei jedem weiteren Versuch wird die Wartezeit verdoppelt. (Exponential Backoff)

Im Abschnitt „Content Settings“:

Exclude MIME Types Pattern“

Wenn der MIME-Typ eines Dokuments diesem regulären Ausdruck entspricht, wird das Dokument ignoriert. Beispiel: application/vnd\.google\-apps.* ignoriert alle Google-Docs Dokumente.

Exclude Filename Pattern“

Wenn der Dateinamen eines Dokuments diesem regulären Ausdruck entspricht, wird das Dokument ignoriert. Beispiel: .*\.zip ignoriert alle ZIP-Archive.