Microsoft Windows File Systems-Connector bereitstellen

Sie können Google Cloud Search so einrichten, dass neben Ihren Google Workspace-Inhalten auch Ergebnisse aus den Microsoft Windows-Freigaben Ihrer Organisation zurückgegeben werden. Dazu verwenden Sie den File Systems-Connector von Google Cloud Search und konfigurieren ihn für den Zugriff auf bestimmte Windows-Freigaben. Eine einzelne Connector-Instanz kann mehrere Microsoft Windows-Freigaben unterstützen.

Wichtige Aspekte

Kontinuierliche automatische Updates

Standardmäßig überwacht der Connector beim Start des Connectors kontinuierlich Startpfade (Werte aus fs.src in der Connector-Konfigurationsdatei). Wenn das Dateisystem Änderungen an den Inhalts- oder Zugriffssteuerungen meldet, wird der Connector aufgefordert, das Dateisystem noch einmal zu crawlen. Ein erneutes Crawling kann ressourcenintensiv sein. Wenn Sie die Überwachung des Dateisystems deaktivieren möchten, setzen Sie fs.monitorForUpdates auf false. Sie reduzieren die Ressourcennutzung eines Connectors erheblich. Die Änderungen werden jedoch erst später im Connector widergespiegelt. Weitere Informationen

DFS-Zugriffssteuerung

Im DFS-System wird die Zugriffssteuerung auf alle Links angewendet und normalerweise hat jeder DFS-Link eine eigene ACL. DFS verwendet beispielsweise die zugriffsbasierte Aufzählung (Access-based Enumeration, ABE), 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 einen Teil der DFS-Links oder auch nur einen Link. Wenn der Connector ein DFS-System durchläuft, respektiert er die DFS-Link-ACL und die Freigabe-ACL des Ziels. Die Freigabe-ACL übernimmt die Einstellungen der DFS-ACL.

Bekannte Einschränkungen

  • Dateisystem: Der File Systems-Connector unterstützt weder zugeordnete noch lokale Laufwerke.
  • Verteiltes Dateisystem: Ein Laufwerk, das einem UNC-DFS zugeordnet ist, funktioniert nicht richtig. Einige ACLs werden nicht richtig gelesen.
  • Der File Systems-Connector unterstützt Namespaces und Links für Distributed File System (DFS). 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 sind nicht anklickbar. Auch die von der Query API zurückgegebenen Dateilinks sind in den meisten Browsern nicht anklickbar.

Systemanforderungen

Systemanforderungen
Betriebssystem
  • Windows Server 2016
  • Windows Server 2012
  • Windows Server 2008 R2
Software
  • Java JRE 1.8, installiert auf dem Computer, 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

Voraussetzungen

Prüfen Sie vor der Bereitstellung des File Systems-Connectors für Cloud Search, ob die Umgebung die folgenden Voraussetzungen erfüllt:

Erforderliche Microsoft Windows-Kontoberechtigungen

Das Microsoft Windows-Konto, unter dem der Connector ausgeführt wird, muss ausreichende Berechtigungen zum Ausführen der folgenden Aktionen haben:

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

Durch die Mitgliedschaft in einer der folgenden Gruppen erhält ein Windows-Konto die erforderlichen Berechtigungen, die für den Connector erforderlich sind:

  • Administratoren
  • Poweruser
  • Druckoperatoren
  • Serveroperatoren

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

  1. Rufen Sie das Connector-Repository von GitHub ab und erstellen Sie es.

    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. Sehen Sie sich die gewünschte Version des Connectors an:

      > 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 Klonen oder herunterladen ZIP-Datei herunterladen.
    3. Entpacken Sie das Paket.
    4. Wechseln Sie in das neue Verzeichnis:
      > cd windows-filesystems-connector
  2. Erstellen Sie den Connector. Installieren Sie bei Bedarf 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 Ihr lokales 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: Connector-Konfigurationsdatei 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 hinzu, wie im folgenden Beispiel:

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

    Eine ausführliche Beschreibung der einzelnen Parameter finden Sie in der Referenz zu Konfigurationsparametern.

  3. Optional: Konfigurieren Sie nach Bedarf weitere Connector-Parameter. Weitere Informationen

Schritt 3: Logging aktivieren

  1. Erstellen Sie einen Ordner mit dem Namen logs in dem Verzeichnis, das die Binärdatei des Connectors enthält.
  2. Erstellen Sie in dem Verzeichnis, das die Connector-Binärdatei enthält, eine ASCII- oder UTF-8-Datei namens logging.properties und fügen Sie den folgenden Inhalt hinzu:

    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

Standardmäßig versucht der Connector, den Medientyp für jede Datei mithilfe der vom JDK bereitgestellten Erkennung des Medientyps zu erkennen. 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.

Bei Bedarf können Sie einen Medientyp angeben, der alle vorhandenen 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 Dateiendungen und die entsprechenden 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 Standardpfad abweicht (im selben Verzeichnis wie die Binärdatei mit dem Namen connector-config.properties).

Konfigurationsparameter

Zugriff auf Datenquellen

