Microsoft Windows File Systems-Connector bereitstellen

Sie können Google Cloud Search so einrichten, dass zusätzlich zu den Google Workspace-Inhalten auch Ergebnisse aus den Microsoft Windows-Freigaben Ihrer Organisation zurückgegeben werden. Dafür verwenden Sie den File Systems-Connector von Google Cloud Search und konfigurieren ihn für den Zugriff auf bestimmte Windows-Freigaben. Für eine einzelne Connectorinstanz können mehrere Microsoft Windows-Freigaben verwendet werden.

Wichtige Aspekte

Kontinuierliche automatische Updates

Der Connector überwacht standardmäßig Startpfade (Werte aus fs.src in der Connector-Konfigurationsdatei), wenn der Connector gestartet wird. Wenn das Dateisystem Änderungen an den Inhalts- oder Zugriffssteuerungen meldet, wird der Connector angewiesen, das Dateisystem noch einmal zu crawlen. Dieses erneute Crawling kann ressourcenintensiv sein. Wenn Sie die Dateisystemüberwachung deaktivieren möchten, legen Sie für fs.monitorForUpdates den Wert false fest. Damit verringern Sie die Ressourcennutzung des Connectors erheblich. Die Änderungen werden allerdings erst entsprechend später im Connector widergespiegelt. Weitere Informationen

DFS-Zugriffssteuerung

Im DFS-System wird für Links die Zugriffssteuerung angewendet und normalerweise hat jeder DFS-Link eine eigene ACL. Von DFS wird beispielsweise die zugriffsbasierte Aufzählung (Access-based Enumeration, ABE) eingesetzt, mit der die an einen Nutzer zurückgegebenen DFS-Links eingeschränkt werden können. Wenn gehostete Basisverzeichnisse durch ABE isoliert werden, erhalten Nutzer möglicherweise nur eine Teilmenge der DFS-Links oder auch nur einen einzigen Link. Wenn der Connector ein DFS-System durchläuft, werden die DFS-Link-ACL und die Freigaben-ACL des Ziels berücksichtigt. Die Freigaben-ACL übernimmt die Einstellungen der DFS-ACL.

Bekannte Einschränkungen

  • Dateisystem: Der File Systems-Connector unterstützt weder zugeordnete noch lokale Laufwerke.
  • Verteiltes Dateisystem (Distributed File System, DFS): Ein Laufwerk, das einem UNC-DFS zugeordnet ist, funktioniert nicht richtig. Einige ACLs werden nicht richtig gelesen.
  • Der File Systems-Connector unterstützt DFS-Namespaces und ‑Links. Der Connector unterstützt jedoch nur DFS-Links in einem DFS-Namespace, nicht die regulären Ordner im DFS-Namespace.
  • Auf cloudsearch.google.com zurückgegebene Dateilinks können nicht angeklickt werden. Auch die von der Query API zurückgegebenen Dateilinks können in den meisten Browsern nicht angeklickt werden.

Systemanforderungen

Systemanforderungen
Betriebssystem
  • Windows Server 2016
  • Windows Server 2012
  • Windows Server 2008 R2
Software
  • Java JRE 1.8. Die Umgebung muss auf dem Computer installiert sein, auf dem der File Systems-Connector für Google Cloud Search ausgeführt wird.
Dateisystemprotokolle
  • Server Message Block (SMB) – SMB1
  • Server Message Block (SMB) – SMB2
  • Distributed File System (DFS)

Nicht unterstützt:lokale Windows-Dateisysteme, Sun Network File System (NFS) 2.0, Sun Network File System (NFS) 3.0 oder lokales Linux-Dateisystem

Connector bereitstellen

Vorbereitung

Bevor Sie den File Systems-Connector für Cloud Search bereitstellen, sollten Sie prüfen, ob die Umgebung die folgenden Voraussetzungen erfüllt:

Erforderliche Berechtigungen für Microsoft Windows-Konten

