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

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

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

הגדרות SharePoint מכובדות

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

חובה. כתובת האתר של שרת SharePoint כשם מארח מלא, כגון http://yoursharepoint.example.com/. אם שם המארח לא מלא, עליך להגדיר עקיפת DNS במארח המחבר.

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

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

סיסמת SharePoint sharepoint.password=user_password

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

שימוש באימות בזמן אמת כדי להתחבר ל-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

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

מזהי מקור של זהות הפניה 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 עם כל השדות, כולל שדות שאינם מוגדרים ברמת איכות (גבוהה, בינונית או נמוכה).
  • התעלמות – המחבר יוצר תוכן HTML עם שדות ממופים בלבד.