Menerapkan konektor Sistem File Microsoft Windows

Anda dapat menyiapkan Google Cloud Search untuk menampilkan hasil dari berbagi Microsoft Windows organisasi Anda selain konten Google Workspace. Anda menggunakan konektor Sistem File Google Cloud Search dan mengonfigurasinya untuk mengakses berbagi Windows yang ditentukan. 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 mungkin menggunakan banyak resource. Untuk menonaktifkan pemantauan sistem file, tetapkan fs.monitorForUpdates ke false. Anda mengurangi penggunaan resource konektor secara signifikan, tetapi menunda saat konektor merefleksikan perubahan. Pelajari lebih lanjut

Kontrol akses DFS

Sistem DFS menerapkan kontrol akses pada link-nya dan biasanya setiap link DFS memiliki ACL-nya sendiri. Salah satu mekanisme yang digunakan DFS adalah Enumerasi Berbasis Akses (ABE), yang dapat membatasi link DFS yang ditampilkan kepada pengguna. Pengguna mungkin hanya mendapatkan subkumpulan 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 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 namespace dan link Sistem File Terdistribusi (DFS). Namun, konektor mendukung link DFS hanya dalam namespace DFS, bukan folder reguler dalam 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 Windows lokal, Sun Network File System (NFS) 2.0, Sun Network File System (NFS) 3.0, atau sistem file Local Linux.

Men-deploy konektor

Prasyarat

Sebelum Anda menerapkan konektor Sistem File Cloud Search, pastikan bahwa 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 memberi akun Windows izin yang memadai yang diperlukan oleh konektor:

  • Administrator
  • Pengguna Super
  • Operator Cetak
  • Operator Server

Langkah 1. Instal konektor Sistem File Cloud Search

  1. Dapatkan repositori konektor dari GitHub dan build.

    Untuk menggunakan git di server Windows:

    1. Lakukan clone repositori:

      > 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.
    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 mengetahui deskripsi mendetail dari setiap parameter, buka referensi parameter konfigurasi.

  3. (Opsional) Konfigurasikan 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. Di Microsoft Windows, JDK bergantung pada registry Windows untuk menentukan jenis media bagi 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 yang bernama mime-type.properties.
  2. Masukkan ekstensi file dan jenis media 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 mengonfigurasi konektor Sistem File, jalankan perintah seperti contoh berikut untuk meluncurkannya di mesin host:

> 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 jalurnya berbeda dengan default (dalam direktori yang sama dengan biner dengan nama connector-config.properties).

Referensi parameter konfigurasi

Akses sumber data

Setelan Parameter
ID sumber data api.sourceId=1234567890abcdef

Wajib diisi. 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 diisi. 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 diisi. 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 ada dalam bahasa Latin, enkode dengan escape Java Unicode.

Karakter pemisah lokasi

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

Pemisah default adalah ";". Jika jalur sumber Anda berisi titik koma, Anda dapat menyetel 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 akan diperlakukan sebagai jalur tunggal.

Perilaku konektor

Setelan Parameter
Domain Windows fs.supportedDomain=domain

Wajib untuk mengizinkan pengguna yang disiapkan dengan GCDS mengakses dokumen melalui Cloud Search. Tentukan sebagai satu nama domain NetBIOS Active Directory.

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

Daftar akun yang dipisahkan koma yang akan disertakan dalam ACL, terlepas dari apakah akun tersebut merupakan akun 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 diawali dengan awalan ini dianggap sebagai akun bawaan dan akan dikecualikan dari ACL.

Nilai defaultnya adalah BUILTIN\\

Mengizinkan 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 ditetapkan.) 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 melakukan crawling ulang. Saat menonaktifkan pemantauan (disetel ke false), Anda mengurangi penggunaan resource konektor secara signifikan, tetapi menunda 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 dalam folder tersembunyi.

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

Pemeliharaan stempel waktu dan kontrol crawl

Setelan Parameter
Pertahankan stempel waktu akses terakhir fs.preserveLastAccessTime=value

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

Secara default, konektor mencoba mempertahankan waktu akses terakhir (fs.preserveLastAccessTime yang disetel 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. Pertama kali konektor tidak dapat mempertahankan waktu akses terakhir, konektor 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. Crawler ini terus meng-crawl meskipun beberapa stempel waktu mungkin tidak dipertahankan.
  • NEVER: Konektor tidak mencoba mempertahankan waktu akses terakhir karena 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 2010.

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

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

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

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

Jika Anda 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 dimodifikasi setelah awal 2010.

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

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

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

Gunakan properti ini untuk menghentikan masa berlaku konten yang diindeks sebelumnya yang belum diubah selama beberapa waktu. Misalnya, setel ke 365 untuk meng-crawl konten hanya jika konten tersebut dimodifikasi dalam setahun terakhir.

Jika Anda 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 API pengindeksan, termasuk ACL pada berbagi file. 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 dipertahankan pada fitur berbagi file tersebut di hasil penelusuran.

Anda dapat menyetel 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 secara aktual.

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

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