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

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

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

לפני שמפעילים את המחבר של SharePoint Online, חשוב להביא בחשבון את הנקודות הבאות.

הגדרות SharePoint שנשמרות

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

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

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

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

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

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

  • המחבר מבצע נורמליזציה של סוגי התוכן ב-SharePoint לשמות תקינים של הגדרות אובייקט (A-Z, ‏ a-z, ‏ 0-9). לדוגמה, 'News Article' הופך ל-'NewsArticle'.
  • אם המחבר לא יכול להתאים הגדרת אובייקט, הוא משתמש בסוג האובייקט של הגיבוי (itemMetadata.objectType). ראו פרמטרים של הגדרת מטא-נתונים.
  • המחבר ממפה את שמות המאפיינים ב-SharePoint להגדרות המאפיינים.
  • המחבר מבטל את סוג המדיה של קובצי Microsoft Outlook .msg ומבצע אינדוקס שלהם כ-application/vnd.ms-outlook.

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

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

דרישות מערכת

דרישות מערכת
מערכת הפעלה ‫Windows Server 2016,‏ Ubuntu,‏ Red Hat Enterprise Linux 5.0 או SUSE Enterprise Linux 10 (בגרסת 64 ביט).
אימות אימות בזמן אמת.
תוכנה סביבת SharePoint Online;‏ Java JRE 1.8.

פריסת המחבר

כדי לפרוס את המחבר של SharePoint Online, פועלים לפי השלבים הבאים.

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

  1. יוצרים מפתח פרטי של Google Workspace. הגדרת גישה ל-Cloud Search API
  2. מוסיפים מקור נתונים לחיפוש ורושמים את המזהה שלו. איך מוסיפים מקור נתונים לחיפוש
  3. כדי לקבל תוצאות שמבוססות על רשימת בקרת גישה, האדמין צריך ליצור שני מקורות זהויות (אחד ל-Office 365 ואחד לקבוצות ב-SharePoint) ולספק את מספר הלקוח ב-Google Workspace. מיפוי זהויות משתמשים
  4. מגדירים חשבון משתמש למחבר עם הרשאות אדמין של אוסף אתרים ב-SharePoint Online.
  5. יוצרים פרטי כניסה לאפליקציה ב-Azure Active Directory עם הרשאות Group.Read.All ו-User.Read.All. רושמים בצד את מזהה האפליקציה, הדייר וסוד הלקוח.

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

  1. משכפלים את המאגר:
    $ git clone https://github.com/google-cloudsearch/sharepoint-connector.git
    $ cd sharepoint-connector
  2. בודקים את הגרסה שבחרתם (לדוגמה, v1-0.0.3):
    $ git checkout tags/v1-0.0.3
  3. בניית המחבר:
    $ mvn package
    כדי לדלג על בדיקות, משתמשים ב-mvn package -DskipTests.
  4. מחלצים את קובץ ה-ZIP לספריית ההתקנה.

שלב 2. יצירת קובץ התצורה

יוצרים את הקובץ sharepoint-online-connector.config בספריית ההתקנה. מוסיפים פרמטרים כצמדי מפתח/ערך, כמו בדוגמה הבאה:

api.sourceId=08ef8becd116faa4546b8ca2c84b2879
api.serviceAccountPrivateKeyFile=service_account.json
sharepoint.server=https://mydomain.onmicrosoft.com
sharepoint.siteCollectionOnly=true
sharepoint.username=admin@mydomain.onmicrosoft.com
sharepoint.password=password
sharepoint.formsAuthenticationMode=LIVE
sharepoint.deploymentType=ONLINE
api.identitySourceId=08ef8becd116faa475de26d9b291fed9
api.referenceIdentitySources=defaultIdentitySource
api.referenceIdentitySource.defaultIdentitySource.id=08ef8becd116faa5d3783f8c5a80e5aa

פרטים נוספים מופיעים בחומר העזר בנושא פרמטרים או בפרמטרים שסופקו על ידי Google.

שלב 3. הגדרה של רישום ביומן

יוצרים תיקייה בשם logs וקובץ בשם 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

כדי להחיל רשימות ACL מבוססות-זהות, יוצרים sharepoint-online-identity-connector.config עם api.customerId ופרמטרים אחרים של החיבור, כמו בדוגמה הבאה:

```properties
### 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
```

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

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

  1. משכפלים את מאגר Office 365:

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

  3. מחלצים את קובץ ה-ZIP לספריית ההתקנה.

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

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

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

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

  2. באותה ספרייה, יוצרים תיקייה בשם logs.

  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 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. הפעלת המחבר

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

  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 -jar google-cloudsearch-sharepoint-connector-v1-0.0.3.jar -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
    

הסבר על פרמטרים להגדרה

בקטעים הבאים מפורטים פרמטרים להגדרה שמשמשים להגדרת המחבר של SharePoint Online.

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

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