Menerapkan konektor Sistem File Microsoft Windows

Anda dapat menyiapkan Google Cloud Search untuk menampilkan hasil dari share Microsoft Windows organisasi Anda, selain konten Google Workspace. Anda menggunakan konektor Sistem File Google Cloud Search dan mengonfigurasinya untuk mengakses share Windows yang ditentukan. Satu instance konektor dapat mendukung beberapa file yang dibagikan 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. Proses crawling ulang ini dapat memerlukan 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 link-nya dan biasanya setiap link DFS memiliki ACL 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 subset Link DFS, atau bahkan hanya satu link saat ABE mengisolasi direktori beranda yang dihosting. Saat konektor melintasi sistem DFS, konektor akan mematuhi 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 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 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, Sistem File Jaringan Sun (NFS) 2.0, Sistem File Jaringan Sun (NFS) 3.0, atau Sistem file Linux lokal.

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. Menginstal 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 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 mem-build 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 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 file. Entri registry yang tidak ada 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 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 menginstal dan mengonfigurasi konektor Sistem File, untuk meluncurkannya di 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 dengan 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 pemisah yang dikonfigurasi oleh fs.src.separator. Jika Anda menggunakan karakter yang tidak ada dalam Latin1, encode dengan escape Unicode Java.

Karakter pemisah lokasi

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

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

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

Perilaku konektor

Setelan Parameter
Domain Windows fs.supportedDomain=domain

Diperlukan agar pengguna yang disiapkan dengan GCDS dapat 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 untuk disertakan dalam ACL, terlepas dari 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

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

Tetapkan ke true untuk mengizinkan konektor meng-crawl file dan folder tersembunyi (pada sistem file Windows, file atau folder dianggap tersembunyi jika atribut tersembunyi DOS telah ditetapkan.) 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 ditetapkan ke false, konektor akan membuat objek VIRTUAL_CONTAINER_ITEM.

Mengaktifkan pemantauan perubahan sistem file fs.monitorForUpdates=boolean

Jika disetel ke true (default), perubahan pada konten atau kontrol akses akan memicu konektor untuk melakukan crawling ulang. Jika menonaktifkan pemantauan (ditetapkan ke false), Anda akan mengurangi penggunaan resource konektor secara signifikan, tetapi akan terjadi penundaan 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 guna menghindari pengindeksan file dan folder di folder tersembunyi.

Setelan defaultnya adalah 50.000 entri, yang biasanya akan memakai RAM sebesar 10–15 megabyte.

Pelestarian stempel waktu dan kontrol crawl

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

Saat 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 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 ditetapkan ke ALWAYS). Konektor mungkin tidak dapat memulihkan waktu akses terakhir untuk file jika 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. Proses ini akan terus meng-crawl meskipun beberapa stempel waktu mungkin tidak dipertahankan.
  • NEVER: Konektor tidak mencoba mempertahankan waktu akses terakhir saat meng-crawl file dan folder.
Hanya meng-crawl file yang diakses setelah tanggal tertentu fs.lastAccessedDate=YYYY-MM-DD

Craw konten hanya jika waktu akses terakhirnya 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 akan 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 saat ini. Nilai default-nya adalah disabled.

Gunakan properti ini untuk mengakhiri masa berlaku konten yang diindeks sebelumnya yang belum diakses dalam beberapa saat. Misalnya, tetapkan 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 akan 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 perubahan 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 belum diubah dalam beberapa saat. Misalnya, tetapkan 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 mengirim Daftar Kontrol Akses (ACL) ke indexing API, termasuk ACL di berbagi file. Namun, dalam beberapa konfigurasi, konektor mungkin tidak memiliki izin yang memadai untuk membaca ACL bersama. Dalam kasus tersebut, konektor tidak menampilkan file apa pun yang dikelola di berbagi file tersebut dalam hasil penelusuran.

Anda dapat menetapkan konektor untuk mengabaikan ACL berbagi sehingga konten selalu ditampilkan di hasil penelusuran. Dalam hal ini, indexing API mendapatkan ACL yang dibagikan dengan izin penuh, bukan ACL yang dibagikan dengan versi 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 berbagi.