פריסת מחבר Microsoft SharePoint On-Prem

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

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

הגדרות שיתוף של SharePoint

מחבר On-Prem של Cloud Search SharePoint תמיד פועל בהתאם להגדרה הרשאות גישה לחיפוש ב-SharePoint, ולא ניתן לשנות אותה. במסמכי טיוטה, ההרשאות בחשבון המשתמש (המחבר משתמש בהן כדי לגשת ל-SharePoint Online) קובעות אילו טיוטות של מסמכים יתווספו לאינדקס ויוחזרו. אם לחשבון יש רק הרשאות 'קריאה מלאה', המחבר יפעל בהתאם להגדרות של 'הרשאות גישה לטיוטה' ב-SharePoint.

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

  • משתמשי Active Directory
  • קבוצות ב-Active Directory
  • קבוצות מקומיות של SharePoint (עם משתמשים וקבוצות ב-Active Directory כחברים)

כדי לסנכרן משתמשים וקבוצות ב-AD, צריך להשתמש ב-Google Cloud Directory Sync, שמאפשר לקבוצות עם מיפוי זהויות. כדי לסנכרן קבוצות מקומיות של SharePoint, משתמשים ב-SharePoint Identity Connector.

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

  • ממפים את ה-SID של קבוצת דומיינים ל-sAMAccountName המתאים.
  • מיפוי של משתמש sAMAccountName לכתובת האימייל של חברי הקבוצה המקומית ב-SharePoint.

אופטימיזציה של חיפוש

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

כדי להשתמש ב-API, צריך להגדיר ערכים לפרמטרים ליצירת HTML בקובץ התצורה של מחבר SharePoint Online. הפרמטרים האלה מאפשרים להגדיר אילו שדות משפיעים יותר או פחות על ההתאמות.

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

  • כדי למפות שמות של סוגי תוכן של SharePoint להגדרות תואמות של אובייקטים, המחבר מנרמל את השמות של סוגי התוכן על ידי החרגת תווים שאינם נתמכים. להגדרות של אובייקטים, Cloud Search API תומך רק בתווים A-Z, a-z ו-0-9 כתווים חוקיים. לדוגמה, סוג התוכן 'הודעות' ממופה להגדרת האובייקט 'הודעות'. סוג התוכן 'כתבה חדשותית' ממופה ל-NewsArticle (ללא מקום).

  • כאשר המחבר לא יכול להתאים להגדרת אובייקט עם הגדרת אובייקט, המחבר משתמש בסוג האובייקט החלופי (itemMetadata.objectType). מידע נוסף על פרמטרים של הגדרת מטא-נתונים.

  • כדי למפות שמות מאפיינים של SharePoint להגדרות המאפיינים, המחבר מנרמל את שמות המאפיינים על ידי פענוח תווים בקידוד הקסדצימלי והסרת קידומות 'ows_'. לאחר מכן מחריג תווים שאינם נתמכים (כל התווים מלבד A-Z, a-z ו-0-9 כתווים חוקיים).

טיפול בהודעות של Microsoft Outlook

כשהמחבר נתקל בקובצי .msg של Microsoft Outlook בזמן שהוא מוסיף תוכן לאינדקס, הוא מבטל את סוג המדיה של הקבצים ומוסיף אותם לאינדקס בתור application/vnd.ms-outlook.

הגדרות של ריבוי דיירים (multi-tenant)

אם ה-SharePoint שלך הוא פריסה מרובת דיירים, שבה אתרי לקוחות מרובים מתארחים באותה אפליקציית אינטרנט, עליך להגדיר את מצב איסוף האתרים בקובץ התצורה. בפריסות מרובות דיירים, תקבלו הרשאות רק לאוסף האתרים שלכם ולא תוכלו לקבל הרשאות קריאה מלאה, כפי שנדרש על ידי מחבר SharePoint On-Prem.

