פריסת המחבר של Microsoft Windows File Systems

אתם יכולים להגדיר את Google Cloud Search כך שיחזיר תוצאות משיתופי Microsoft Windows של הארגון שלכם, בנוסף לתוכן של Google Workspace. אתם משתמשים במחבר של Google Cloud Search למערכות קבצים ומגדירים אותו כך שיקבל גישה לשיתופי Windows שצוינו. מופע יחיד של מחבר יכול לתמוך בכמה שיתופים של Microsoft Windows.

שיקולים חשובים

עדכונים אוטומטיים רציפים

כברירת מחדל, המחבר עוקב באופן רציף אחרי נתיבי התחלה (ערכים מ-fs.src בקובץ ההגדרות של המחבר) כשהמחבר מופעל. כשמערכת הקבצים מדווחת על שינויים בתוכן או באמצעי בקרת הגישה, המחבר מופעל כדי לסרוק מחדש את מערכת הקבצים. סריקה חוזרת כזו עלולה לצרוך הרבה משאבים. כדי להשבית את המעקב אחר מערכת הקבצים, מגדירים את fs.monitorForUpdates לערך false. השימוש במשאבים של מחבר מצטמצם באופן משמעותי, אבל יש עיכוב עד שהשינויים משתקפים במחבר. מידע נוסף

בקרת גישה ל-DFS

מערכת DFS מחילה בקרת גישה על הקישורים שלה, ובדרך כלל לכל קישור DFS יש רשימת ACL משלו. אחד המנגנונים שבהם משתמש DFS הוא ספירה מבוססת-גישה (ABE), שיכולה להגביל את הקישורים של DFS שמוחזרים למשתמש. יכול להיות שהמשתמשים יקבלו רק קבוצת משנה של קישורי DFS, או אפילו רק קישור אחד, אם ABE מבודד את ספריות הבית המארחות. כשהמחבר עובר במערכת DFS, הוא מתחשב ברשימת ה-ACL של קישור ה-DFS וברשימת ה-ACL של השיתוף של היעד, ורשימת ה-ACL של השיתוף עוברת בירושה מרשימת ה-ACL של ה-DFS.

מגבלות ידועות

  • מערכת קבצים: מחבר מערכת הקבצים לא תומך בכוננים ממופים ובכוננים מקומיים.
  • מערכת קבצים מבוזרת (DFS): מיפוי כונן ל-UNC DFS לא פועל בצורה תקינה. חלק מרשימות בקרת הגישה לא נקראות בצורה נכונה.
  • מחבר מערכות הקבצים תומך בקישורים ובמרחבי שמות של מערכת קבצים מבוזרת (DFS). עם זאת, המחבר תומך בקישורי DFS רק במרחב שמות של DFS, ולא בתיקיות הרגילות במרחב השמות של DFS.
  • אי אפשר ללחוץ על קישורים לקבצים שמוחזרים ב-cloudsearch.google.com. בנוסף, ברוב הדפדפנים אי אפשר ללחוץ על הקישורים לקבצים שמוחזרים על ידי Query API.

דרישות מערכת

דרישות מערכת
מערכת הפעלה
  • Windows Server 2016
  • Windows Server 2012
  • Windows Server 2008 R2
תוכנה
  • ‫Java JRE 1.8 מותקן במחשב שבו יופעל המחבר של מערכות קבצים של Google Cloud Search
פרוטוקולים של מערכת קבצים
  • ‫Server Message Block ‏ (SMB) –‏ SMB1
  • ‫Server Message Block ‏ (SMB) –‏ SMB2
  • מערכת קבצים מבוזרת (DFS)

לא נתמכות: מערכות קבצים מקומיות של Windows,‏ Sun Network File System ‏ (NFS) 2.0,‏ Sun Network File System ‏ (NFS) 3.0 או מערכת קבצים מקומית של Linux.

פריסת המחבר

דרישות מוקדמות

לפני שמפעילים את המחבר של Cloud Search למערכות קבצים, צריך לוודא שבסביבה שלכם יש את כל רכיבי החובה הבאים:

ההרשאות הנדרשות בחשבון Microsoft Windows

לחשבון Microsoft Windows שדרכו פועל המחבר צריכות להיות הרשאות מספיקות לביצוע הפעולות הבאות:

  • הצגת התוכן של תיקיות
  • קריאת התוכן של מסמכים
  • קריאת מאפיינים של קבצים ותיקיות
  • הרשאות קריאה (ACL) לקבצים ולתיקיות
  • הרשאות כתיבה של מאפיינים בסיסיים

חברות באחת מהקבוצות הבאות מעניקה לחשבון Windows את ההרשאות הנדרשות למחבר:

  • אדמינים
  • משתמשים מתקדמים
  • מפעילים של הדפסה
  • מפעילים של שרתים

