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

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

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

הגדרות SharePoint שמופעלות

המחבר של Cloud Search ל-SharePoint בארגון תמיד מתייחס להגדרה Search Visibility ב-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.

הגדרות מרובות דיירים

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

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

  • מעניקים לחשבון המשתמש של המחבר הרשאות אדמין של אוסף אתרים.
  • מגדירים את 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 Server 2016
    • SharePoint Server 2013
  • Java JRE 1.8 מותקן במחשב שבו ירוץ המחבר של Google Cloud Search ל-SharePoint בארגון
אימות
  • NTLM
  • Kerberos
  • HTTP Basic
  • 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-Premise

  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. כשלוחצים על הלחצן View (הצגה), הוא הופך לזמין.

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

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

  6. לוחצים על Close ואז על Cancel כדי לסגור את החלונות.

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

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

    בתשובה לשאלה 'לסמוך על האישור הזה?', עונים כן.

שלב 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 On-Prem

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

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

  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 בארגון, חוץ מאשר שבמקום api.sourceId, הפרמטר הוא api.customerId. הערך של api.customerId הוא מספר הלקוח שקיבלת מהאדמין של Google Workspace.

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

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

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

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

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

    $ 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 של Active Directory של חשבונות המשתמשים של Active Directory שמשמש כנקודת התייחסות.

מזהי מקורות של זהויות להפניה api.referenceIdentitySource.DOMAIN.id=identity-source-id

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

חיפוש ב-Active Directory

הגדרה פרמטר
מארח Active Directory adLookup.host=host

חובה. שם מארח של Active Directory, כמו 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.

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

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