כדי להפעיל את מצב איסוף האתרים:

  • נותנים לחשבון המשתמש של המחבר הרשאות אדמין של אוסף אתרים.
  • מגדירים את sharepoint.server בקובץ תצורת המחבר לכתובת ה-URL של אוסף האתרים, למשל http://sharepoint.example.com/sites/sitecollection. כתובת ה-URL לא חייבת להשתמש בדיוק באותו האופן כמו ב-SharePoint.
  • בקובץ התצורה של המחבר, מגדירים את sharepoint.siteCollectionOnly כ-true.

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

מגבלות ידועות של המחבר

  • הזמן שלוקח למחבר לזהות שינויים בפריטים במסדי הנתונים מאריך ככל האפשר את מספר מסדי הנתונים שאחריהם המחבר עוקב.
  • צריכת הזיכרון הולכת וגדלה ככל שמספר המשתמשים והקבוצות הייחודיים שבהם משתמשים ברשימות ACL עבור כל אוסף אתרים.
  • אפשר להגדיר למחבר זהויות רק מדומיין Active Directory אחד.
  • כמה חשבונות משתמשים נפוצים ב-Active Directory וב-Windows, כמו Everyone, BUILTIN\Users ו-All Authenticated Users, לא נתמכים.
  • מחיקת התראות לא מתבצעת באופן מיידי ויכולות לחלוף יותר מ-4 שעות עד שהמחבר יזהה שמשתמש מחק תוכן ממאגר המקור.

דרישות המערכת

דרישות המערכת
מערכת הפעלה
  • Windows Server 2016
  • Ubuntu
  • Red Hat Enterprise Linux 5.0
  • SUSE Enterprise Linux 10 (64 ביט)
תוכנות
  • שרת SharePoint
    • שרת SharePoint 2016
    • שרת SharePoint 2013
  • התקנת Java JRE 1.8 במחשב שיפעיל את מחבר Google Cloud Search SharePoint On-Prem
אימות
  • NTLM
  • Kerberos
  • HTTP בסיסי
  • ADFS

פריסת המחבר

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

  1. יצירת מפתח פרטי של Google Workspace, שכולל את מזהה חשבון השירות שלכם. במאמר הגדרת גישה ל-Google Cloud Search API מוסבר איך מקבלים מפתח פרטי.

  2. האדמין שלכם ב-Google Workspace צריך להוסיף מקור נתונים כדי לחפש. מתעדים את המזהה של מקור הנתונים.

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

    • מקור זהויות לסנכרון משתמשים וקבוצות ב-Active Directory.
    • מקור זהות לקבוצות מקומיות של SharePoint

    האדמין צריך גם לקבל את מספר הלקוח של הארגון ב-Google Workspace ולתת לכם אותו.

    כך מקבלים את הערכים האלה במאמר מיפוי זהויות משתמשים ב-Cloud Search.

  4. צריך להגדיר חשבון משתמש למחבר עם הרשאות קריאה מלאה לאפליקציית האינטרנט של SharePoint במדיניות המשתמש.

  5. אם לאפליקציית האינטרנט SharePoint אין אוסף אתרים בסיסיים, יוצרים אוסף כזה.

  6. אם אוספים של אתרים מסוימים נעולים לכתיבה, נכנסים לשרת SharePoint באמצעות חשבון שיש לו הרשאות אדמין ומריצים את הסקריפט PrepareWriteLockedSites.ps1.

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

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

שלב 1. מתקינים את התוכנה של מחבר Google Cloud Search SharePoint On-Prem.

  1. משכפלים את מאגר המחברים מ-GitHub.

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

    $ git checkout tags/latest_version

    כאשר: latest_version = ערך כמו v1-0.0.5

  3. יוצרים את המחבר.

    $ mvn package

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

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

    $ cp target/google-cloudsearch-sharepoint-connector-latest_version.zip installation-dir
    $ cd installation-dir
    $ unzip google-cloudsearch-sharepoint-connector-latest_version.zip
    $ cd google-cloudsearch-sharepoint-connector-latest_version