Das Microsoft Windows-Konto, unter dem der Connector ausgeführt wird, muss bestimmte Berechtigungen haben, um die folgenden Aktionen ausführen zu können:

  • Inhalt von Ordnern auflisten
  • Inhalt von Dokumenten lesen
  • Attribute von Dateien und Ordnern lesen
  • Leseberechtigungen (ACLs) für Dateien und Ordner
  • Schreibberechtigungen für grundlegende Attribute

Durch die Mitgliedschaft in einer der folgenden Gruppen erhält ein Windows-Konto die Berechtigungen, die der Connector benötigt:

  • Administratoren
  • Fortgeschrittene Nutzer
  • Druckoperatoren
  • Server-Betreiber

Schritt 1: File Systems-Connector für Google Cloud Search installieren

  1. Rufen Sie das Connector-Repository von GitHub ab und erstellen Sie dafür einen Build.

    So verwenden Sie Git auf dem Windows-Server:

    1. Klonen Sie das Repository:

      > git clone https://github.com/google-cloudsearch/windows-filesystems-connector.git
      > cd windows-filesystems-connector
    2. Checken Sie die gewünschte Version des Connectors aus:

      > git checkout tags/v1-0.0.3

    So laden Sie Inhalte direkt von GitHub herunter:

    1. Rufen Sie https://github.com/google-cloudsearch/windows-filesystems-connector auf.
    2. Klicken Sie auf Clone or download (Klonen oder herunterladen)  Download zip (ZIP-Datei herunterladen).
    3. Entpacken Sie das Paket.
    4. Wechseln Sie zum neuen Verzeichnis:
      > cd windows-filesystems-connector
  2. Erstellen Sie einen Build für den Connector. Installieren Sie gegebenenfalls Apache Maven.

    > mvn package

    Wenn Sie beim Erstellen des Connectors Tests überspringen möchten, führen Sie mvn package -DskipTests anstelle von mvn package aus.

  3. Kopieren Sie die ZIP-Datei des Connectors in das lokale Installationsverzeichnis:

    > 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

Schritt 2: Konfigurationsdatei für Connector erstellen

  1. Erstellen Sie im selben Verzeichnis wie die Connector-Installation eine Datei und nennen Sie sie connector-config.properties.

  2. Fügen Sie dem Dateiinhalt Parameter als Schlüssel/Wert-Paare wie im folgenden Beispiel hinzu:

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

    Ausführliche Beschreibungen der einzelnen Parameter finden Sie im Abschnitt Konfigurationsparameter.

  3. Optional: Konfigurieren Sie bei Bedarf weitere Connector-Parameter. Weitere Informationen zu den von Google bereitgestellten Connectorparametern

Schritt 3: Logging aktivieren

  1. Erstellen Sie einen Ordner namens logs im selben Verzeichnis, in dem sich die Binärdatei des Connectors befindet.
  2. Erstellen Sie dort außerdem eine ASCII- oder UTF-8-Datei namens logging.properties und fügen Sie den folgenden Inhalt ein:

    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
    

Schritt 4: Optional: Medientypen konfigurieren

Der Connector versucht standardmäßig, den Medientyp für jede Datei mit der vom JDK bereitgestellten Erkennung des Medientyps zu ermitteln. Unter Microsoft Windows ermittelt das JDK die Medientypen für Dateien mithilfe der Windows-Registrierung. Ein fehlender Registrierungseintrag kann für bestimmte Dateien zu einem Null-Medientyp führen.

Sie können bei Bedarf einen Medientyp angeben, der vorhandene Bindungen überschreibt oder einen Null-Medientyp verhindert.

  1. Erstellen Sie im Connector-Verzeichnis eine Latin-1-verschlüsselte Datei mit dem Namen mime-type.properties.
  2. Geben Sie die Dateiendungen und die zugehörigen Medientypen wie in den folgenden Beispielen ein:

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

