Triển khai trình kết nối Microsoft SharePoint Online

Bạn có thể thiết lập Google Cloud Search để trả về kết quả từ nội dung trên SharePoint Online của tổ chức bạn, ngoài nội dung trên Google Workspace. Bạn sử dụng trình kết nối Google Cloud Search SharePoint Online và định cấu hình trình kết nối này để truy cập vào một nguồn dữ liệu cụ thể trên SharePoint Online.

Điểm quan trọng cần lưu ý

Tuân thủ các chế độ cài đặt của SharePoint

Trình kết nối Cloud Search với SharePoint Online luôn tuân thủ chế độ cài đặt Khả năng hiển thị khi tìm kiếm trên SharePoint và bạn không thể ghi đè chế độ cài đặt này. Đối với tài liệu nháp, các quyền trên tài khoản người dùng (mà trình kết nối dùng để truy cập vào SharePoint Online) sẽ kiểm soát những tài liệu nháp được lập chỉ mục và trả về. Nếu tài khoản chỉ có quyền "Đọc toàn bộ", thì trình kết nối sẽ tuân theo chế độ cài đặt "Hiển thị mục nháp" trên SharePoint.

Bạn cũng có thể định cấu hình trình kết nối để giới hạn kết quả dựa trên quyền truy cập vào tài khoản người dùng. Để áp dụng tính năng cắt bỏ bảo mật cho nội dung trên SharePoint, bạn phải đồng bộ hoá các danh tính bên ngoài sau đây với Google Directory:

  • Người dùng Office 365 / Azure AD
  • Nhóm bảo mật Office 365 / Azure AD
  • Nhóm SharePoint (có người dùng và nhóm Office 365 là thành viên)

Tối ưu hoá công cụ tìm kiếm

Bạn có thể cải thiện trải nghiệm của người dùng bằng cách định cấu hình trình kết nối để trả về kết quả tìm kiếm phù hợp hơn.

Để sử dụng API này, hãy đặt các giá trị cho tham số tạo HTML trong tệp cấu hình trình kết nối SharePoint Online. Các thông số này cho phép bạn đặt những trường có tác động cao hơn hoặc thấp hơn đến kết quả khớp.

Để thiết lập một giản đồ, hãy làm theo hướng dẫn trong phần Tạo và đăng ký giản đồ. Khi bạn thiết lập một giản đồ:

  • Để liên kết tên của các loại nội dung SharePoint với các định nghĩa đối tượng tương ứng, trình kết nối sẽ chuẩn hoá tên loại nội dung bằng cách loại trừ các ký tự không được hỗ trợ. Đối với các định nghĩa về đối tượng, Cloud Search API chỉ hỗ trợ các ký tự A-Z, a-z và 0-9 là các ký tự hợp lệ. Ví dụ: loại nội dung "Thông báo" liên kết với định nghĩa đối tượng "Thông báo". Loại nội dung "Bài viết tin tức" tương ứng với "NewsArticle" (không có khoảng trắng).

  • Khi không thể so khớp một định nghĩa đối tượng với một định nghĩa đối tượng, trình kết nối sẽ sử dụng loại đối tượng dự phòng (itemMetadata.objectType). Tìm hiểu thêm về các thông số cấu hình siêu dữ liệu.

  • Trình kết nối liên kết tên thuộc tính SharePoint với định nghĩa thuộc tính.

  • Khi gặp phải các tệp .msg của Microsoft Outlook trong quá trình lập chỉ mục nội dung, trình kết nối sẽ ghi đè loại nội dung cho các tệp và lập chỉ mục các tệp đó dưới dạng application/vnd.ms-outlook.

Các hạn chế đã biết của trình kết nối

  • Mỗi phiên bản trình kết nối chỉ có thể lập chỉ mục nội dung từ một tuyển tập trang duy nhất. Để lập chỉ mục nhiều tuyển tập trang web, hãy thiết lập các phiên bản trình kết nối bổ sung.
  • Mức tiêu thụ bộ nhớ tăng lên khi số lượng người dùng và nhóm riêng biệt mà bạn sử dụng trong danh sách kiểm soát truy cập cho mỗi tuyển tập trang web tăng lên.
  • Thông báo xoá không được gửi ngay lập tức và có thể mất hơn 4 giờ để một trình kết nối nhận ra rằng người dùng đã xoá nội dung khỏi kho lưu trữ nguồn.

Yêu cầu hệ thống