שלב 1. התקנת המחבר של מערכות קבצים ל-Google Cloud Search

  1. מורידים את מאגר המחברים מ-GitHub ובונים אותו.

    כדי להשתמש ב-git ב-Windows Server:

    1. משכפלים את המאגר:

      > git clone https://github.com/google-cloudsearch/windows-filesystems-connector.git
      > cd windows-filesystems-connector
    2. בודקים את הגרסה הרצויה של המחבר:

      > git checkout tags/v1-0.0.3

    כדי להוריד מ-GitHub ישירות:

    1. עוברים לכתובת https://github.com/google-cloudsearch/windows-filesystems-connector.
    2. לוחצים על שכפול או הורדה הורדת קובץ zip.
    3. מבטלים את דחיסת החבילה.
    4. עוברים לספרייה החדשה:
      > cd windows-filesystems-connector
  2. יוצרים את המחבר. אם צריך, מתקינים את Apache Maven.

    > mvn package

    כדי לדלג על בדיקות כשיוצרים את המחבר, מריצים את הפקודה mvn package -DskipTests במקום mvn package.

  3. מעתיקים את קובץ ה-ZIP של המחבר לספריית ההתקנה המקומית:

    > 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

שלב 2. יצירת קובץ התצורה של המחבר

  1. באותה ספרייה שבה מותקן המחבר, יוצרים קובץ ונותנים לו את השם connector-config.properties.

  2. מוסיפים פרמטרים כצמדי מפתח/ערך לתוכן הקובץ, כמו בדוגמה הבאה:

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

    תיאורים מפורטים של כל פרמטר זמינים במאמר בנושא פרמטרים של הגדרות.

  3. (אופציונלי) מגדירים פרמטרים אחרים של המחבר לפי הצורך. פרטים נוספים זמינים במאמר בנושא פרמטרים של מחברים שסופקו על ידי Google.

שלב 3. הפעלת רישום

  1. יוצרים תיקייה בשם logs בספרייה שמכילה את הקובץ הבינארי של המחבר.
  2. יוצרים קובץ בפורמט ASCII או UTF-8 בשם logging.properties בספרייה שמכילה את הקובץ הבינארי של המחבר, ומוסיפים את התוכן הבא:

    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
    

שלב 4. (אופציונלי) הגדרת סוגי מדיה

כברירת מחדל, המחבר מנסה לזהות את סוג המדיה של כל קובץ באמצעות זיהוי סוג המדיה שמסופק על ידי JDK. ב-Microsoft Windows, ‏ JDK מסתמך על רישום Windows כדי לקבוע את סוגי המדיה של קבצים. אם חסרה רשומה במאגר המידע, יכול להיות שסוג המדיה של קבצים מסוימים יהיה null.

במקרה הצורך, אפשר לציין סוג מדיה שיחליף את הקישורים הקיימים או ימנע סוג מדיה מסוג null.

  1. בספריית המחבר, יוצרים קובץ מוצפן ב-Latin-1 בשם mime-type.properties.
  2. מזינים את סיומות הקבצים ואת סוגי המדיה המתאימים להם, כמו בדוגמאות הבאות:

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

שלב 5: הפעלת המחבר File Systems

אחרי שמתקינים ומגדירים את מחבר מערכות הקבצים, כדי להפעיל אותו במכונת המארח, מריצים פקודה כמו בדוגמה הבאה:

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

מציינים את הנתיב לקובץ התצורה אם הוא שונה מברירת המחדל (באותה ספרייה כמו הקובץ הבינארי עם השם connector-config.properties).

הסבר על פרמטרים להגדרה

גישה למקור נתונים

הגדרה פרמטר
מזהה מקור הנתונים api.sourceId=1234567890abcdef

חובה. מזהה המקור של Google Cloud Search שהוגדר על ידי האדמין ב-Google Workspace.

הנתיב לקובץ המפתח הפרטי של חשבון השירות api.serviceAccountPrivateKeyFile=./PrivateKey.json

חובה. קובץ המפתח של חשבון השירות של Google Cloud Search לגישה למחבר של מערכות קבצים ב-Google Cloud Search.

המזהה של מקור הזהות api.identitySourceId=x0987654321

חובה. מזהה מקור הזהויות ב-Cloud Search שהוגדר על ידי האדמין ב-Google Workspace לסנכרון זהויות של Active Directory באמצעות GCDS.

גישה למערכת קבצים

הגדרה פרמטר
מערכות קבצים של מקורות fs.src=path1[,path2, ...]

חובה. מציינים את מערכות קבצי המקור כמקור UNC אחד או יותר שמופרדים באמצעות התו המפריד שהוגדר על ידי fs.src.separator. אם משתמשים בתווים שלא נמצאים ב-Latin1, צריך לקודד אותם באמצעות תווי בריחה של Java Unicode.