Schritt 5: File Systems-Connector ausführen

Nachdem Sie den File Systems-Connector installiert und konfiguriert haben, führen Sie einen Befehl wie im folgenden Beispiel aus, um ihn auf dem Hostcomputer zu starten:

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

Geben Sie den Konfigurationsdateipfad an, wenn er vom Standardverzeichnis abweicht (im selben Verzeichnis wie die Binärdatei mit dem Namen connector-config.properties).

Referenz zu Konfigurationsparametern

Zugriff auf Datenquellen

Einstellung Parameter
ID der Datenquelle api.sourceId=1234567890abcdef

Erforderlich. Die ID der Google Cloud Search-Quelle, die vom Google Workspace-Administrator eingerichtet wurde.

Pfad zur privaten Schlüsseldatei des Dienstkontos api.serviceAccountPrivateKeyFile=./PrivateKey.json

Erforderlich. Die Schlüsseldatei des Google Cloud Search-Dienstkontos für den Zugriff des File Systems-Connectors auf Google Cloud Search.

ID der Identitätsquelle api.identitySourceId=x0987654321

Erforderlich. Die ID der Identitätsquelle, die vom Google Workspace-Administrator eingerichtet wurde, um Active Directory-Identitäten mithilfe von GCDS zu synchronisieren.

Dateisystemzugriff

Einstellung Parameter
Quelldateisysteme fs.src=path1[,path2, ...]

Erforderlich. Geben Sie Quelldateisysteme als eine oder mehrere UNC-Quellen an, die durch das mit fs.src.separator konfigurierte Trennzeichen getrennt sind. Wenn Sie Zeichen verwenden, die nicht in Latin1 enthalten sind, codieren Sie sie mit Java-Unicode-Escape-Zeichen.

Pfadtrennzeichen

Einstellung Parameter
Pfadtrennzeichen fs.src.separator=separator-character

Das Standardtrennzeichen ist „;“. Wenn Ihre Quellpfade Semikolons enthalten, können Sie ein anderes Trennzeichen verwenden, z. B. ein Komma (,), das nicht mit den Zeichen in Ihren Pfaden in Konflikt steht und nicht durch die Syntax der Property-Dateien selbst reserviert ist.

Ist der Wert von fs.src.separator ein leerer String, wird der Wert von fs.src als einzelner Pfad behandelt.

Connector-Verhalten

Einstellung Parameter
Windows-Domain fs.supportedDomain=domain

Erforderlich, damit Nutzer, die mit GCDS eingerichtet sind, über Cloud Search auf Dokumente zugreifen können. Geben Sie diesen als einzelnen NetBIOS-Domainnamen des Active Directory an.

Konten in ACLs aufnehmen fs.supportedAccounts=account-1[, account-2,...]

Eine durch Kommas getrennte Liste der Konten, die in ACLs aufgenommen werden sollen, unabhängig davon, ob es sich um integrierte Konten handelt.

Der Standardwert ist BUILTIN\\Administrators,Everyone,BUILTIN\\Users, BUILTIN\\Guest,NT AUTHORITY\\INTERACTIVE, NT AUTHORITY\\Authenticated Users.

Integrierte Konten von ACLs ausschließen fs.builtinGroupPrefix=prefix

Geben Sie das Präfix der integrierten Konten an. Alle Konten, die mit diesem Präfix beginnen, werden als integrierte Konten betrachtet und von den ACLs ausgeschlossen.

Der Standardwert ist BUILTIN\\.

Indexierung versteckter Dateien und Ordner zulassen fs.crawlHiddenFiles=boolean

Legen Sie true fest, damit der Connector versteckte Dateien und Ordner crawlen kann. Unter Windows-Dateisystemen gilt eine Datei oder ein Ordner als ausgeblendet, wenn das DOS-Attribut „Versteckt“ festgelegt ist. Der Standardwert ist false.

