פריסת המחבר של 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.

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

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

    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 בקבצים מסוימים.

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

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

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

שלב 5: מפעילים את המחבר של מערכות הקבצים

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

> 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 לסנכרון זהויות בספריות פעילות באמצעות GCDS.

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

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

חובה. צריך לציין מערכות של קובצי מקור כמקור אחד או יותר של UNC שמופרדים באמצעות תו מפריד שהוגדר על ידי fs.src.separator. אם משתמשים בתווים שאינם ב-Latin1, יש לקודד אותם באמצעות תווי 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 רשומות, שבדרך כלל צורכות 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.