Menerapkan konektor Sistem File Microsoft Windows

Panduan ini ditujukan untuk administrator konektor Sistem File Google Cloud Search, yaitu siapa pun yang bertanggung jawab untuk mendownload, mengonfigurasi, menjalankan, dan memantau konektor. Panduan ini mencakup petunjuk untuk melakukan tugas utama yang terkait dengan penerapan konektor Sistem File Microsoft Windows:

  • Mendownload software konektor Sistem File Google Cloud Search
  • Mengonfigurasi konektor untuk digunakan dengan sumber data sistem file tertentu
  • Menerapkan dan menjalankan konektor

Untuk memahami berbagai konsep dalam dokumen ini, Anda harus sudah mengetahui dasar-dasar G Suite dan sistem file Microsoft Windows.

Ringkasan tentang konektor Sistem File Google Cloud Search

Dengan konektor Sistem File Google Cloud Search, Google Cloud Search dapat menemukan konten dari file yang dibagikan Microsoft Windows dan mengindeksnya dalam Cloud Search melalui indexing API Cloud Search. Setelah berhasil diindeks, konten dari file yang dibagikan Microsoft Windows dapat ditelusuri melalui klien Cloud Search atau Query API Cloud Search.

Satu instance konektor dapat mendukung beberapa file yang dibagikan Microsoft Windows. Namespace dan link DFS didukung oleh konektor. Namun, konektor hanya mendukung link DFS di namespace DFS, bukan folder biasa di namespace DFS.

File properti konfigurasi

Untuk mengaktifkan konektor agar dapat menemukan konten dalam sistem file dan menguploadnya ke indexing API, Anda, sebagai administrator konektor, harus membuat file konfigurasi untuk menyediakan setelan bagi konektor Sistem File Windows menggunakan langkah-langkah yang dijelaskan dalam Langkah-Langkah Penerapan.

Selain parameter konektor Sistem File yang dijelaskan dalam dokumen ini, ada beberapa parameter konfigurasi yang digunakan oleh semua konektor Cloud Search. Untuk mengetahui informasi selengkapnya, lihat Parameter konektor yang disediakan Google.

Izin akun Microsoft Windows yang diperlukan oleh konektor

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

Konektor mencoba memulihkan tanggal akses terakhir untuk dokumen setelah membaca konten dokumen selama crawling. Agar tanggal akses terakhir dapat dipulihkan kembali ke nilai asli sebelum konten dibaca, akun pengguna tempat konektor berjalan harus memiliki izin tulis untuk dokumen. Jika akun memiliki izin hanya baca dan bukan izin tulis, tanggal akses terakhir untuk dokumen akan berubah saat konektor membaca konten dokumen selama crawling.

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

  • Administrator
  • Pengguna Super
  • Operator Cetak
  • Operator Server

Update otomatis berkelanjutan

Secara default, konektor mulai memantau lokasi awal (nilai dari fs.src) yang merupakan file yang dibagikan atau link DFS saat proses berjalan. Jika lokasi awalnya adalah namespace DFS, konektor akan mulai memantau setiap link dalam namespace. Jika tidak dimulai saat proses berjalan, pemantauan dimulai ketika lokasi awal atau link DFS yang sudah ada dalam indeks Cloud Search ditampilkan ke konektor sebagai hasil permintaan tarik. Anda dapat menonaktifkan/mengaktifkan fitur ini dengan menetapkan nilai pada opsi konfigurasi konektor fs.monitorForUpdates, seperti yang dijelaskan dalam variabel connector-config.properties.

Kontrol akses DFS

Sistem DFS menggunakan kontrol akses saat menavigasi link-nya, dan biasanya setiap link DFS memiliki ACL sendiri. Salah satu mekanisme yang digunakan adalah Enumerasi Berbasis Akses (ABE). Dengan menerapkan ABE, pengguna hanya dapat melihat subset dari Link DFS, kemungkinan hanya satu subset ketika ABE digunakan untuk mengisolasi direktori beranda yang dihosting. Saat melintasi sistem DFS, konektor memberikan ACL Link DFS, selain ACL yang Dibagikan milik target sebagai resource bernama saat Link DFS di-crawl. Dalam hal ini, ACL yang Dibagikan mewarisi dari ACL DFS.

