פריסת המחבר של Microsoft SharePoint Online

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

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

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

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

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

  • משתמשי Office 365 / Azure AD
  • קבוצות אבטחה ב-Office 365 או ב-Azure AD
  • קבוצות SharePoint (עם משתמשים וקבוצות של Office 365 כחברים)

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

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

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

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

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

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

  • המחבר ממפה שמות של נכסי SharePoint להגדרות של נכסים.

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

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

  • כל מופע של המחבר יכול להוסיף לאינדקס תוכן רק ממאגר אחד של אתרים. כדי להוסיף מספר אוספים של אתרים לאינדקס, צריך להגדיר מופעי מחברים נוספים.
  • צריכת הזיכרון גדלה ככל שמספר המשתמשים והקבוצות הייחודיים שבהם אתם משתמשים ברשימות ACL בכל אוסף אתרים גדל.
  • מחיקת התראות לא מתבצעת באופן מיידי ויכולות לחלוף יותר מ-4 שעות עד שהמחבר יזהה שמשתמש מחק תוכן ממאגר המקור.

דרישות מערכת

דרישות מערכת
מערכת הפעלה
  • Windows Server 2016
  • Ubuntu
  • Red Hat Enterprise Linux 5.0
  • SUSE Enterprise Linux 10 (64 ביט)
אימות
  • אימות בזמן אמת
תוכנה
  • סביבת SharePoint Online
  • Java JRE 1.8 מותקנת במחשב שבו ירוץ המחבר של Google Cloud Search ל-SharePoint Online

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

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

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

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

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

    • אחת למשתמשים ולקבוצות ב-Office 365
    • אחת לקבוצות ב-SharePoint

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

    כך מקבלים את הערכים האלה במאמר מיפוי זהויות משתמשים ב-Cloud Search.

  4. מגדירים חשבון משתמש למחבר עם הרשאות אדמין של אוסף אתרים ב-SharePoint Online.

  5. אם המחבר מחזיר תוצאות על סמך רשימות ACL (התוצאות לא גלויות לכולם), צריך ליצור פרטי כניסה לקריאת משתמשים וקבוצות מחשבון Office 365. פועלים לפי ההוראות של Microsoft כדי ליצור אפליקציה של Azure Active Directory. בזמן הגדרת האפליקציה:

    1. נותנים לאפליקציה שם תיאורי, למשל gcs-o365-identity-connector.
    2. מוסיפים הרשאות. האפליקציה צריכה את ההרשאות 'Group.Read.All' ו-'User.Read.All'.
    3. מתעדים את הפרטים הבאים לשימוש בהגדרות האישיות של המחבר:
      • מזהה אפליקציה
      • דייר (tenant)
      • סוד לקוח

שלב 1. התקנת תוכנת המחבר של SharePoint Online

  1. משכפלים את מאגר המחבר מ-GitHub.

    $ git clone https://github.com/google-cloudsearch/sharepoint-connector.git
    $ cd sharepoint-connector
  2. בודקים את הגרסה הרצויה של המחבר:

    $ git checkout tags/v1-0.0.3
  3. יוצרים את המחבר.

    $ mvn package

    כדי לדלג על הבדיקות בזמן יצירת המחבר, מריצים את mvn package -DskipTests במקום mvn package.

  4. מעתיקים את קובץ ה-ZIP של המחבר לספריית ההתקנה המקומית:

    $ cp target/google-cloudsearch-sharepoint-connector-v1-0.0.3.zip installation-dir
    $ cd installation-dir
    $ unzip google-cloudsearch-sharepoint-connector-v1-0.0.3.zip
    $ cd google-cloudsearch-sharepoint-connector-v1-0.0.3

שלב 2. יצירת קובץ התצורה של מחבר SharePoint Online

  1. באותה ספרייה כמו התקנת המחבר, יוצרים קובץ חדש ונותנים לו את השם sharepoint-online-connector.config. אם אתם מתכננים להפעיל הרבה מכונות של מחברים, מומלץ להוסיף פרטים נוספים לשם כדי להבדיל ביניהן.

  2. מוסיפים פרמטרים כצמדי מפתח/ערך לתוכן הקובץ, כמו בדוגמה הבאה:

    ### SharePoint Online connector configuration ###
    
    # Required parameters for data source access
    api.sourceId=08ef8becd116faa4546b8ca2c84b2879
    api.serviceAccountPrivateKeyFile=service_account.json
    
    # Required parameters for SharePoint Online access
    sharepoint.server=https://mydomain.onmicrosoft.com
    sharepoint.siteCollectionOnly=true
    sharepoint.username=admin@mydomain.onmicrosoft.com
    sharepoint.password=pa$sw0rd
    sharepoint.formsAuthenticationMode=LIVE
    sharepoint.deploymentType=ONLINE
    
    # SharePoint identity mapping parameters
    api.identitySourceId=08ef8becd116faa475de26d9b291fed9
    api.referenceIdentitySources=defaultIdentitySource
    api.referenceIdentitySource.defaultIdentitySource.id=08ef8becd116faa5d3783f8c5a80e5aa
    
    # Optional SharePoint List Item metadata parameters
    contentTemplate.sharepointItem.title=Title
    contentTemplate.sharepointItem.unmappedColumnsMode=APPEND
    

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

  3. (אופציונלי) מגדירים פרמטרים נוספים של המחבר לפי הצורך. פרטים נוספים זמינים במאמר פרמטרים של מחברים שסופקו על ידי Google.

