Menerapkan konektor Sistem File Microsoft Windows

Anda dapat menyiapkan Google Cloud Search untuk menampilkan hasil dari Berbagi Microsoft Windows selain konten Google Workspace Anda. Anda menggunakan konektor Sistem File Google Cloud Search dan mengonfigurasinya untuk mengakses aktivitas berbagi Windows tertentu. Satu instance konektor dapat mendukung beberapa Berbagi 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 sistem file melaporkan perubahan pada konten atau kontrol akses, konektor akan dipicu untuk meng-crawl ulang sistem file. Crawl ulang ini dapat menghabiskan banyak resource. Untuk menonaktifkan pemantauan sistem file, tetapkan 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-nya 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 kepada pengguna. Pengguna mungkin hanya mendapatkan subset Link DFS, atau bahkan hanya satu link ketika ABE mengisolasi direktori beranda yang dihosting. Ketika 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 mendukung link DFS hanya 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 dapat 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 lokal Windows, Sun Network File System (NFS) 2.0, Sun Network File System (NFS) 3.0, atau sistem file Local Linux.

Men-deploy konektor

Prasyarat

Sebelum menerapkan konektor Sistem File Cloud Search, pastikan bahwa 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 akun Windows izin yang memadai 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 bangun.

    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 dari GitHub secara langsung:

    1. Buka https://github.com/google-cloudsearch/windows-filesystems-connector.
    2. Klik Clone or download Download zip.
    3. Ekstrak paket tersebut.
    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 pada 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 mengetahui 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 konektor biner.
  2. Buat file ASCII atau UTF-8 bernama logging.properties di bagian yang berisi biner konektor dan menambahkan 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 Disediakan JDK deteksi jenis media. Di Microsoft Windows, JDK bergantung pada {i>registry<i} Windows untuk menentukan jenis media untuk file. Entri registry yang hilang dapat menyebabkan null jenis media 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 bernama mime-type.properties.
  2. Masukkan ekstensi file beserta jenis medianya yang sesuai seperti pada 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 mengkonfigurasi konektor Sistem File, untuk meluncurkannya pada mesin host, jalankan perintah seperti 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 seperti biner dengan nama connector-config.properties).

Referensi parameter konfigurasi

Akses sumber data

Setelan 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 ada. 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

Setelan 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 menggunakan bahasa Latin1, lakukan enkode dengan escape Java Unicode.

Karakter pemisah lokasi

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

Pemisah defaultnya adalah ";". Jika jalur sumber berisi titik koma, Anda dapat menetapkan pembatas 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 diperlakukan sebagai satu jalur.

Perilaku konektor

Setelan Parameter
Domain Windows fs.supportedDomain=domain

Diperlukan untuk mengizinkan pengguna yang disiapkan dengan GCDS mengakses dokumen melalui Cloud Search. Tentukan sebagai nama domain NetBIOS tunggal untuk 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 merupakan akun bawaan.

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 (di 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 DFS Namespace 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 menunda saat konektor mencerminkan perubahan.

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

Ukuran maksimum cache direktori. Konektor menggunakan cache untuk mengidentifikasi folder tersembunyi agar file dan folder tidak diindeks di folder tersembunyi.

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

Kontrol crawl dan penyimpanan stempel waktu

Setelan 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 crawling. Jika waktu akses terakhir tidak dipertahankan, sistem pencadangan dan arsip mungkin tidak akan memindahkan file dan folder yang sesuai ke penyimpanan sekunder karena adanya 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 disetel ke ALWAYS, konektor akan menolak permintaan crawl untuk sistem file sehingga tidak mengubah stempel waktu akses terakhir file.

Kemungkinan nilai:

  • ALWAYS: Konektor mencoba 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 untuk sistem file guna mencegah perubahan stempel waktu akses terakhir.
  • IF_ALLOWED: Konektor mencoba mempertahankan waktu akses terakhir saat meng-crawl file dan folder. URL akan terus di-crawl meskipun beberapa stempel waktu mungkin tidak dipertahankan.
  • NEVER: Konektor tidak berupaya mempertahankan waktu akses terakhir saat meng-crawl file dan folder.
Meng-crawl hanya file yang diakses setelah tanggal tertentu fs.lastAccessedDate=YYYY-MM-DD

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

Tentukan tanggal dalam format tanggal ISO8601: YYYY-MM-DD. Misalnya, jika nilainya 2010-01-01, konektor hanya akan meng-crawl konten yang diakses setelah awal 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 konten ditampilkan. Nilai default-nya adalah disabled.

Gunakan properti ini untuk mengakhiri konten yang diindeks sebelumnya dan sudah 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 adalah 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 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 modifikasi terakhir berada dalam jumlah hari sebelum saat ini. Nilai default-nya adalah disabled.

Gunakan properti ini untuk mengakhiri masa berlaku konten yang diindeks sebelumnya, yang sudah lama tidak diubah. Misalnya, setel ke 365 untuk meng-crawl konten hanya jika konten tersebut 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 fitur berbagi file. Namun, dalam beberapa konfigurasi, konektor mungkin tidak memiliki izin yang memadai untuk membaca ACL yang dibagikan. Dalam kasus tersebut, konektor tidak menampilkan file apa pun yang dipertahankan pada berbagi file tersebut di hasil penelusuran.

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

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

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