Einstellung Parameter
Datenquellen-ID 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 Cloud Search-Identitätsquelle, die der Google Workspace-Administrator eingerichtet hat, 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 sind, codieren Sie sie mit Java-Unicode-Escape-Zeichen.

Pfadtrennzeichen

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

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

Wenn der Wert fs.src.separator ein leerer String ist, wird der Wert 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 einschließen fs.supportedAccounts=account-1[, account-2,...]

Eine durch Kommas getrennte Liste von 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. Ein Konto, das mit diesem Präfix beginnt, gilt als integriertes Konto und wird 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. In Windows-Dateisystemen gilt eine Datei oder ein Ordner als versteckt, 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 die Richtlinie auf true (Standardeinstellung) gesetzt ist und der Connector einen Ordner crawlt, erstellt er ein CONTAINER_ITEM-Objekt. Ist sie auf „false“ gesetzt, erstellt der Connector stattdessen ein VIRTUAL_CONTAINER_ITEM-Objekt.

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

Wenn dieser Wert auf „true“ (Standard) gesetzt ist, lösen Änderungen an den Inhalts- oder Zugriffssteuerungen ein erneutes Crawlen des Connectors aus. Wenn Sie das Monitoring deaktivieren (auf false gesetzt), reduzieren Sie die Ressourcennutzung des Connectors erheblich. Die Änderungen werden jedoch erst später im Connector übernommen.

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

Die maximale Größe des Verzeichniscache. Der Connector nutzt den Cache, um versteckte Ordner zu identifizieren, damit Dateien und Ordner in versteckten Ordnern nicht indexiert werden.

Die Standardeinstellung beträgt 50.000 Einträge, die normalerweise 10–15 MB RAM belegen.

Zeitstempelspeicherung und Crawling-Steuerung

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

Wenn der Connector Dateien und Ordner crawlt, kann er den Zeitstempel des letzten Zugriffs für diese Dateien und Ordner in den Zeitpunkt des Crawlings ändern. Wenn die Zeiten für den letzten Zugriff nicht beibehalten werden, kann es sein, dass Sicherungs- und Archivierungssysteme die entsprechenden Dateien und Ordner aufgrund des Besuchs des Connectors nicht in den sekundären Speicher verschieben.

Standardmäßig versucht der Connector, den Zeitpunkt des letzten Zugriffs beizubehalten (fs.preserveLastAccessTime auf ALWAYS gesetzt). Wenn der Nutzer für den Durchlauf nicht die erforderlichen Berechtigungen zum Schreiben von Dateiattributen hat, kann er den Zeitpunkt des letzten Zugriffs möglicherweise nicht wiederherstellen. Wenn ALWAYS festgelegt ist, lehnt der Connector Crawling-Anfragen für das Dateisystem ab, damit 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 zum ersten Mal den Zeitpunkt des letzten Zugriffs nicht beibehalten kann, lehnt er alle nachfolgenden Crawling-Anfragen für das Dateisystem ab, damit die Zeitstempel des letzten Zugriffs nicht geändert werden können.
  • 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: Beim Crawlen von Dateien und Ordnern versucht der Connector nicht, den Zeitpunkt des letzten Zugriffs beizubehalten.
Nur Dateien crawlen, auf die nach einem bestimmten Datum zugegriffen wurde fs.lastAccessedDate=YYYY-MM-DD

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

Geben Sie das Datum im ISO8601-Datumsformat an: 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 gleichzeitig einen Wert für fs.lastAccessedDays festlegen.

Nur Dateien crawlen, auf die in den letzten Tagen 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 Datum liegt. Der Standardwert ist disabled.

Mit diesem Attribut können Sie zuvor indexierte Inhalte, auf die seit einiger Zeit nicht mehr zugegriffen wurde, ablaufen lassen. Legen Sie beispielsweise 365 fest, damit Inhalte nur gecrawlt werden, wenn im letzten Jahr darauf zugegriffen wurde.

Wenn Sie fs.lastAccessedDays angeben, können Sie nicht gleichzeitig 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: 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 gleichzeitig einen Wert für fs.lastModifiedDays festlegen.

Nur Dateien crawlen, die in den letzten Tagen 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 Datum liegt. Der Standardwert ist disabled.

Mit dieser Eigenschaft können Sie indexierte Inhalte, die seit einiger Zeit nicht mehr geändert wurden, löschen. 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 gleichzeitig 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 Access Control Lists (ACLs) an die Indexierungs-API sendet, einschließlich der ACLs in der Dateifreigabe. In einigen Konfigurationen hat der Connector jedoch möglicherweise nicht die erforderlichen Berechtigungen zum Lesen der Freigabe-ACL. In diesen Fällen gibt der Connector in den Suchergebnissen keine Dateien zurück, die in dieser Dateifreigabe verwaltet werden.

Sie können festlegen, dass der Connector die Freigabe-ACL ignoriert, sodass Inhalte immer in den Suchergebnissen zurückgegeben werden. In diesem Fall erhält die Indexierungs-API statt der tatsächlichen Freigabe-ACL eine vollständig zulässige Freigabe-ACL.

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

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