פריסת מחבר 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 On-Premise.

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

  • מעניקים לחשבון המשתמש של המחבר הרשאות אדמין של אוסף אתרים.
  • מגדירים את 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 בסיסי
  • ADFS

פריסה של המחבר

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

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

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

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

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

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

    במאמר מיפוי זהויות משתמשים בחיפוש Google מוסבר איך מקבלים את הערכים האלה.

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

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

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

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

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

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

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

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

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

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

  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-Premise.

אחרי ש-GCDS מסנכרן משתמשים וקבוצות, כדי לסנכרן את הקבוצות של אוספי האתרים ב-SharePoint, מריצים את מחבר הזהויות של SharePoint בארגון. לסיום, מריצים את מחבר 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. הערך תואם לשם של Active Directory NETBIOS של חשבונות המשתמשים בספרייה הפעילה.

מזהים של מקור הזהות של קובץ העזר 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 עם שדות ממופה בלבד.