לפרוס את מחבר Microsoft OnPoint-Prem-Microsoft

אפשר להגדיר ב-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:

  • משתמשי 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 כתווים חוקיים. לדוגמה, סוג התוכן 'הודעות' ממופה להגדרת האובייקט 'הודעות'. סוג התוכן "כתבה חדשותית" ממופה ל "מאמר חדשות" (ללא מקום).

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

סיסמת 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

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