Sistem operasi yang didukung

Konektor Sistem File Cloud Search harus diinstal pada salah satu sistem operasi Windows yang didukung berikut ini

  • Windows Server 2016
  • Windows Server 2012
  • Windows Server 2008 R2

Konektor Sistem File Cloud Search tidak berjalan di Linux.

Protokol sistem file yang didukung

Tabel berikut mencantumkan protokol sistem file yang digunakan untuk berkomunikasi dengan file yang dibagikan dan menunjukkan apakah konektor mendukung file tersebut.

Protokol Sistem File Berkomunikasi dengan File yang Dibagikan di Sistem Operasi Didukung?
Blok Pesan Server (SMB) - SMB1 Windows Server 2016
Windows Server 2012
Windows Server 2008 R2
Ya
Blok Pesan Server (SMB) - SMB2 Windows Server 2016
Windows Server 2012
Windows Server 2008 R2
Ya
Sistem File Terdistribusi (DFS) Windows Server 2016
Windows Server 2012
Windows Server 2008 R2
Ya
Sistem file lokal Windows Windows Server 2016
Windows Server 2012
Windows Server 2008 R2
Tidak
Sistem File Sun Network (NFS) 2.0 Tidak
Sistem File Sun Network (NFS) 3.0 Tidak
Sistem file lokal Linux Tidak

Batasan umum

  • Sistem File: Rilis konektor Sistem File ini tidak mendukung drive yang dipetakan dan drive lokal.
  • Sistem File Terdistribusi: Drive yang dipetakan ke DFS UNC tidak berfungsi dengan baik. Beberapa ACL tidak akan terbaca dengan benar.

Prasyarat

Sebelum Anda menerapkan konektor Sistem File Cloud Search, pastikan bahwa lingkungan Anda memiliki semua komponen prasyarat berikut:

  • Windows Server 2016
  • Java JRE 1.8 yang diinstal di komputer yang menjalankan konektor.
  • Informasi G Suite yang diperlukan untuk menghubungkan Google Cloud Search dan sumber data:

    Biasanya, administrator G Suite untuk domain dapat memberikan kredensial tersebut kepada Anda.

  • Pastikan akun Windows memiliki izin yang memadai, seperti yang dijelaskan di bagian berikut.

  • Saat membagikan folder dari platform Windows, izin dapat diberikan di ACL yang dibagikan dan ACL NTFS dari folder tersebut. Kedua ACL perlu memberikan akses yang sesuai ke konektor. Kedua ACL juga dibaca oleh konektor. Administrator dapat melewati upaya untuk membaca ACL yang dibagikan dengan menetapkan opsi konfigurasi fs.skipShareAccessControl ke true.

Langkah-langkah penerapan

Untuk menerapkan konektor Sistem File Google Cloud Search, ikuti langkah-langkah berikut:

  1. Instal konektor Sistem File Cloud Search.
  2. Tentukan konfigurasi konektor Sistem File.
  3. Konfigurasikan akses ke sumber data Google Cloud Search.
  4. Konfigurasikan akses ke sistem file.
  5. Konfigurasikan karakter pemisah lokasi.
  6. Konfigurasikan kontrol perilaku konektor.
  7. Konfigurasikan kontrol akses terakhir.
  8. Batasi akses ke dokumen dan folder yang di-crawl.
  9. Lewati kontrol akses berbagi file.
  10. Aktifkan logging.
  11. Konfigurasikan mime-type.properties.

1. Instal konektor Sistem File Cloud Search