Yêu cầu hệ thống
Hệ điều hành
  • Windows Server 2016
  • Ubuntu
  • Red Hat Enterprise Linux 5.0
  • SUSE Enterprise Linux 10 (64 bit)
Xác thực
  • Xác thực trực tiếp
Phần mềm
  • Môi trường SharePoint Online
  • Java JRE 1.8 được cài đặt trên máy tính sẽ chạy trình kết nối Google Cloud Search SharePoint Online

Triển khai trình kết nối

Điều kiện tiên quyết

  1. Tạo khoá riêng tư Google Workspace chứa mã nhận dạng tài khoản dịch vụ của bạn. Để tìm hiểu cách lấy khoá riêng tư, hãy xem bài viết Định cấu hình quyền truy cập vào API Google Cloud Search.

  2. Quản trị viên Google Workspace phải thêm một nguồn dữ liệu để tìm kiếm. Ghi lại mã nhận dạng nguồn dữ liệu.

  3. Nếu trình kết nối trả về kết quả dựa trên ACL (kết quả không phải là công khai), thì quản trị viên Google Workspace của bạn phải tạo hai nguồn nhận dạng và cung cấp cho bạn mã nhận dạng của chúng:

    • một cho người dùng và nhóm Office 365
    • một cho nhóm SharePoint

    Quản trị viên cũng phải lấy mã khách hàng Google Workspace của tổ chức và cung cấp cho bạn.

    Tìm hiểu cách lấy các giá trị này trong phần Ánh xạ danh tính người dùng trên Maps trong Cloud Search.

  4. Thiết lập tài khoản người dùng cho trình kết nối có đặc quyền Quản trị viên bộ sưu tập trang web SharePoint Online.

  5. Nếu trình kết nối trả về kết quả dựa trên ACL (kết quả không phải là công khai), hãy tạo thông tin đăng nhập để đọc người dùng và nhóm từ tài khoản Office 365 của bạn. Làm theo hướng dẫn của Microsoft để tạo một ứng dụng Azure Active Directory. Khi bạn thiết lập ứng dụng:

    1. Đặt tên mô tả cho ứng dụng, chẳng hạn như "gcs-o365-identity-connector".
    2. Thêm quyền. Ứng dụng cần có quyền "Group.Read.All" và "User.Read.All".
    3. Ghi lại thông tin sau để sử dụng trong cấu hình trình kết nối:
      • ID ứng dụng
      • Đối tượng thuê
      • Mật khẩu ứng dụng khách

Bước 1. Cài đặt phần mềm trình kết nối SharePoint Online

  1. Sao chép kho lưu trữ trình kết nối trên GitHub.

    $ git clone https://github.com/google-cloudsearch/sharepoint-connector.git
    $ cd sharepoint-connector
  2. Kiểm tra phiên bản trình kết nối mong muốn:

    $ git checkout tags/v1-0.0.3
  3. Tạo trình kết nối.

    $ mvn package

    Để bỏ qua các kiểm thử khi bạn tạo trình kết nối, hãy chạy mvn package -DskipTests thay vì mvn package.

  4. Sao chép tệp zip của trình kết nối vào thư mục cài đặt cục bộ:

    $ 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

Bước 2. Tạo tệp cấu hình trình kết nối SharePoint Online

  1. Trong cùng thư mục với quá trình cài đặt trình kết nối, hãy tạo một tệp mới và đặt tên là sharepoint-online-connector.config. Nếu bạn dự định chạy nhiều phiên bản trình kết nối, hãy thêm thông tin chi tiết vào tên để phân biệt.

  2. Thêm các tham số dưới dạng cặp khoá/giá trị vào nội dung tệp, như trong ví dụ sau:

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

    Để biết nội dung mô tả chi tiết về từng tham số, hãy xem tài liệu tham khảo về các tham số cấu hình.

  3. (Không bắt buộc) Định cấu hình các thông số bổ sung của trình kết nối, nếu cần. Để biết thông tin chi tiết, hãy xem phần Các tham số của trình kết nối do Google cung cấp.

Bước 3. Thiết lập nhật ký cho trình kết nối SharePoint Online

  1. Tạo một thư mục có tên là logs trong cùng thư mục chứa tệp nhị phân của trình kết nối.

  2. Tạo một tệp được mã hoá theo chuẩn Latin-1 có tên là logging.properties trong cùng thư mục rồi thêm nội dung sau:

    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
    

Bước 4. Định cấu hình trình kết nối danh tính SharePoint Online

