Menerapkan konektor Sistem File Microsoft Windows

Anda dapat menyiapkan Google Cloud Search untuk menampilkan hasil dari file Microsoft Windows milik organisasi Anda selain konten Google Workspace Anda. Anda menggunakan konektor Sistem File Google Cloud Search dan mengonfigurasinya untuk mengakses berbagi di Windows tertentu. Satu instance konektor dapat mendukung beberapa file yang dibagikan di Microsoft Windows.

Pertimbangan penting

Update otomatis berkelanjutan

Secara default, konektor terus memantau jalur awal (nilai dari fs.src dalam file konfigurasi konektor) saat konektor dimulai. Saat laporan sistem file berubah pada konten atau kontrol akses, konektor akan dipicu untuk meng-crawl ulang sistem file. Crawl ulang ini bisa menghabiskan banyak resource. Untuk menonaktifkan pemantauan sistem file, setel fs.monitorForUpdates ke false. Anda mengurangi penggunaan resource konektor secara signifikan, tetapi menunda saat konektor mencerminkan perubahan. Pelajari lebih lanjut

Kontrol akses DFS

Sistem DFS menerapkan kontrol akses pada tautan-tautannya dan biasanya setiap tautan DFS memiliki ACL sendiri. Salah satu mekanisme yang digunakan DFS adalah Access-based Enumeration (ABE), yang dapat membatasi link DFS yang ditampilkan ke pengguna. Pengguna mungkin hanya mendapatkan sebagian Link DFS, atau bahkan hanya satu link saat ABE mengisolasi direktori beranda yang dihosting. Saat konektor melintasi sistem DFS, konektor mengikuti ACL link DFS dan ACL yang Dibagikan milik target, dan ACL yang Dibagikan mewarisi dari ACL DFS.

Batasan umum

  • Sistem File: Konektor Sistem File tidak mendukung drive yang dipetakan dan drive lokal.
  • Sistem File Terdistribusi: Drive yang dipetakan ke DFS UNC tidak berfungsi dengan benar. Beberapa ACL tidak dibaca dengan benar.
  • Konektor Sistem File mendukung link dan namespace Distributed File System (DFS). Namun, konektor hanya mendukung link DFS di namespace DFS, bukan folder biasa di namespace DFS.
  • Link file yang ditampilkan di cloudsearch.google.com tidak dapat diklik. Link file yang ditampilkan oleh Query API juga tidak bisa diklik di sebagian besar browser.

Persyaratan sistem

Persyaratan sistem
Sistem operasi
  • Windows Server 2016
  • Windows Server 2012
  • Windows Server 2008 R2
Software
  • Java JRE 1.8 yang diinstal di komputer yang akan menjalankan konektor Sistem File Google Cloud Search
Protokol sistem file
  • Blok Pesan Server (SMB) - SMB1
  • Blok Pesan Server (SMB) - SMB2
  • Sistem File Terdistribusi (DFS)

Tidak didukung: Sistem file Windows lokal, Sun Network File System (NFS) 2.0, Sun Network File System (NFS) 3.0, atau sistem file Linux Lokal.

Men-deploy konektor

Prasyarat

Sebelum Anda men-deploy konektor Sistem File Cloud Search, pastikan lingkungan Anda memiliki semua komponen prasyarat berikut:

Izin akun Microsoft Windows yang diperlukan

Akun Microsoft Windows tempat konektor berjalan harus memiliki izin yang memadai untuk melakukan tindakan berikut:

  • Mencantumkan konten folder
  • Membaca konten dokumen
  • Membaca atribut file dan folder
  • Membaca izin (ACL) untuk file dan folder
  • Menulis izin atribut dasar

Keanggotaan dalam salah satu grup berikut memberikan izin yang memadai ke akun Windows yang diperlukan oleh konektor:

  • Administrator
  • Pengguna Super
  • Operator Cetak
  • Operator Server

