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

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

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

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

מחבר SharePoint Online של Cloud Search תמיד מכבד את ההגדרה 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 כתווים תקינים. לדוגמה, סוג התוכן 'הודעות' ממופה להגדרת האובייקט 'הודעות'. סוג התוכן News Article (מאמר חדשותי) ממופה ל-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 bit)
אימות
  • אימות בזמן אמת
תוכנה
  • סביבת SharePoint Online
  • ‫Java JRE 1.8 מותקן במחשב שבו יופעל המחבר של Google Cloud Search SharePoint Online

פריסת המחבר

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

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

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

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

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

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

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

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

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

  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 עם כל השדות, כולל אלה שלא הוגדרה להם רמת איכות (גבוהה, בינונית או נמוכה).
  • 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