תו מפריד הנתיב

הגדרה פרמטר
תו מפריד הנתיב fs.src.separator=separator-character

מפריד ברירת המחדל הוא ';'. אם נתיבי המקור מכילים נקודה ופסיק, אפשר להגדיר מפריד אחר, כמו פסיק (','), שלא מתנגש עם התווים בנתיבים ולא שמור על ידי תחביר קובץ המאפיינים עצמו.

אם הערך של fs.src.separator הוא מחרוזת ריקה, הערך של fs.src נחשב לנתיב יחיד.

אופן הפעולה של המחבר

הגדרה פרמטר
דומיין Windows fs.supportedDomain=domain

נדרש כדי לאפשר למשתמשים שהוגדרו באמצעות GCDS לגשת למסמכים דרך Cloud Search. מציינים שם דומיין יחיד של NetBIOS ב-Active Directory.

הכללת חשבונות ברשימות ACL fs.supportedAccounts=account-1[, account-2,...]

רשימה של חשבונות שמופרדת באמצעות פסיקים, שייכללו ברשימות ה-ACL גם אם הם חשבונות מובנים.

ערך ברירת המחדל הוא BUILTIN\\Administrators,Everyone,BUILTIN\\Users, BUILTIN\\Guest,NT AUTHORITY\\INTERACTIVE, NT AUTHORITY\\Authenticated Users

החרגה של חשבונות מובנים מרשימות ACL fs.builtinGroupPrefix=prefix

מציינים את הקידומת של חשבונות מובנים. חשבון שמתחיל בקידומת הזו נחשב לחשבון מובנה ויוחרג מרשימות בקרת הגישה.

ערך ברירת המחדל הוא BUILTIN\\

אפשר לאנדקס קבצים ותיקיות נסתרים fs.crawlHiddenFiles=boolean

הגדרת הערך ל-true מאפשרת למחבר לסרוק תיקיות וקבצים מוסתרים (במערכות קבצים של Windows, קובץ או תיקייה נחשבים מוסתרים אם מאפיין ההסתרה של DOS מוגדר). ערך ברירת המחדל הוא false.

אפשר לאנדקס רשימות של תיקיות שנסרקו וספירות של מרחב שמות DFS fs.indexFolders=boolean

כשמגדירים את הערך true (ברירת מחדל), כשמחבר סורק תיקייה, הוא יוצר אובייקט CONTAINER_ITEM. אם הערך הוא false, המחבר יוצר במקום זאת אובייקט VIRTUAL_CONTAINER_ITEM.

הפעלת מעקב אחר שינויים במערכת הקבצים fs.monitorForUpdates=boolean

אם ההגדרה היא true (ברירת מחדל), שינויים בתוכן או באמצעי בקרת הגישה יפעילו סריקה מחדש של המחבר. כשמשביתים את המעקב (מגדירים את הערך false), השימוש במשאבים של כלי החיבור יורד באופן משמעותי, אבל יש עיכוב עד שהשינויים משתקפים בכלי החיבור.

הגדרת הגודל המקסימלי של מטמון הספריות fs.directoryCacheSize=number-of-entries

הגודל המקסימלי של מטמון הספריות. המחבר משתמש במטמון כדי לזהות תיקיות מוסתרות, וכך נמנע מאינדוקס של קבצים ותיקיות בתיקיות מוסתרות.

ברירת המחדל היא 50,000 רשומות, שבדרך כלל צורכות 10-15 מגה-בייט של RAM.

שמירה של חותמות זמן ושליטה בסריקה

הגדרה פרמטר
שמירה של חותמת הזמן של הגישה האחרונה fs.preserveLastAccessTime=value

כשהמחבר סורק קבצים ותיקיות, הוא יכול לשנות את חותמת הזמן של הגישה האחרונה לקבצים ולתיקיות לשעת הסריקה. אם לא נשמרים נתוני הזמן של הגישה האחרונה, יכול להיות שמערכות גיבוי וארכיון לא יעבירו קבצים ותיקיות מתאימים לאחסון משני בגלל הביקור של המחבר.

כברירת מחדל, המחבר מנסה לשמור את זמן הגישה האחרון (fs.preserveLastAccessTime מוגדר ל-ALWAYS). יכול להיות שהמחבר לא יוכל לשחזר את זמן הגישה האחרון לקובץ אם למשתמש המעבר אין הרשאות מספיקות לכתיבת מאפייני קובץ. אם הערך מוגדר כ-ALWAYS, המחבר דוחה בקשות לסריקת מערכת הקבצים כדי שלא ישנה את חותמות הזמן של הגישה האחרונה לקבצים.