Instal SDK ke repositori Maven lokal Anda.

  1. Clone repositori SDK dari GitHub. git clone https://github.com/google-cloudsearch/connector-sdk.git cd connector-sdk
  2. Periksa versi SDK yang diinginkan: git checkout tags/v1-0.0.3
  3. Instal komponen SDK: mvn install

Buat konektor.

  1. Clone repositori konektor dari GitHub. git clone https://github.com/google-cloudsearch/windows-filesystems-connector.git cd windows-filesystems-connector
  2. Periksa versi konektor yang diinginkan dan buat file ZIP: git checkout tags/v1-0.0.3 mvn package (Untuk melewati pengujian saat membuat konektor, gunakan mvn package -DskipTests.)
  3. Salin file ZIP (google-cloudsearch-filesystem-connector-v1-0.0.3.zip) dari direktori target ke direktori lokal yang berfungsi tempat konektor akan dijalankan. Direktori ini juga dapat berisi semua file yang relevan yang diperlukan untuk eksekusi, termasuk file konfigurasi dan file kunci akun layanan.

2. Tentukan konfigurasi konektor Sistem File

Agar konektor dapat mengakses sistem file dan mengindeks konten yang relevan dengan tepat, Anda harus membuat file konfigurasinya terlebih dahulu. Anda dapat mengontrol perilaku dan atribut konektor Sistem File dengan menentukan parameter dalam file konfigurasi konektor. Parameter yang dapat dikonfigurasi mengontrol:

Untuk membuat file konfigurasi:

  1. Buka editor teks pilihan Anda dan beri nama file konfigurasi. Tambahkan pasangan key=value ke konten file seperti yang dijelaskan di bagian berikut.
  2. Simpan dan beri nama file konfigurasi. Google merekomendasikan untuk memberi nama file konfigurasi connector-config.properties sehingga Anda tidak perlu menambahkan parameter command line lain untuk menjalankan konektor.

3. Konfigurasikan akses ke sumber data Google Cloud Search

Parameter pertama yang harus ditentukan oleh setiap file konfigurasi adalah paramenter yang diperlukan untuk mengakses sumber data Cloud Search, seperti yang ditunjukkan pada tabel berikut. Biasanya, Anda memerlukan ID Sumber data, ID akun layanan, dan lokasi ke file kunci pribadi akun layanan untuk mengonfigurasi akses konektor ke Cloud Search. Langkah-langkah yang diperlukan untuk menyiapkan sumber data dijelaskan dalam Menambahkan sumber data untuk penelusuran.

Setelan Parameter
ID sumber data api.sourceId=1234567890abcdef
Wajib ada. ID sumber Google Cloud Search yang disiapkan oleh administrator G Suite.
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 ada. ID sumber identitas Cloud Search yang disiapkan oleh administrator G Suite guna menyinkronkan identitas direktori aktif menggunakan GCDS.

4. Konfigurasikan akses ke sistem file

Sebelum konektor dapat mengakses sistem file dan mengekstrak data dari sistem tersebut untuk pengindeksan, Anda harus mengonfigurasi akses ke sistem file sumber. Gunakan parameter berikut untuk menambahkan informasi akses ke file konfigurasi.

Setelan Parameter
Sistem file sumber fs.src=filename1,filename2
Beberapa sistem file sumber dapat ditentukan untuk properti fs.src dengan memberikan daftar sumber UNC, dipisahkan oleh pemisah yang dikonfigurasi oleh fs.src.separator. Karakter UNICODE, serta non-ASCII, dapat digunakan di fs.src. Dengan menyertakan karakter ini, file konfigurasi konektor harus disimpan menggunakan encoding UTF-8.

5. Konfigurasikan karakter pemisah lokasi

Gunakan parameter berikut untuk menambahkan informasi pemisah ke file konfigurasi.

Setelan Parameter
Karakter pemisah lokasi fs.src.separator=,
Pemisah defaultnya adalah ";" (mirip dengan penetapan variabel lingkungan PATH atau CLASS_PATH). Namun, jika lokasi sumber yang ditentukan berisi titik koma, Anda dapat mengonfigurasi pembatas yang berbeda yang tidak bentrok dengan karakter di lokasi Anda, dan tidak dipesan oleh sintaks file properti itu sendiri.