Indexierung von gecrawlten Ordnerlisten und Aufzählungen von DFS-Namespaces zulassen fs.indexFolders=boolean

Wenn true (Standardeinstellung) festgelegt ist und der Connector einen Ordner crawlt, wird ein CONTAINER_ITEM-Objekt erstellt. Ist „false“ festgelegt, wird mit dem Connector stattdessen ein VIRTUAL_CONTAINER_ITEM-Objekt erstellt.

Änderungsmonitoring für Dateisysteme aktivieren fs.monitorForUpdates=boolean

Wenn true festgelegt ist (Standardeinstellung), wird bei Änderungen der Inhalts- oder Zugriffssteuerung der Connector angewiesen, das Dateisystem noch einmal zu crawlen. Wenn Sie das Monitoring deaktivieren (auf false gesetzt), verringern Sie die Ressourcennutzung des Connectors erheblich. Die Änderungen werden allerdings erst entsprechend später im Connector widergespiegelt.

Maximale Größe des Verzeichniscaches festlegen fs.directoryCacheSize=number-of-entries

Die maximale Größe des Verzeichniscaches. Der Connector nutzt den Cache, um versteckte Ordner zu ermitteln und so zu verhindern, dass Dateien und Ordner in versteckten Ordnern indexiert werden.

Der Standardwert ist 50.000 Einträge, die normalerweise 10–15 MB RAM beanspruchen.

Zeitstempelaufbewahrung und Crawling-Steuerung

Einstellung Parameter
Zeitstempel des letzten Zugriffs speichern fs.preserveLastAccessTime=value

Wenn der Connector Dateien und Ordner crawlt, kann er den Zeitstempel des letzten Zugriffs für diese Dateien und Ordner auf den Zeitpunkt des Crawlings festlegen. Wenn die Zeitpunkte des letzten Zugriffs nicht beibehalten werden, verschieben Sicherungs- und Archivierungssysteme die entsprechenden Dateien und Ordner möglicherweise wegen des Connector-Aufrufs nicht in den sekundären Speicher.

Standardmäßig versucht der Connector, den Zeitpunkt des letzten Zugriffs beizubehalten (fs.preserveLastAccessTime ist auf ALWAYS festgelegt). Der Connector kann den Zeitpunkt des letzten Zugriffs auf die Datei möglicherweise nicht wiederherstellen, wenn die Berechtigungen des Nutzers nicht ausreichen, um Dateiattribute zu schreiben. Wenn ALWAYS festgelegt ist, lehnt der Connector Crawling-Anfragen für das Dateisystem ab, sodass die Zeitstempel des letzten Zugriffs für die Dateien nicht geändert werden.

Mögliche Werte:

  • ALWAYS: Der Connector versucht, beim Crawlen von Dateien und Ordnern den Zeitpunkt des letzten Zugriffs beizubehalten. Wenn der Connector den Zeitpunkt des letzten Zugriffs zum ersten Mal nicht beibehalten kann, lehnt er alle nachfolgenden Crawling-Anfragen für das Dateisystem ab. So wird verhindert, dass weitere Zeitstempel des letzten Zugriffs geändert werden.
  • IF_ALLOWED: Der Connector versucht, beim Crawlen von Dateien und Ordnern den Zeitpunkt des letzten Zugriffs beizubehalten. Das Crawling wird auch dann fortgesetzt, wenn einige Zeitstempel nicht beibehalten wurden.
  • NEVER: Der Connector versucht nicht, beim Crawlen von Dateien und Ordnern den Zeitpunkt des letzten Zugriffs beizubehalten.
Nur Dateien crawlen, auf die nach einem bestimmten Datum zugegriffen wurde fs.lastAccessedDate=YYYY-MM-DD

Das Crawling erfolgt nur, wenn der Zeitpunkt des letzten Zugriffs nach dem angegebenen Datum liegt. Der Standardwert ist disabled.