ערכים אפשריים:

  • ALWAYS: המחבר מנסה לשמור את זמן הגישה האחרון בזמן שהוא סורק קבצים ותיקיות. בפעם הראשונה שבה המחבר לא מצליח לשמור את זמן הגישה האחרון, המחבר דוחה את כל בקשות הסריקה הבאות של מערכת הקבצים כדי למנוע שינוי של חותמות הזמן של הגישה האחרונה.
  • IF_ALLOWED: המחבר מנסה לשמור את זמן הגישה האחרון בזמן שהוא סורק קבצים ותיקיות. הסריקה נמשכת גם אם יכול להיות שחלק מהחותמות לא יישמרו.
  • NEVER: המחבר לא מנסה לשמור את זמן הגישה האחרון בזמן שהוא סורק קבצים ותיקיות.
סריקה רק של קבצים שהייתה אליהם גישה אחרי תאריך מסוים fs.lastAccessedDate=YYYY-MM-DD

התוכן ייסרק רק אם שעת הגישה האחרונה היא אחרי התאריך שצוין. ערך ברירת המחדל הוא disabled.

מציינים את התאריך בפורמט התאריך ISO8601: YYYY-MM-DD. לדוגמה, אם הערך הוא 2010-01-01, המחבר סורק רק תוכן שהייתה אליו גישה אחרי תחילת 2010.

אם מציינים את fs.lastAccessedDate, אי אפשר להגדיר גם ערך ל-fs.lastAccessedDays.

סריקה רק של קבצים שהייתה אליהם גישה במספר הימים האחרונים fs.lastAccessedDays=number-of-days

התוכן ייסרק רק אם זמן הגישה האחרון הוא במסגרת מספר הימים שלפני היום. ערך ברירת המחדל הוא disabled.

אפשר להשתמש בנכס הזה כדי להגדיר תפוגה לתוכן שנוסף לאינדקס בעבר ושלא הייתה אליו גישה במשך זמן מה. לדוגמה, אם מגדירים את הערך ל-365, התוכן ייסרק רק אם הייתה אליו גישה בשנה האחרונה.

אם מציינים את fs.lastAccessedDays, אי אפשר להגדיר גם ערך ל-fs.lastAccessedDate.

סריקה רק של קבצים שהשתנו אחרי תאריך מסוים fs.lastModifiedDate=YYYY-MM-DD

סריקת התוכן תתבצע רק אם השעה של השינוי האחרון היא אחרי התאריך שצוין. ערך ברירת המחדל הוא disabled.

מציינים את התאריך בפורמט התאריך ISO8601: YYYY-MM-DD. לדוגמה, אם הערך הוא 2010-01-01, המחבר סורק רק תוכן שעבר שינוי אחרי תחילת 2010.

אם מציינים את fs.lastModifiedDate, אי אפשר להגדיר גם ערך ל-fs.lastModifiedDays.

סריקת קבצים שהשתנו רק במספר הימים האחרון fs.lastModifiedDays=number-of-days

סריקת התוכן תתבצע רק אם חותמת הזמן של השינוי האחרון היא במסגרת מספר הימים שלפני היום. ערך ברירת המחדל הוא disabled.

אפשר להשתמש במאפיין הזה כדי להגדיר שתוכן שנוסף לאינדקס בעבר ולא שונה במשך זמן מה יפסיק להיות זמין. לדוגמה, אם מגדירים את הערך 365, המערכת תסרוק תוכן רק אם הוא שונה בשנה האחרונה.

אם מציינים את fs.lastModifiedDays, אי אפשר להגדיר גם ערך ל-fs.lastModifiedDate.

דילוג על בקרת הגישה לשיתוף קבצים

כברירת מחדל, המחבר שומר על שלמות בקרת הגישה כשהוא שולח רשימות של בקרת גישה (ACL) אל ה-API של יצירת האינדקס, כולל רשימות ה-ACL בתיקיית השיתוף. עם זאת, בהגדרות מסוימות, יכול להיות שלמחבר לא יהיו מספיק הרשאות לקרוא את רשימת ה-ACL של השיתוף. במקרים כאלה, המחבר לא מחזיר קבצים שמתעדכנים בשיתוף הקבצים בתוצאות החיפוש.

אפשר להגדיר את המחבר כך שיתעלם מהרשימה של בקרת גישה (ACL) לשיתוף, כדי שהתוכן תמיד יופיע בתוצאות החיפוש. במקרה כזה, ה-API של יצירת האינדקס מקבל רשימת ACL שמאפשרת שיתוף ללא הגבלה, ולא את רשימת ה-ACL של השיתוף בפועל.

הגדרה פרמטר
דילוג על בקרת הגישה לשיתוף קבצים fs.skipShareAccessControl=boolean

הגדרה ל-false (ברירת מחדל) כדי לאכוף שיתוף של רשימות ACL. מגדירים את הערך ל-true כדי להתעלם מקובצי ה-ACL של השיתוף.