Bạn phải thực hiện bước này để áp dụng danh sách kiểm soát truy cập (ACL) dựa trên danh tính của SharePoint Online cho kết quả tìm kiếm. Nếu thiết lập trình kết nối bằng ACL công khai, bạn có thể bỏ qua bước này.

  1. Trong cùng thư mục với quá trình cài đặt trình kết nối SharePoint Online, hãy tạo một tệp mới và đặt tên là sharepoint-online-identity-connector.config.

  2. Thêm các tham số dưới dạng cặp khoá/giá trị vào nội dung tệp, như trong ví dụ sau:

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

    Các giá trị này gần giống với giá trị của trình kết nối SharePoint Online, ngoại trừ việc thay vì api.sourceId, tham số là api.customerId. Giá trị của api.customerId là mã khách hàng mà bạn nhận được từ quản trị viên Google Workspace.

Bước 5. Cài đặt trình kết nối danh tính Office 365

Bạn phải thực hiện bước này để áp dụng danh sách kiểm soát truy cập (ACL) dựa trên danh tính của SharePoint Online cho kết quả tìm kiếm. Nếu thiết lập trình kết nối bằng ACL công khai, bạn có thể bỏ qua bước này.

  1. Sao chép kho lưu trữ trình kết nối trên GitHub.

    $ git clone https://github.com/google-cloudsearch/office-365-connector.git
    $ cd office-365-connector
  2. Kiểm tra phiên bản trình kết nối mong muốn:

    $ git checkout tags/v1-0.0.3
  3. Tạo trình kết nối.

    $ mvn package

    Để bỏ qua các kiểm thử khi bạn tạo trình kết nối, hãy chạy mvn package -DskipTests thay vì mvn package.

  4. Sao chép tệp zip của trình kết nối vào thư mục cài đặt cục bộ:

    $ 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

Bước 6. Định cấu hình trình kết nối danh tính Office 365 và thiết lập tính năng ghi nhật ký

  1. Trong cùng thư mục với quá trình cài đặt trình kết nối danh tính, hãy tạo một tệp mới và đặt tên là o365-identity-connector.config.

  2. Thêm các tham số dưới dạng cặp khoá/giá trị vào nội dung tệp, như trong ví dụ sau. Lưu ý: Bạn phải điền vào tất cả thông số.

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

    Để biết nội dung mô tả chi tiết về từng tham số, hãy xem Tài liệu tham khảo về cấu hình Trình kết nối danh tính Office 365.

  3. Tạo một thư mục có tên là logs trong cùng thư mục chứa tệp nhị phân của trình kết nối.

  4. Tạo một tệp ASCII hoặc UTF-8 có tên là logging.properties trong cùng một thư mục rồi thêm nội dung sau:

    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
    

Bước 7. Khởi chạy trình kết nối SharePoint Online

Trong các bước sau, bạn sẽ liên kết các đối tượng chính trong cả Office 365 và bộ sưu tập trang web SharePoint với danh tính trong dịch vụ Cloud Identity. Quá trình đồng bộ hoá này được thực hiện bằng trình kết nối danh tính Office 365 và trình kết nối danh tính SharePoint Online.

Sau khi trình kết nối Office 365 đồng bộ hoá người dùng và nhóm, hãy chạy trình kết nối danh tính SharePoint Online để đồng bộ hoá các nhóm tuyển tập trang web SharePoint. Sau đó, bạn chạy trình kết nối SharePoint Online để lập chỉ mục và phân phát kết quả cho người dùng Cloud Search.

  1. Chạy trình kết nối danh tính 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. Chạy trình kết nối danh tính 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. Chạy trình kết nối 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

Tài liệu tham khảo về thông số cấu hình

Truy cập nguồn dữ liệu

Cài đặt Thông số
Mã nguồn dữ liệu api.sourceId=1234567890abcdef

Bắt buộc. Mã nguồn dữ liệu Google Cloud Search do quản trị viên Google Workspace thiết lập.

Đường dẫn đến tệp khoá riêng tư của tài khoản dịch vụ api.serviceAccountPrivateKeyFile=PrivateKey.json

Bắt buộc. Đường dẫn đến tệp khoá tài khoản dịch vụ Google Cloud Search.

Quyền truy cập vào SharePoint Online

Cài đặt Thông số
Tên miền đủ điều kiện cho tuyển tập trang web SharePoint sharepoint.server=http://yoursharepoint.example.com/

Bắt buộc. Nếu tên miền không đủ điều kiện, hãy thiết lập chế độ ghi đè DNS trên máy chủ lưu trữ trình kết nối.