Langkah 1. Instal konektor Sistem File Google Cloud Search

  1. Dapatkan repositori konektor dari GitHub dan build.

    Untuk menggunakan git di server Windows:

    1. Meng-cloning repository

      > git clone https://github.com/google-cloudsearch/windows-filesystems-connector.git
      > cd windows-filesystems-connector
    2. Lihat versi konektor yang diinginkan:

      > git checkout tags/v1-0.0.3

    Untuk mendownload langsung dari GitHub:

    1. Buka https://github.com/google-cloudsearch/windows-filesystems-connector.
    2. Klik Clone atau download Download zip.
    3. Ekstrak paket.
    4. Pindah ke direktori baru:
      > cd windows-filesystems-connector
  2. Buat konektor. Jika perlu, instal Apache Maven.

    > mvn package

    Untuk melewati pengujian saat Anda membuat konektor, jalankan mvn package -DskipTests, bukan mvn package.

  3. Salin file zip konektor ke direktori penginstalan lokal Anda:

    > 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

Langkah 2: Membuat file konfigurasi konektor

  1. Di direktori yang sama dengan penginstalan konektor, buat file dan beri nama connector-config.properties.

  2. Tambahkan parameter sebagai key-value pair ke konten file, seperti dalam contoh berikut:

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

    Untuk deskripsi mendetail tentang setiap parameter, buka referensi parameter konfigurasi.

  3. (Opsional) Konfigurasi parameter konektor lainnya, sesuai kebutuhan. Untuk mengetahui detailnya, buka Parameter konektor yang disediakan Google.

Langkah 3. Aktifkan logging

  1. Buat folder bernama logs di direktori yang berisi biner konektor.
  2. Buat file ASCII atau UTF-8 bernama logging.properties di direktori yang berisi biner konektor dan tambahkan konten berikut:

    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
    

Langkah 4. (Opsional) Mengonfigurasi jenis media

Secara default, konektor mencoba mendeteksi jenis media untuk setiap file dengan deteksi jenis media yang disediakan JDK yang disediakan JDK. Di Microsoft Windows, JDK bergantung pada registry Windows untuk menentukan jenis media untuk file. Entri registry yang hilang dapat menghasilkan jenis media null untuk file tertentu.

Jika perlu, Anda dapat menentukan jenis media yang menimpa binding yang ada atau mencegah jenis media null.

  1. Di direktori konektor, buat file terenkripsi Latin-1 dengan nama mime-type.properties.
  2. Masukkan ekstensi file dan jenis media yang sesuai seperti dalam contoh berikut:

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

Langkah 5: Jalankan konektor Sistem File

Setelah Anda menginstal dan mengonfigurasi konektor Sistem File, untuk meluncurkannya di mesin host, jalankan perintah seperti dalam contoh berikut:

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

Tentukan jalur file konfigurasi jika berbeda dengan default (di direktori yang sama dengan biner dengan nama connector-config.properties).

Referensi parameter konfigurasi

Akses sumber data

Pembahasan Parameter
ID sumber data api.sourceId=1234567890abcdef

Wajib. ID sumber Google Cloud Search yang disiapkan oleh administrator Google Workspace.

Lokasi ke file kunci pribadi akun layanan api.serviceAccountPrivateKeyFile=./PrivateKey.json

Wajib. File kunci akun layanan Google Cloud Search untuk aksesibilitas konektor Sistem File Google Cloud.

ID sumber identitas api.identitySourceId=x0987654321

Wajib. ID sumber identitas Cloud Search yang disiapkan oleh administrator Google Workspace untuk menyinkronkan identitas direktori aktif menggunakan GCDS.

Akses sistem file

Pembahasan Parameter
Sistem file sumber fs.src=path1[,path2, ...]

Wajib. Tentukan sistem file sumber sebagai satu atau beberapa sumber UNC yang dipisahkan oleh pembatas yang dikonfigurasi oleh fs.src.separator. Jika Anda menggunakan karakter yang tidak dalam bahasa Latin1, enkode karakter tersebut dengan escape Java Unicode.

Karakter pemisah lokasi

Pembahasan Parameter
Karakter pemisah lokasi fs.src.separator=separator-character

Pemisah defaultnya adalah ";". Jika jalur sumber Anda berisi titik koma, Anda dapat menetapkan pemisah yang berbeda, seperti koma (","), yang tidak bertentangan dengan karakter di jalur Anda dan tidak dicadangkan oleh sintaksis file properti itu sendiri.

