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

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

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

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

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

בקרת גישה ל-DFS

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

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

  • מערכת קבצים: מחבר מערכות הקבצים לא תומך בכוננים ממופים ובכוננים מקומיים.
  • מערכת קבצים מבוזרת: אחסון שממופה ל-UNC DFS לא פועל כראוי. חלק מרשימות ה-ACL לא נקראות בצורה נכונה.
  • מחבר File Systems תומך במרחבי שמות ובקישורים של מערכת קבצים מבוזרת (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 File Systems
פרוטוקולים של מערכות קבצים
  • 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 File Systems

  1. מוצאים את מאגר המחברים מ-GitHub ומפתחים אותו.

    כדי להשתמש ב-Git בשרת Windows:

    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

אחרי שמתקינים ומגדירים את מחבר 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 File Systems.

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

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

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

הסביבה פרמטר
מערכות קובצי מקור fs.src=path1[,path2, ...]

חובה. צריך לציין מערכות קובצי מקור כמקור UNC אחד או יותר שמופרדים באמצעות התו המפריד שהוגדר באמצעות fs.src.separator. אם משתמשים בתווים שאינם בלטינית1, מקודדים אותם באמצעות תווי בריחה (escape) של Java Unicode.

תו מפריד נתיב

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

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

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

התנהגות המחבר

הסביבה פרמטר
דומיין של Windows fs.supportedDomain=domain

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

הכללת חשבונות ב-ACLS 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

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

ערך ברירת המחדל הוא 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 רשומות, שבדרך כלל צורכות זיכרון RAM בנפח של 10-15 מגה-בייט.

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

הסביבה פרמטר
שימור חותמת הזמן של הגישה האחרונה 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 של השיתוף.