Jika fs.src.separator ditetapkan ke string kosong, nilai fs.src akan dianggap sebagai nama lokasi tunggal.

6. Konfigurasikan kontrol perilaku konektor

Gunakan parameter berikut untuk menambahkan informasi tentang perilaku konektor ke file konfigurasi.

Setelan Parameter
Sertakan akun dalam ACLS fs.supportedAccounts=BUILTIN\\Administrators,\\Everyone,BUILTIN\\Users

Akun yang ada di supportedAccounts akan disertakan dalam ACL, terlepas apakah akun tersebut adalah akun bawaan atau bukan.

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

Kecualikan akun bawaan dari ACL fs.builtinGroupPrefix=BUILTIN\\

Akun bawaan dikecualikan dari ACL yang didorong ke indexing API. Akun yang diawali dengan awalan ini dianggap sebagai akun bawaan dan akan dikecualikan dari ACL.

Nilai defaultnya adalah BUILTIN\\

Izinkan atau tolak pengindeksan file dan folder tersembunyi fs.crawlHiddenFiles=true

Definisi file dan folder tersembunyi bergantung pada platform. Pada sistem file Windows, file atau folder dianggap tersembunyi jika atribut tersembunyi DOS telah ditetapkan. Secara default, file tersembunyi dan konten folder tersembunyi tidak diindeks. Dengan menetapkan fs.crawlHiddenFiles ke true, file dan folder tersembunyi akan diizinkan untuk di-crawl oleh konektor.

Nilai defaultnya adalah false

Izinkan atau tolak pengindeksan daftar folder yang di-crawl dan enumerasi Namespace DFS fs.indexFolders=false

Saat folder di-crawl, konektor membuat objek CONTAINER_ITEM. Dengan menetapkan indexFolders ke false, konektor membuat objek VIRTUAL_CONTAINER_ITEM.

Nilai defaultnya adalah true

Aktifkan/nonaktifkan pemantauan perubahan sistem file fs.monitorForUpdates=false

Ketika pemantauan dinonaktifkan, update dan perubahan pada konten atau kontrol akses tidak segera dikirim ke indexing API dengan permintaan untuk di-crawl ulang. Dengan menonaktifkan pemantauan, penggunaan resource konektor akan berkurang secara signifikan.

Nilai defaultnya adalah true

Tetapkan ukuran maksimum cache direktori fs.directoryCacheSize=25000

Menetapkan ukuran maksimum cache direktori yang ditemui. Saat ini, cache ini digunakan untuk mengidentifikasi folder mana yang tersembunyi atau tidak disembunyikan untuk menghindari pengindeksan file dan folder yang ancestor-nya tersembunyi. Folder dianggap tersembunyi jika atribut tersembunyi DOS telah ditetapkan.

Ukuran cache maksimum defaultnya adalah 50.000 entri, yang biasanya akan memakai RAM sebesar 10-15 megabyte.

7. Konfigurasikan kontrol akses terakhir

Gunakan parameter berikut untuk menambahkan informasi tentang akses terakhir ke file dan folder yang di-crawl pada file konfigurasi.

Setelan Parameter
Cadangkan stempel waktu akses terakhir fs.preserveLastAccessTime=NEVER

Properti konfigurasi ini mengontrol tingkat penerapan dalam mempertahankan stempel waktu akses terakhir dari file dan folder yang di-crawl. Kegagalan dalam mempertahankan waktu akses terakhir dapat membuat sistem backup dan arsip mengganggap bahwa file atau folder baru-baru ini diakses oleh manusia, sehingga mencegah perpindahan item yang paling baru digunakan ke penyimpanan sekunder.