שלב 3. הגדרת רישום ביומן למחבר SharePoint Online

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

  2. יוצרים קובץ עם קידוד Latin-1 בשם 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
    

שלב 4. הגדרת מחבר הזהויות של SharePoint Online

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

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

  2. מוסיפים פרמטרים כצמדי מפתח/ערך לתוכן הקובץ, כמו בדוגמה הבאה:

    ### SharePoint Online identity connector configuration ###
    # Required parameters for data source access
    api.customerId=C05d3djk8
    api.serviceAccountPrivateKeyFile=service_account.json
    
    # Required parameters for SharePoint Online access
    sharepoint.server=https://mydomain.onmicrosoft.com
    sharepoint.siteCollectionOnly=true
    sharepoint.username=admin@mydomain.onmicrosoft.com
    sharepoint.password=pa$sw0rd
    sharepoint.formsAuthenticationMode=LIVE
    sharepoint.deploymentType=ONLINE
    
    # SharePoint identity mapping parameters
    api.identitySourceId=08ef8becd116faa475de26d9b291fed9
    api.referenceIdentitySources=defaultIdentitySource
    api.referenceIdentitySource.defaultIdentitySource.id=08ef8becd116faa5d3783f8c5a80e5aa
    

    הערכים כמעט זהים לערכים של מחבר SharePoint Online, אבל במקום api.sourceId הפרמטר הוא api.customerId. הערך של api.customerId הוא מספר הלקוח שקיבלת מהאדמין של Google Workspace.

שלב 5. התקנת מחבר הזהויות של Office 365

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

  1. משכפלים את מאגר המחבר מ-GitHub.

    $ git clone https://github.com/google-cloudsearch/office-365-connector.git
    $ cd office-365-connector
  2. בודקים את הגרסה הרצויה של המחבר:

    $ git checkout tags/v1-0.0.3
  3. יוצרים את המחבר.

    $ mvn package

    כדי לדלג על הבדיקות בזמן יצירת המחבר, מריצים את mvn package -DskipTests במקום mvn package.

  4. מעתיקים את קובץ ה-zip של המחבר לספריית ההתקנה המקומית:

    $ cp target/google-cloudsearch-office-365-connector-v1-0.0.3.zip installation-dir
    $ cd installation-dir
    $ unzip google-cloudsearch-office-365-connector-v1-0.0.3.zip
    $ cd google-cloudsearch-office-365-connector-v1-0.0.3

שלב 6. הגדרת המחבר של Office 365 Identity והגדרת רישום ביומן

  1. באותה ספרייה שבה מותקן מחבר הזהויות, יוצרים קובץ חדש ומעניקים לו את השם o365-identity-connector.config.

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

    ### Office 365 Identity connector configuration ###
    api.identitySourceId=12345abcde api.customerId=abcde12345 o365.clientId=a63c6eb3-29e7-486 o365.tenant=185ef9ed-29e7-486 o365.clientSecret=raHJN15vRLBKs

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

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

  4. יוצרים קובץ ASCII או UTF-8 בשם logging.properties באותה ספרייה ומוסיפים את התוכן הבא:

    handlers = java.util.logging.ConsoleHandler,java.util.logging.FileHandler
    # Default log level
    .level = INFO
    # uncomment line below to increase logging level for Office 365 APIs
    #com.google.enterprise.cloudsearch.o365.level=FINE
    
    # uncomment line below to increase logging level to enable Google API traces
    #com.google.api.client.http.level = FINE
    java.util.logging.ConsoleHandler.level = INFO
    java.util.logging.FileHandler.pattern=logs/connector-o365.%g.log
    java.util.logging.FileHandler.limit=10485760
    java.util.logging.FileHandler.count=10
    java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter
    

שלב 7. הפעלת המחבר של SharePoint Online