Jika nilai fs.src.separator adalah string kosong, nilai fs.src akan diperlakukan sebagai jalur tunggal.

Perilaku konektor

Pembahasan Parameter
Domain Windows fs.supportedDomain=domain

Wajib untuk mengizinkan pengguna yang menyiapkan GCDS mengakses dokumen melalui Cloud Search. Tetapkan sebagai satu nama domain NetBIOS Active Directory.

Sertakan akun dalam ACLS fs.supportedAccounts=account-1[, account-2,...]

Daftar akun yang dipisahkan koma untuk disertakan dalam ACL terlepas dari apakah akun tersebut bawaan atau tidak.

Nilai defaultnya adalah BUILTIN\\Administrators,Everyone,BUILTIN\\Users, BUILTIN\\Guest,NT AUTHORITY\\INTERACTIVE, NT AUTHORITY\\Authenticated Users

Mengecualikan akun bawaan dari ACL fs.builtinGroupPrefix=prefix

Tentukan awalan akun bawaan. Akun yang dimulai dengan awalan ini dianggap sebagai akun bawaan dan akan dikecualikan dari ACL.

Nilai defaultnya adalah BUILTIN\\

Izinkan pengindeksan file dan folder tersembunyi fs.crawlHiddenFiles=boolean

Setel ke true untuk mengizinkan konektor meng-crawl file dan folder tersembunyi (pada sistem file Windows, file atau folder dianggap tersembunyi jika atribut tersembunyi DOS disetel.) Nilai defaultnya adalah false.

Mengizinkan pengindeksan listingan folder yang di-crawl dan enumerasi Namespace DFS fs.indexFolders=boolean

Jika ditetapkan ke true (default), saat konektor meng-crawl folder, konektor akan membuat objek CONTAINER_ITEM. Jika disetel ke salah (false), konektor akan membuat objek VIRTUAL_CONTAINER_ITEM.

Aktifkan pemantauan perubahan sistem file fs.monitorForUpdates=boolean

Jika ditetapkan ke true (default), perubahan pada konten atau kontrol akses akan memicu konektor untuk di-crawl ulang. Jika menonaktifkan pemantauan (ditetapkan ke false), Anda akan mengurangi penggunaan resource konektor secara signifikan, tetapi mengalami penundaan saat konektor mencerminkan perubahan tersebut.

Tetapkan ukuran maksimum cache direktori fs.directoryCacheSize=number-of-entries

Ukuran maksimum cache direktori. Konektor menggunakan cache untuk mengidentifikasi folder tersembunyi guna menghindari pengindeksan file dan folder di folder tersembunyi.

Defaultnya adalah 50.000 entri, yang biasanya menghabiskan 10–15 megabita RAM.

Penyimpanan stempel waktu dan kontrol crawl

Pembahasan Parameter
Mempertahankan stempel waktu akses terakhir fs.preserveLastAccessTime=value

Saat konektor meng-crawl file dan folder, konektor dapat mengubah stempel waktu akses terakhir file dan folder ke waktu crawl. Jika waktu akses terakhir tidak dipertahankan, sistem pencadangan dan pengarsipan mungkin tidak memindahkan file dan folder yang sesuai ke penyimpanan sekunder karena kunjungan konektor.

Secara default, konektor mencoba mempertahankan waktu akses terakhir (fs.preserveLastAccessTime ditetapkan ke ALWAYS). Konektor mungkin tidak dapat memulihkan waktu akses terakhir untuk file saat pengguna traversal tidak memiliki hak istimewa yang memadai untuk menulis atribut file. Jika ditetapkan ke ALWAYS, konektor akan menolak permintaan crawl untuk sistem file sehingga tidak mengubah stempel waktu akses terakhir file tersebut.