Jika konektor tidak dapat memulihkan waktu akses terakhir untuk file tersebut, kemungkinan pengguna traversal tidak memiliki hak istimewa yang memadai untuk menulis atribut file. Sebagai tindakan pencegahan, konektor menolak permintaan crawl ke sistem file untuk mencegah perubahan stempel waktu akses terakhir bagi, kemungkinan, ribuan file.

Properti fs.preserveLastAccessTime memiliki tiga nilai yang memungkinkan:

  • ALWAYS: Konektor akan berusaha mempertahankan waktu akses terakhir untuk semua file dan folder yang di-crawl. Jika gagal melakukannya untuk pertama kali, konektor akan menolak semua permintaan crawl selanjutnya untuk sistem file guna mencegah perubahan stempel waktu akses terakhir bagi, kemungkinan, ribuan file.
  • IF_ALLOWED: Konektor akan berusaha mempertahankan waktu akses terakhir untuk semua file dan folder yang di-crawl, meskipun beberapa stempel waktu mungkin tidak dapat dipertahankan.
  • NEVER: Konektor tidak akan berusaha untuk mempertahankan waktu akses terakhir untuk file dan folder yang di-crawl. Level penerapan default untuk mempertahankan stempel waktu akses terakhir adalah ALWAYS
Nonaktifkan crawling file yang waktu akses terakhirnya lebih awal dari tanggal tertentu fs.lastAccessedDate=2010-01-01

Tanggal batas ditentukan dalam format tanggal ISO8601, YYYY-MM-DD.

Menetapkan fs.lastAccessedDate ke 2010-01-01 hanya akan meng-crawl konten yang telah diakses sejak awal 2010. Hanya satu dari fs.lastAccessedDate atau fs.lastAccessedDays yang dapat ditentukan. Nilai defaultnya adalah disabled

Nonaktifkan crawling file yang belum diakses dalam jumlah hari yang ditentukan fs.lastAccessedDays=365

Tidak seperti tanggal batas absolut yang digunakan oleh fs.lastAccessedDate, properti ini dapat digunakan untuk mengakhiri masa berlaku konten yang sebelumnya diindeks jika belum diakses dalam beberapa saat. Jendela habis masa berlaku ditentukan sebagai bilangan bulat positif yang menunjukkan jumlah hari. Menetapkan fs.lastAccessedDays ke 365 hanya akan meng-crawl konten yang telah diakses dalam setahun terakhir. Hanya satu dari fs.lastAccessedDate atau fs.lastAccessedDays yang dapat ditentukan. Nilai defaultnya adalah disabled

8. Batasi akses ke dokumen dan folder yang di-crawl

Gunakan parameter berikut untuk menambahkan informasi terkait pembatasan akses ke file dan folder yang di-crawl pada file konfigurasi.

Setelan Parameter
Nonaktifkan crawling file yang waktu akses terakhirnya lebih awal dari tanggal tertentu fs.lastModifiedDate=2010-01-01

Tanggal batas ditentukan dalam format tanggal ISO 8601, YYYY-MM-DD.

Menyetel fs.lastModifiedDate ke 2010-01-01 hanya akan meng-crawl konten yang telah diakses sejak awal 2010. Hanya satu dari fs.lastModifiedDate atau fs.lastModifiedDays yang dapat ditentukan. Nilai defaultnya adalah disabled

Nonaktifkan melakukan crawl file yang belum dimodifikasi dalam jumlah hari yang ditentukan. fs.lastModifiedDays=365

Tidak seperti tanggal batas absolut yang digunakan oleh fs.lastModifiedDate, properti ini dapat digunakan untuk kedaluwarsa konten yang diindeks sebelumnya jika belum dimodifikasi dalam beberapa saat. Jendela habis masa berlaku ditentukan sebagai bilangan bulat positif yang menunjukkan jumlah hari. Mengatur fs.lastModifiedDays ke 365 hanya akan merg-crawl konten yang telah dimodifikasi dalam setahun terakhir. Hanya satu dari fs.lastModifiedDate atau fs.lastModifiedDays yang dapat ditentukan. Nilai defaultnya adalah disabled