בשלבים הבאים תמפו את חשבונות המשתמשים ב-Office 365 ובאוסף האתרים של SharePoint לזהויות בשירות Cloud Identity. הסנכרון מתבצע באמצעות מחבר הזהויות של Office 365 ומחבר הזהויות של SharePoint Online.

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

  1. מריצים את מחבר הזהויות של Office 365:

    $ java -Djava.util.logging.config.file=logging.properties -jar google-cloudsearch-office-365-connector-v1-0.0.3.jar -Dconfig=o365-identity-connector.config
  2. מריצים את מחבר הזהויות של SharePoint Online:

    $ java -Djava.util.logging.config.file=logging.properties -cp "google-cloudsearch-sharepoint-connector-v1-0.0.3.jar" com.google.enterprise.cloudsearch.sharepoint.SharePointIdentityConnector -Dconfig=sharepoint-online-identity-connector.config
  3. מריצים את המחבר של SharePoint Online:

    $ java -Djava.util.logging.config.file=logging.properties -jar google-cloudsearch-sharepoint-connector-v1-0.0.3.jar -Dconfig=sharepoint-online-connector.config

מסמך עזר בנושא פרמטרים של הגדרות אישיות

גישה למקור הנתונים

הגדרה פרמטר
מזהה מקור הנתונים api.sourceId=1234567890abcdef

חובה. מזהה מקור הנתונים של Google Cloud Search שהוגדר על ידי האדמין ב-Google Workspace.

הנתיב לקובץ המפתח הפרטי של חשבון השירות api.serviceAccountPrivateKeyFile=PrivateKey.json

חובה. הנתיב לקובץ המפתח של חשבון השירות ב-Google Cloud Search.

גישה ל-SharePoint Online

הגדרה פרמטר
שם דומיין שמוגדר במלואו לאוסף האתרים של SharePoint sharepoint.server=http://yoursharepoint.example.com/

חובה. אם שם הדומיין לא מוגדר באופן מלא, צריך להגדיר שינוי DNS במארח המחבר.

מצב 'אוסף אתרים בלבד' sharepoint.siteCollectionOnly=true

חובה. ב-SharePoint Online, מגדירים את הערך true.

שם המשתמש ב-SharePoint sharepoint.username=username

חובה. שם המשתמש של החשבון שבו נעשה שימוש כדי לגשת ל-SharePoint Online.

הסיסמה ל-SharePoint sharepoint.password=user_password

חובה. הסיסמה לחשבון שבו נעשה שימוש כדי לגשת ל-SharePoint Online.

מצב אימות sharepoint.formsAuthenticationMode=LIVE

חובה. ב-SharePoint Online, הערך הוא תמיד 'LIVE'.

סוג הפריסה sharepoint.deploymentType=ONLINE

חובה. ב-SharePoint Online, הערך הוא תמיד 'ONLINE'.

מיפוי זהויות ב-SharePoint

הגדרה פרמטר
המזהה של מקור הזהות api.identitySourceId=1234567890abcdef

חובה. המזהה של מקור הזהויות ב-Cloud Search של מקור הזהויות של קבוצות ב-SharePoint.

מקורות זהויות להפניה api.referenceIdentitySources=defaultIdentitySource

חובה. ב-sharePoint Online, הערך הוא תמיד 'defaultIdentitySource'.

מזהים של מקור הזהות של קובץ העזר api.referenceIdentitySource.defaultIdentitySource.id=112233abcd

חובה. המזהה של מקור הזהות ב-Cloud Search למקור הזהות של משתמשים וקבוצות ב-Office 365.

יצירת תוכן 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 עם שדות ממופה בלבד.

הגדרת מחבר הזהויות של Office 365

הגדרה פרמטר
המזהה של מקור הזהות api.identitySourceId=1234567890abcdef

חובה. המזהה של מקור הזהויות ב-Office 365. הערך הזה צריך להתאים לערך של 'api.referenceIdentitySource.defaultIdentitySource.id' בהגדרת המחבר של SharePoint Online.

מספר לקוח ב-Google api.customerId=c1b1d1e1

חובה. מספר הלקוח של הארגון ב-Google Workspace.

מזהה אפליקציה של Office 365 o365.clientId=a63c6eb3-29e7-486

חובה. מזהה האפליקציה מהגדרת האפליקציה ב-Office 365.

דייר ב-Office 365 o365.tenant=185ef9ed-29e7-486

חובה. הדייר בחשבון Office 365 שלכם (האפליקציה של Azure Activity Directory)

סוד לקוח של Office 365 o365.clientSecret=raHJN15vRLBKs

חובה. הסוד של פרטי הכניסה מהגדרת האפליקציה ב-Office 365