Chế độ Chỉ có thể xem bộ sưu tập trang web sharepoint.siteCollectionOnly=true

Bắt buộc. Đối với SharePoint Online, hãy đặt giá trị true.

Tên người dùng SharePoint sharepoint.username=username

Bắt buộc. Tên người dùng của tài khoản dùng để truy cập vào SharePoint Online.

Mật khẩu SharePoint sharepoint.password=user_password

Bắt buộc. Mật khẩu của tài khoản dùng để truy cập vào SharePoint Online.

Chế độ xác thực sharepoint.formsAuthenticationMode=LIVE

Bắt buộc. Đối với SharePoint Online, giá trị này luôn là "LIVE".

Loại hình triển khai sharepoint.deploymentType=ONLINE

Bắt buộc. Đối với SharePoint Online, giá trị này luôn là "TRỰC TUYẾN".

Ánh xạ danh tính trên SharePoint

Cài đặt Thông số
Mã nguồn nhận dạng api.identitySourceId=1234567890abcdef

Bắt buộc. Mã nguồn nhận dạng Cloud Search cho nguồn nhận dạng nhóm SharePoint.

Tham chiếu các nguồn nhận dạng api.referenceIdentitySources=defaultIdentitySource

Bắt buộc. Đối với SharePoint Online, giá trị này luôn là "defaultIdentitySource".

Mã tham chiếu nguồn nhận dạng api.referenceIdentitySource.defaultIdentitySource.id=112233abcd

Bắt buộc. Mã nguồn nhận dạng Cloud Search cho nguồn nhận dạng Người dùng và Nhóm Office 365.

Tạo nội dung HTML

Cài đặt Thông số
Trường tiêu đề mẫu HTML contentTemplate.sharePointItem.title=Title

Trường SharePoint dùng làm tiêu đề mẫu HTML cho HTML được tạo.

Các trường chất lượng tìm kiếm cao của nội dung HTML contentTemplate.sharePointItem.quality.high=highField1[,highField2,...]

Danh sách các trường được phân tách bằng dấu phẩy để đưa vào HTML đã tạo dưới dạng các trường chất lượng cao. Khi các cụm từ tìm kiếm khớp với những trường này, kết quả sẽ được xếp hạng cao hơn.

Các trường chất lượng tìm kiếm nội dung HTML trung bình contentTemplate.sharePointItem.quality.medium=mediumField1[,mediumField2,...]

Danh sách các trường được phân tách bằng dấu phẩy để đưa vào HTML đã tạo dưới dạng các trường có chất lượng trung bình.

Các trường chất lượng tìm kiếm thấp của nội dung HTML contentTemplate.sharePointItem.quality.low=lowField1[,lowField2,...]

Một danh sách các trường được phân tách bằng dấu phẩy để đưa vào HTML đã tạo dưới dạng các trường có chất lượng thấp.

Cột nội dung HTML chưa được liên kết contentTemplate.sharepointItem.unmappedColumnsMode=APPEND

Cách trình kết nối xử lý các cột chưa được liên kết. Giá trị là APPEND (mặc định) hoặc IGNORE.

  • APPEND – Trình kết nối tạo nội dung HTML với tất cả các trường, kể cả những trường không được đặt ở mức chất lượng (cao, trung bình hoặc thấp).
  • BỎ QUA – Trình kết nối tạo nội dung HTML chỉ có các trường được ánh xạ.

Cấu hình trình kết nối danh tính Office 365

Cài đặt Thông số
Mã nguồn nhận dạng api.identitySourceId=1234567890abcdef

Bắt buộc. Mã nguồn nhận dạng Office 365. Giá trị này phải khớp với giá trị của `api.referenceIdentitySource.defaultIdentitySource.id` trong cấu hình trình kết nối SharePoint Online.

Mã khách hàng của Google api.customerId=c1b1d1e1

Bắt buộc. Mã khách hàng Google Workspace của tổ chức.

Mã ứng dụng Office 365 o365.clientId=a63c6eb3-29e7-486

Bắt buộc. Mã ứng dụng trong chế độ thiết lập ứng dụng Office 365.

Đối tượng thuê Office 365 o365.tenant=185ef9ed-29e7-486

Bắt buộc. Đối tượng thuê cho tài khoản Office 365 của bạn (ứng dụng Azure Activity Directory)

Khoá bí mật của ứng dụng Office 365 o365.clientSecret=raHJN15vRLBKs

Bắt buộc. Khoá bí mật của thông tin đăng nhập từ chế độ thiết lập Ứng dụng Office 365