שלב 2. יצירת קובץ התצורה של מחבר SharePoint On-Prem

  1. באותה ספרייה כמו התקנת המחבר, יוצרים קובץ. Google ממליצה לתת לקובץ את השם connector-config.properties כדי שלא יידרשו פרמטרים נוספים של שורת הפקודה כדי להריץ את המחבר. אם אתם מתכננים להפעיל מופעים רבים של מחברים, צריך להוסיף פרטים לשם כדי שיהיה קל להבדיל ביניהם.

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

    ### Sharepoint On-Prem Connector configuration ###
    
    # Required parameters for data source access
    api.sourceId=08ef8becd116faa4546b8ca2c84b2879
    api.serviceAccountPrivateKeyFile=service_account.json
    api.identitySourceId=08ef8becd116faa475de26d9b291fed9
    
    # Required parameters for SharePoint on-premises access
    sharepoint.server=http://sp-2016:32967/sites/doc-center-site-collection
    sharepoint.siteCollectionOnly=true
    sharepoint.username=contoso\\admin
    sharepoint.password=pa$sw0rd
    sharepoint.stripDomainInUserPrincipals=true
    
    # Required parameters for AD lookup
    adLookup.host=dc.contoso.com
    adLookup.username=contoso\\admin
    adLookup.password=pa$sw0rd
    api.referenceIdentitySources=CONTOSO,contoso
    api.referenceIdentitySource.contoso.id=08ef8becd116faa5d3783f8c5a80e5aa
    api.referenceIdentitySource.CONTOSO.id=08ef8becd116faa5d3783f8c5a80e5aa
    
    # Optional parameters for schema mapping
    contentTemplate.sharepointItem.title=Title
    contentTemplate.sharepointItem.unmappedColumnsMode=APPEND
    

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

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

שלב 3. ל-HTTPS, צריך להוסיף את SharePoint כמארח מהימן

אם ב-SharePoint מוגדר שימוש ב-HTTPS, צריך לקבל אישור SharePoint כדי להוסיף אותו כמארח מהימן למחבר.

  1. במחשב שיריץ את המחבר, פותחים דפדפן ועוברים אל SharePoint.

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

  3. כאשר הלחצן הצגה מופיע, לוחצים עליו.

  4. עוברים לכרטיסייה פרטים ולוחצים על ייצוא.

  5. שומרים את האישור בספריית המחברים בשם sharepoint.crt.

  6. כדי לסגור את החלונות, לוחצים על סגירה ואז על ביטול.

  7. פותחים שורת פקודה ומזינים את הפקודה הבאה:

    $ keytool -importcert -keystore cacerts.jks -storepass changeit -file sharepoint.crt -alias sharepoint

    כשמופיעה השאלה "Trust this certificate?", צריך לענות yes.

שלב 4. הגדרה של רישום ביומן

  1. בספרייה שמכילה את הקובץ הבינארי של המחבר, יוצרים תיקייה בשם logs.

  2. באותה ספרייה (לא logs), יוצרים קובץ בקידוד Latin1 בשם logging.properties.

  3. צריך להוסיף את הטקסט הבא אל logging.properties:

    handlers = java.util.logging.ConsoleHandler,java.util.logging.FileHandler
    # Default log level
    .level = INFO
    # uncomment line below to increase logging level for SharePoint APIsa
    #com.google.enterprise.cloudsearch.sharepoint.level=FINE
    
    # 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-sharepoint.%g.log
    java.util.logging.FileHandler.limit=10485760
    java.util.logging.FileHandler.count=10
    java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter
    

שלב 5. הגדרת מחבר הזהויות המקומי של SharePoint

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

  1. באותה ספרייה כמו התקנת המחבר של SharePoint Online, יוצרים קובץ ונותנים לו את השם sharepoint-onprem-identity-connector.config.

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

    ### SharePoint On-prem identity connector configuration ###
    
    # Required parameters for data source access
    api.customerId=C05d3djk8
    api.serviceAccountPrivateKeyFile=service_account.json
    api.identitySourceId=08ef8becd116faa475de26d9b291fed9
    
    # Required parameters for SharePoint access
    sharepoint.server=http://sp-2016:32967/sites/doc-center-site-collection
    sharepoint.siteCollectionOnly=true
    sharepoint.username=contoso\\admin
    sharepoint.password=pa$sw0rd
    sharepoint.stripDomainInUserPrincipals=true
    
    # Required parameters for AD lookup
    adLookup.host=dc.contoso.com
    adLookup.username=contoso\\admin
    adLookup.password=pa$sw0rd
    api.referenceIdentitySources=CONTOSO,contoso
    api.referenceIdentitySource.contoso.id=08ef8becd116faa5d3783f8c5a80e5aa
    api.referenceIdentitySource.CONTOSO.id=08ef8becd116faa5d3783f8c5a80e5aa
    

    הערכים כמעט זהים לערכים של מחבר SharePoint In-Prem, אבל במקום api.sourceId הפרמטר הוא api.customerId. הערך של api.customerId הוא מספר הלקוח שקיבלת מהאדמין ב-Google Workspace.