Kemungkinan nilai:

  • ALWAYS: Konektor berusaha mempertahankan waktu akses terakhir saat meng-crawl file dan folder. Saat pertama kali konektor tidak dapat mempertahankan waktu akses terakhir, konektor akan menolak semua permintaan crawl berikutnya bagi sistem file untuk mencegah perubahan stempel waktu akses terakhir.
  • IF_ALLOWED: Konektor berusaha mempertahankan waktu akses terakhir saat meng-crawl file dan folder. Iklan akan terus meng-crawl meskipun beberapa stempel waktu mungkin tidak dapat dipertahankan.
  • NEVER: Konektor tidak berupaya mempertahankan waktu akses terakhir saat meng-crawl file dan folder.
Hanya meng-crawl file yang diakses setelah tanggal tertentu fs.lastAccessedDate=YYYY-MM-DD

Meng-crawl konten hanya jika waktu akses terakhir setelah tanggal yang ditentukan. Nilai default-nya adalah disabled.

Tentukan tanggal dalam format tanggal ISO8601: YYYY-MM-DD. Misalnya, jika nilainya adalah 2010-01-01, konektor hanya meng-crawl konten yang diakses setelah awal tahun 2010.

Jika menentukan fs.lastAccessedDate, Anda juga tidak dapat menetapkan nilai untuk fs.lastAccessedDays.

Hanya meng-crawl file yang diakses dalam jumlah hari terakhir fs.lastAccessedDays=number-of-days

Meng-crawl konten hanya jika waktu akses terakhir berada dalam jumlah hari sebelum ada. Nilai default-nya adalah disabled.

Gunakan properti ini untuk mengakhiri masa berlaku konten yang sebelumnya diindeks, yang lama tidak diakses. Misalnya, setel ke 365 untuk meng-crawl konten hanya jika konten tersebut diakses dalam setahun terakhir.

Jika menentukan fs.lastAccessedDays, Anda juga tidak dapat menetapkan nilai untuk fs.lastAccessedDate.

Hanya meng-crawl file yang diubah setelah tanggal tertentu fs.lastModifiedDate=YYYY-MM-DD

Meng-crawl konten hanya jika waktu terakhir diubah setelah tanggal yang ditentukan. Nilai default-nya adalah disabled.

Tentukan tanggal dalam format tanggal ISO8601: YYYY-MM-DD. Misalnya, jika nilainya adalah 2010-01-01, konektor hanya meng-crawl konten yang diubah setelah awal tahun 2010.

Jika menentukan fs.lastModifiedDate, Anda juga tidak dapat menetapkan nilai untuk fs.lastModifiedDays.

Hanya meng-crawl file yang diubah dalam jumlah hari terakhir fs.lastModifiedDays=number-of-days

Meng-crawl konten hanya jika waktu terakhir diubah berada dalam jumlah hari sebelum ada. Nilai default-nya adalah disabled.

Gunakan properti ini untuk mengakhiri masa berlaku konten yang sebelumnya diindeks, yang sudah lama tidak diubah. Misalnya, setel ke 365 untuk meng-crawl konten hanya jika konten diubah dalam setahun terakhir.

Jika menentukan fs.lastModifiedDays, Anda juga tidak dapat menetapkan nilai untuk fs.lastModifiedDate.

Lewati kontrol akses berbagi file

Secara default, konektor mempertahankan integritas kontrol akses saat mengirimkan Daftar Kontrol Akses (ACL) ke Indexing API, termasuk ACL pada bagian file yang dibagikan. Namun, dalam beberapa konfigurasi, konektor mungkin tidak memiliki izin yang memadai untuk membaca ACL yang dibagikan. Dalam hal ini, konektor tidak menampilkan file apa pun yang dikelola dalam berbagi file tersebut dalam hasil penelusuran.

Anda dapat mengatur konektor untuk mengabaikan ACL yang dibagikan sehingga konten selalu ditampilkan di hasil penelusuran. Dalam hal ini, Indexing API mendapatkan ACL berbagi yang sepenuhnya permisif, bukan ACL yang dibagikan yang sebenarnya.

Pembahasan Parameter
Lewati kontrol akses berbagi file fs.skipShareAccessControl=boolean

Ditetapkan ke false (default) untuk menerapkan ACL berbagi. Tetapkan ke true untuk mengabaikan ACL yang dibagikan.