Geben Sie das Datum im ISO8601-Datumsformat an, also JJJJ-MM-TT. Wenn der Wert beispielsweise 2010-01-01 lautet, crawlt der Connector nur Inhalte, auf die nach Anfang 2010 zugegriffen wurde.

Wenn Sie fs.lastAccessedDate angeben, können Sie nicht außerdem noch einen Wert für fs.lastAccessedDays festlegen.

Nur Dateien crawlen, auf die während der angegebenen Anzahl vergangener Tage zugegriffen wurde fs.lastAccessedDays=number-of-days

Inhalte werden nur gecrawlt, wenn der Zeitpunkt des letzten Zugriffs innerhalb der Anzahl der Tage vor dem aktuellen Zeitpunkt liegt. Der Standardwert ist disabled.

Sie können das Attribut verwenden, um bereits indexierte Inhalte, auf die seit einiger Zeit nicht mehr zugegriffen wurde, zu ignorieren. Legen Sie beispielsweise 365 fest, damit Inhalte nur gecrawlt werden, wenn im letzten Jahr auf sie zugegriffen wurde.

Wenn Sie fs.lastAccessedDays angeben, können Sie nicht außerdem noch einen Wert für fs.lastAccessedDate festlegen.

Nur Dateien crawlen, die nach einem bestimmten Datum geändert wurden fs.lastModifiedDate=YYYY-MM-DD

Inhalte werden nur gecrawlt, wenn der Zeitpunkt der letzten Änderung nach dem angegebenen Datum liegt. Der Standardwert ist disabled.

Geben Sie das Datum im ISO8601-Datumsformat an, also JJJJ-MM-TT. Wenn der Wert beispielsweise 2010-01-01 lautet, crawlt der Connector nur Inhalte, die nach Anfang 2010 geändert wurden.

Wenn Sie fs.lastModifiedDate angeben, können Sie nicht außerdem noch einen Wert für fs.lastModifiedDays festlegen.

Nur Dateien crawlen, die während der angegebenen Anzahl vergangener Tage geändert wurden fs.lastModifiedDays=number-of-days

Inhalte werden nur gecrawlt, wenn der Zeitpunkt der letzten Änderung innerhalb der Anzahl der Tage vor dem aktuellen Zeitpunkt liegt. Der Standardwert ist disabled.

Sie können das Attribut verwenden, um bereits indexierte Inhalte, die seit einiger Zeit nicht mehr geändert wurden, zu ignorieren. Legen Sie beispielsweise 365 fest, damit Inhalte nur gecrawlt werden, wenn sie im letzten Jahr geändert wurden.

Wenn Sie fs.lastModifiedDays angeben, können Sie nicht außerdem noch einen Wert für fs.lastModifiedDate festlegen.

Zugriffssteuerung für Dateifreigaben überspringen

Der Connector behält standardmäßig die Integrität der Zugriffssteuerung bei, wenn er ACLs (Access Control Lists) an die Indexing API sendet, einschließlich der ACLs in der Dateifreigabe. In einigen Konfigurationen hat der Connector jedoch möglicherweise keine ausreichenden Berechtigungen zum Lesen der Freigabe-ACL. In diesen Fällen werden in den Suchergebnissen keine Dateien zurückgegeben, die in dieser Dateifreigabe verwaltet werden.

Sie können den Connector so konfigurieren, dass er die Freigabe-ACL ignoriert, sodass Inhalte immer in den Suchergebnissen angezeigt werden. In diesem Fall erhält die Indexing API statt der tatsächlichen eine vollständig zulässige Freigabe-ACL.

Einstellung Parameter
Zugriffssteuerung für Dateifreigaben überspringen fs.skipShareAccessControl=boolean

Legen Sie false fest (Standardeinstellung), um die Verwendung von Freigabe-ACLs zu erzwingen. Legen Sie true fest, um Freigabe-ACLs zu ignorieren.