שלב 6. הפעלת מחבר SharePoint On-Prem

בשלבים הבאים תמפו את חשבונות המשתמשים ב-Active Directory המקומי ובאוסף האתרים של SharePoint לזהויות בשירות Cloud Identity. הסנכרון הזה בוצע עם Google Cloud Directory Sync (GCDS) ועם מחבר הזהויות של SharePoint On-Prem.

לאחר סנכרון המשתמשים והקבוצות על ידי GCDS, כדי לסנכרן את קבוצות האוספים של אתרים ב-SharePoint, מריצים את מחבר הזהויות של SharePoint On-Prem. לסיום, מריצים את מחבר SharePoing On-Prem כדי להוסיף לאינדקס ולהציג תוצאות למשתמשי Cloud Search.

  1. אם עדיין לא עשיתם זאת, מגדירים ומפעילים את GCDS. צריך להפעיל קבוצות שממופות זהויות.

  2. מריצים את מחבר הזהויות המקומי של SharePoint:

    $ java -Djava.util.logging.config.file=logging.properties -cp "google-cloudsearch-sharepoint-connector-version.jar" com.google.enterprise.cloudsearch.sharepoint.SharePointIdentityConnector -Dconfig=sharepoint-onprem-identity-connector.config
  3. מפעילים את מחבר ה-SharePoint On-Prem. שימוש בתחביר הפקודה לאבטחת אתר SharePoint:

    • HTTP (לא נדרש מארח מהימן):

      $ java -Djava.util.logging.config.file=logging.properties -jar google-cloudsearch-sharepoint-connector-v1-version.jar
    • HTTPS (הוספת SharePoint כמארח המהימן):

      $ java -Djavax.net.ssl.trustStore=cacerts.jks -Djavax.net.ssl.trustStoreType=jks -Djavax.net.ssl.trustStorePassword=changeit -Djava.util.logging.config.file=logging.properties -jar google-cloudsearch-sharepoint-connector-v1-version.jar

מאמרי עזרה על פרמטרים של הגדרות אישיות

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

הסביבה פרמטר
מזהה של מקור נתונים api.sourceId=1234567890abcdef

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

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

חובה. הנתיב לקובץ המפתח לחשבון השירות של Google Cloud Search.

גישה מקומית ל-SharePoint

הסביבה פרמטר
כתובת ה-URL של שרת SharePoint sharepoint.server=http://yoursharepoint.example.com/

חובה. כתובת ה-URL של שרת SharePoint כשם מארח מלא, כגון http://yoursharepoint.example.com/. אם שם המארח לא מוגדר במלואו, צריך להגדיר 'שינוי DNS' במארח המחבר.

שם המשתמש ב-SharePoint sharepoint.username=YOURDOMAIN\\ConnectorUser

נדרש כאשר מפעילים את המחבר ב-Linux או במחשב עם Windows שאינו חלק מדומיין AD של שרת SharePoint.

הסיסמה ל-SharePoint sharepoint.password=user_password

נדרש כאשר מפעילים את המחבר ב-Linux או במחשב עם Windows שאינו חלק מדומיין AD של שרת SharePoint.

שימוש באימות בזמן אמת כדי להתחבר ל-SharePoint sharepoint.username=AdaptorUser Live Authentication Id

sharepoint.password uS3R_passWoRD

