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

אפשר להגדיר את Google Cloud Search כדי להחזיר תוצאות מ-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

זה שינוי אופציונלי. ברירת המחדל היא 'רגילה'. לחיבורי 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 עם שדות ממופים בלבד.