9. Lewati kontrol akses berbagi file

Konektor mencoba untuk mempertahankan integritas kontrol akses saat mengirim Daftar Kontrol Akses (ACL) ke indexing API. Secara umum, hanya pengguna yang memiliki akses ke file yang dibagikan yang dapat mengakses file tersebut, sehingga konektor menyertakan ACL tindakan berbagi tersebut ke indexing API. Namun, dalam beberapa konfigurasi, konektor mungkin tidak memiliki izin yang memadai untuk membaca ACL yang dibagikan. Dalam kasus tersebut, ACL rusak yang dibagikan tersebut akan mencegah semua file yang dikelola dalam tindakan berbagi tersebut agar tidak muncul di hasil penelusuran. Jika ACL yang dibagikan tidak dapat dibaca oleh konektor, administrator dapat melewati upaya untuk membaca ACL yang dibagikan dengan menetapkan opsi konfigurasi fs.skipShareAccessControl ke true. Tindakan ini akan mengirim ACL yang dibagikan dengan izin penuh ke indexing API, bukan ACL yang dibagikan dengan versi sebenarnya.

Gunakan parameter berikut untuk menambahkan informasi tentang cara melewati kontrol akses berbagi file ke file konfigurasi.

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

Properti konfigurasi boolean ini mengaktifkan atau menonaktifkan pengiriman Daftar Kontrol Akses (ACL) untuk berbagi file ke indexing API.

Nilai defaultnya adalah false (ACL yang dibagikan dikirim ke indexing API)

Contoh: File konfigurasi

Contoh file konfigurasi berikut menunjukkan parameter pasangan key=value yang menentukan contoh perilaku konektor.

api.serviceAccountPrivateKeyFile=/path/to/file.json
api.sourceId=0123456789abcde
api.identitySourceId=a1b1c1234567
traverse.abortAfterExceptions=500
fs.src=\\\\host\\share;\\\\dfshost\\dfsnamespace;\\\\dfshost\\dfsnamespace\\link
fs.monitorForUpdates = true
fs.preserveLastAccessTime = IF_ALLOWED

10. Aktifkan logging

Buat folder bernama logs di direktori yang sama yang berisi biner konektor. Buat file ASCII atau UTF-8 bernama logging.properties di direktori yang sama 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

11. Konfigurasikan mime-type.properties

Secara opsional, Anda dapat membuat file ASCII atau UTF-8 bernama mime-type.properties di direktori konektor. Dalam file ini, tentukan jenis Multipurpose Internet Mail Extensions (MIME) untuk setiap jenis file. Jika Anda tidak menentukan jenis MIME, konektor akan mencoba mendeteksi jenis MIME untuk setiap file. Konektor bergantung pada deteksi jenis mime yang disediakan JDK. Di Microsoft Windows, JDK bergantung pada registry Windows untuk menentukan jenis mime file. Entri registry yang tidak ada dapat menghasilkan jenis mime null untuk file tertentu.

Aplikasi standar memiliki jenis MIME standar. Tujuan dari mime-type.properties hanya untuk mengganti setiap pengikatan yang ingin Anda ubah. File mime-type.properties harus berada di direktori tingkat atas yang sama dengan connector-config.properties dan logging.properties. Format untuk spesifikasinya adalah: ekstensi file dan jenis mime-nya. Contoh:

xlsx=application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
one=application/msonenote

Contoh: File jenis MIME

Contoh berikut menunjukkan file jenis MIME.

txt=text/plain
pdf=application/pdf

Jalankan konektor Sistem File Cloud Search

Setelah menginstal konektor Sistem File Cloud Search, Anda dapat menjalankannya di mesin host menggunakan perintah seperti contoh berikut:

java \
   -jar google-cloudsearch-windows-filesystems-connector-v1-0.0.3.jar \
   -Dconfig=my.config```