sharepoint.formsAuthenticationMode=LIVE

שימוש באימות ADFS כדי להתחבר ל-SharePoint sharepoint.username=AdaptorUser@yourdomain.com

sharepoint.password=uS3R_passWoRD

sharepoint.sts.endpoint=https://adfs.example.com/adfs/services/trust/2005/usernamemixed

sharepoint.sts.realm=urn:myserver:sharepoint או https://yoursharepoint.example.com/_trust

sharepoint.formsAuthenticationMode=ADFS

הוספת אוספים של אתרים לאינדקס

הסביבה פרמטר
סוג האינדקס sharepoint.siteCollectionOnly=boolean

אופציונלי, למעט פריסות מרובות דיירים של SharePoint (מידע נוסף). יש להגדיר את הערך True כדי שאינדקס המחבר sharepoint.server יהיה אוסף אתרים במקום כשרת וירטואלי. ברירת המחדל היא null (מתבצע זיהוי אוטומטי).

מיפוי זהויות של SharePoint

הסביבה פרמטר
המזהה של מקור הזהות api.identitySourceId=1234567890abcdef

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

מקורות זהות של הפניות api.referenceIdentitySources=CONTOSO,contoso

רשימה מופרדת בפסיקים של מקורות זהות של קובצי עזר לחשבונות משתמשים פעילים של ספריות. הערך תואם לשם של Active Directory NETBIOS של חשבונות המשתמשים בספרייה הפעילה.

מזהים של מקור הזהות של קובץ העזר api.referenceIdentitySource.DOMAIN.id=identity-source-id

חובה. המזהה של מקור הזהויות לסנכרון חשבונות משתמשים ב-Active Directory.

חיפוש Active Directory

הסביבה פרמטר
מארח של Active Directory adLookup.host=host

חובה. שם המארח של הספרייה הפעילה, כמו dc.contoso.com, או כתובת IP.

יציאת חיפוש Active Directory adLookup.port=port

זה שינוי אופציונלי. ברירת המחדל היא 389. שימוש ב-686 ל-SSL.

שיטת חיפוש ב-Active Directory adLookup.method=value

זה שינוי אופציונלי. ברירת המחדל היא 'standard'. לחיבורי HTTPS, צריך להגדיר את הערך 'ssl'.

משתמש חיפוש ב-Active Directory adLookup.username=CONTOSO\user1

חובה. למשתמש יש הרשאה לבצע חיפושי ספריות פעילים.

סיסמת חיפוש ב-Active Directory adLookup.password=password123

חובה. סיסמה למשתמש שצוינה על ידי adLookup.user.

יצירת תוכן HTML

הסביבה פרמטר
שדה כותרת לתבנית HTML contentTemplate.sharePointItem.title=Title

השדה SharePoint להשתמש בו ככותרת תבנית ה-HTML עבור ה-HTML שנוצר.

שדות באיכות חיפוש גבוהה של תוכן HTML contentTemplate.sharePointItem.quality.high=highField1[,highField2,...]

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

שדות של איכות חיפוש בינונית של תוכן HTML contentTemplate.sharePointItem.quality.medium=mediumField1[,mediumField2,...]

רשימה מופרדת בפסיקים של שדות שיש לכלול ב-HTML שנוצר כשדות באיכות בינונית.

שדות באיכות חיפוש נמוכה לתוכן HTML contentTemplate.sharePointItem.quality.low=lowField1[,lowField2,...]

רשימה מופרדת בפסיקים של שדות שיש לכלול ב-HTML שנוצר כשדות באיכות נמוכה.

עמודות של תוכן HTML לא ממופות contentTemplate.sharepointItem.unmappedColumnsMode=APPEND

האופן שבו המחבר מטפל בעמודות לא ממופות. הערך הוא APPEND (ברירת מחדל) או IGNORE.

  • הוספה — המחבר יוצר תוכן HTML בכל השדות, כולל שדות שלא מוגדרים ברמת איכות (גבוהה, בינונית או נמוכה).
  • IGNORE – המחבר יוצר תוכן HTML עם שדות ממופים בלבד.