פריסת המחבר של 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, הערך הוא תמיד 'פעיל'.

סוג הפריסה 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