部署 Microsoft SharePoint On-Prem 連接器

您可以設定 Google Cloud Search,傳回貴機構的搜尋結果 除了 Google Workspace 內容外,SharePoint 也能使用地端部署內容。 使用 Google Cloud Search SharePoint On-Prem 連接器,並完成設定 存取特定的 SharePoint 資料來源。

重要事項

Honored SharePoint 設定

Cloud Search SharePoint On-Prem 連接器一律會遵循 Search SharePoint 的瀏覽權限設定無法覆寫。草稿專用 使用者帳戶的權限 (連接器用於 access SharePoint Online) 控制要建立索引及傳回哪些文件草稿。 如果帳戶只有「完整讀取」連接器會遵守「草稿」 項目瀏覽權限管理 SharePoint 上的設定

您也可以設定連接器,根據使用者帳戶限制結果 資源存取權您可以使用 Google 主體和外部主體定義 ACL。 如要對 SharePoint 內容套用安全性調整,請同步處理下列項目 外部身分:

  • Active Directory 使用者
  • Active Directory 群組
  • SharePoint 本機群組 (包含 Active Directory 使用者和群組)

如要同步處理 AD 使用者和群組,請使用 Google Cloud Directory Sync,啟用識別資訊對應群組。如要同步處理 SharePoint 本機群組,請使用 SharePoint Identity 連接器。

連接器也必須向 AD 執行查詢,才能擷取其他資訊來同步處理主體。舉例來說,使用 AD 查詢即可讓連接器執行下列操作:

  • 將網域群組的 SID 對應至對應的 sAMAccountName。
  • 將使用者 sAMAccountName 對應至 SharePoint 本機群組的電子郵件地址 會員功能。

搜尋最佳化

改善使用者參與度時設定連接器,以便傳回更相關的搜尋結果。

如要使用這個 API,請在 SharePoint Online 連接器設定檔中,設定 HTML 產生參數值。透過這些參數,您就能設定哪些欄位對比對的影響較高或較低。

如要設定結構定義,請按照「建立及註冊結構定義」一文的說明操作。設定結構定義時:

  • 為了將 SharePoint 內容類型的名稱對應至對應的物件定義,連接器會排除不支援的字元,將內容類型名稱正規化。針對物件定義,Cloud Search API 僅支援 A-Z、a-z 和 0-9 做為有效字元。例如,內容類型為「公告」對應至物件定義「公告」內容類型「News Article」對應至「NewsArticle」(沒有空格)。

  • 如果連接器不符合物件定義與物件定義,連接器會使用備用物件類型 (itemMetadata.objectType)。進一步瞭解中繼資料設定參數

  • 為了將 SharePoint 屬性名稱對應至屬性定義,連接器會將十六進位編碼字元解碼,並移除「ows_」以正規化屬性名稱前置字元,然後排除不支援的字元 (A-Z、a-z 和 0-9 以外的所有字元都是有效字元)。

Microsoft Outlook 郵件處理

連接器在建立索引內容時遇到 Microsoft Outlook .msg 檔案時,會覆寫檔案媒體類型,並將其索引為 application/vnd.ms-outlook.

多用戶群設定

如果您的 SharePoint 採用多用戶部署模式,可讓多個客戶網站透過同一個網頁應用程式代管,您就必須在設定檔中設定網站收集模式。在多用戶群部署中,您只會取得網站集合的權限,無法取得 SharePoint On-Prem 連接器要求的完整讀取權限。

如何啟用網站收集模式:

  • 網站收集管理員權限授予連接器使用者帳戶。
  • 將連接器設定檔中的 sharepoint.server 設為網站集合網址,例如 http://sharepoint.example.com/sites/sitecollection。網址不需要與 SharePoint 上的大小寫完全相同。
  • 將連接器設定檔中的 sharepoint.siteCollectionOnly 設為 true

如果某個多用戶群環境要建立索引的多個網站集合,您必須為每個網站集合設定一個連接器執行個體。

已知連接器限制

  • 連接器監控的資料庫數量越多,連接器偵測資料庫中項目變更所需的時間也會增加。
  • 記憶體用量會隨著您在各個網站集合中使用 ACL 的不重複使用者和群組數量而增加。
  • 您只能使用單一 Active Directory 網域的身分設定連接器。
  • 不支援一些常見的 Active Directory 和 Windows 主體,例如 EveryoneBUILTIN\UsersAll Authenticated Users
  • 刪除通知不會立即生效,連接器可能需要超過 4 小時,才能識別出使用者從來源存放區刪除了內容。

系統需求

系統需求
作業系統
  • Windows Server 2016
  • Ubuntu
  • Red Hat Enterprise Linux 5.0
  • SUSE Enterprise Linux 10 (64 位元)
軟體
  • SharePoint 伺服器
    • SharePoint Server 2016
    • SharePoint Server 2013
  • 已安裝 Java JRE 1.8 的電腦,以便執行 Google Cloud Search SharePoint On-Prem 連接器
驗證
  • NTLM
  • Kerberos
  • HTTP 基本
  • ADFS

部署連接器

必要條件

  1. 建立 Google Workspace 私密金鑰,其中包含您的服務帳戶 ID。如要瞭解如何取得私密金鑰,請參閱 設定 Google Cloud Search API 的存取權

  2. 您的 Google Workspace 管理員必須在搜尋中新增資料來源。記錄資料來源 ID。

  3. 如果連接器根據 ACL 傳回結果 (不會公開結果),則 Google Workspace 管理員必須建立兩個識別資訊來源,並提供這些來源的 ID:

    • 這個識別資訊來源可用於同步處理 Active Directory 使用者和群組。
    • SharePoint 本機群組的識別資訊來源

    此外,管理員也必須取得貴機構的 Google Workspace 客戶 ID,再提供給您。

    請參閱在 Cloud Search 中對應使用者識別資訊,瞭解如何取得這些值。

  4. 在使用者政策中,為具有 SharePoint 網頁應用程式完整讀取權限的連接器設定使用者帳戶。

  5. 如果 SharePoint 網頁應用程式沒有根網站集合,請先建立網站集合。

  6. 如果有任何網站集合採用寫入鎖定,請使用擁有管理員權限的帳戶登入 SharePoint 伺服器,然後執行 PrepareWriteLockedSites.ps1 指令碼。

  7. 如要取得資料來源指標來協助您設定連接器,請登入 SharePoint 伺服器 使用具備農場管理員權限的帳戶並執行 diagnose_sp.ps1

    輸出結果會報告網頁應用程式、文件和使用者群組成員人數。這項資訊可用來估算您需要的連接器執行個體數量、記憶體需求及文件數量。

步驟 1:安裝 Google Cloud Search SharePoint On-Prem 連接器軟體。

  1. 從 GitHub 複製連接器存放區。

    $ git clone https://github.com/google-cloudsearch/sharepoint-connector.git
    $ cd sharepoint-connector
  2. 查看所需版本的連接器:

    $ git checkout tags/latest_version

    其中:latest_version = 諸如 v1-0.0.5 的值

  3. 建構連接器。

    $ mvn package

    如要在建構連接器時略過測試,請執行 mvn package -DskipTests (而非 mvn package)。

  4. 將連接器 ZIP 檔案複製到本機安裝目錄:

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

步驟 2:建立 SharePoint On-Prem 連接器設定檔

  1. 在連接器安裝作業所在的目錄中建立檔案。Google 建議您將檔案命名為 connector-config.properties,無需使用其他指令列參數才能執行連接器。如果您打算執行多個連接器執行個體,請在名稱中加入詳細資料,以便區別。

  2. 在檔案內容中加入參數做為鍵/值組合,如以下範例所示:

    ### Sharepoint On-Prem Connector configuration ###
    
    # Required parameters for data source access
    api.sourceId=08ef8becd116faa4546b8ca2c84b2879
    api.serviceAccountPrivateKeyFile=service_account.json
    api.identitySourceId=08ef8becd116faa475de26d9b291fed9
    
    # Required parameters for SharePoint on-premises access
    sharepoint.server=http://sp-2016:32967/sites/doc-center-site-collection
    sharepoint.siteCollectionOnly=true
    sharepoint.username=contoso\\admin
    sharepoint.password=pa$sw0rd
    sharepoint.stripDomainInUserPrincipals=true
    
    # Required parameters for AD lookup
    adLookup.host=dc.contoso.com
    adLookup.username=contoso\\admin
    adLookup.password=pa$sw0rd
    api.referenceIdentitySources=CONTOSO,contoso
    api.referenceIdentitySource.contoso.id=08ef8becd116faa5d3783f8c5a80e5aa
    api.referenceIdentitySource.CONTOSO.id=08ef8becd116faa5d3783f8c5a80e5aa
    
    # Optional parameters for schema mapping
    contentTemplate.sharepointItem.title=Title
    contentTemplate.sharepointItem.unmappedColumnsMode=APPEND
    

    如需各參數的詳細說明,請參閱 設定參數參考資料

  3. (選用) 視需要設定其他連接器參數。詳情請參閱 Google 提供的連接器參數

步驟 3:使用 HTTPS 時,將 SharePoint 新增為信任的主機

如果 SharePoint 已設為使用 HTTPS,請取得 SharePoint 憑證,以便將 SharePoint 憑證新增為連接器的信任主機。

  1. 在要執行連接器的電腦上,開啟瀏覽器並前往 SharePoint。

  2. 在隨即開啟的警告頁面中,依序點選「IUnderstanding the Risks」和「Add Exception」。這個頁面會顯示類似「This Connection is 不信任」的訊息,因為憑證是自行簽署,而非由信任的憑證授權單位簽署。

  3. 出現「View」按鈕後,請按一下該按鈕。

  4. 前往「詳細資料」分頁,然後按一下「匯出」

  5. 將憑證儲存在連接器目錄中,名稱為 sharepoint.crt

  6. 依序點選「關閉」和「取消」,即可關閉視窗。

  7. 開啟命令提示字元並輸入下列指令:

    $ keytool -importcert -keystore cacerts.jks -storepass changeit -file sharepoint.crt -alias sharepoint

    當系統顯示「信任這個憑證嗎?」時,請回答 yes

步驟 4:設定記錄功能

  1. 在包含連接器二進位檔的目錄中,建立名為 logs 的資料夾。

  2. 在同一個目錄中 (而非 logs),建立名為 logging.properties 的 Latin1 編碼檔案。

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

步驟 5:設定 SharePoint On-Prem 識別資訊連接器

您必須完成這個步驟,才能將 SharePoint On-Prem 身分的 ACL 套用至搜尋結果。如果您已使用公開 ACL 設定連接器,可以略過這個步驟。

  1. 在與 SharePoint Online 連接器安裝相同的目錄中建立檔案,並命名為 sharepoint-onprem-identity-connector.config

  2. 在檔案內容中加入參數做為鍵/值組合,如以下範例所示:

    ### SharePoint On-prem identity connector configuration ###
    
    # Required parameters for data source access
    api.customerId=C05d3djk8
    api.serviceAccountPrivateKeyFile=service_account.json
    api.identitySourceId=08ef8becd116faa475de26d9b291fed9
    
    # Required parameters for SharePoint access
    sharepoint.server=http://sp-2016:32967/sites/doc-center-site-collection
    sharepoint.siteCollectionOnly=true
    sharepoint.username=contoso\\admin
    sharepoint.password=pa$sw0rd
    sharepoint.stripDomainInUserPrincipals=true
    
    # Required parameters for AD lookup
    adLookup.host=dc.contoso.com
    adLookup.username=contoso\\admin
    adLookup.password=pa$sw0rd
    api.referenceIdentitySources=CONTOSO,contoso
    api.referenceIdentitySource.contoso.id=08ef8becd116faa5d3783f8c5a80e5aa
    api.referenceIdentitySource.CONTOSO.id=08ef8becd116faa5d3783f8c5a80e5aa
    

    值與 SharePoint On-Prem 連接器的值幾乎相同,除了 api.sourceId 以外,參數為 api.customerIdapi.customerId 的值就是 Google Workspace 管理員提供給您的客戶 ID。

步驟 6:啟動 SharePoint On-Prem 連接器

您會在下列步驟中,將內部部署 Active Directory 和 SharePoint 網站集合中的主體對應至 Cloud Identity 服務這項同步處理作業是透過 Google Cloud 完成 Directory Sync (GCDS) 和 SharePoint On-Prem 識別資訊連接器。

GCDS 同步處理使用者和群組後,如要同步處理 SharePoint 網站集合群組,請執行 SharePoint On-Prem 識別資訊連接器。最後,執行 SharePoing On-Prem 連接器,為 Cloud Search 使用者提供結果索引及提供結果。

  1. 如果您尚未 設定並執行 GCDS,請先完成設定。請務必啟用識別資訊對應群組

  2. 執行 SharePoint On-Prem 識別資訊連接器:

    $ java -Djava.util.logging.config.file=logging.properties -cp "google-cloudsearch-sharepoint-connector-version.jar" com.google.enterprise.cloudsearch.sharepoint.SharePointIdentityConnector -Dconfig=sharepoint-onprem-identity-connector.config
  3. 執行 SharePoint On-Prem 連接器。請使用 SharePoint 網站安全性的指令語法:

    • HTTP (不需要使用信任的主機):

      $ java -Djava.util.logging.config.file=logging.properties -jar google-cloudsearch-sharepoint-connector-v1-version.jar
    • HTTPS (將 SharePoint 新增為信任的主機):

      $ java -Djavax.net.ssl.trustStore=cacerts.jks -Djavax.net.ssl.trustStoreType=jks -Djavax.net.ssl.trustStorePassword=changeit -Djava.util.logging.config.file=logging.properties -jar google-cloudsearch-sharepoint-connector-v1-version.jar

設定參數參考資料

資料來源存取權

設定 參數
資料來源 ID api.sourceId=1234567890abcdef

必要欄位。Google Workspace 管理員設定的 Google Cloud Search 資料來源 ID。

服務帳戶私密金鑰檔案的路徑 api.serviceAccountPrivateKeyFile=PrivateKey.json

必要欄位。Google Cloud Search 服務帳戶金鑰檔案的路徑。

SharePoint 地端部署存取權

設定 參數
SharePoint 伺服器網址 sharepoint.server=http://yoursharepoint.example.com/

必要欄位。採用完整主機名稱的 SharePoint 伺服器網址,例如 http://yoursharepoint.example.com/。如果主機名稱並非完整名稱,您必須在連接器主機上設定 DNS 覆寫。

SharePoint 使用者名稱 sharepoint.username=YOURDOMAIN\\ConnectorUser

如果您在 Linux 上執行連接器,或是在 SharePoint Server AD 網域外的 Windows 電腦上執行連接器,則此為必填欄位。

SharePoint 密碼 sharepoint.password=user_password

如果您在 Linux 上執行連接器,或是在 SharePoint Server AD 網域外的 Windows 電腦上執行連接器,則此為必填欄位。

使用即時驗證功能連線至 SharePoint sharepoint.username=AdaptorUser Live Authentication Id

sharepoint.password uS3R_passWoRD

sharepoint.formsAuthenticationMode=LIVE

使用 ADFS 驗證連線至 SharePoint sharepoint.username=AdaptorUser@yourdomain.com

sharepoint.password=uS3R_passWoRD

sharepoint.sts.endpoint=https://adfs.example.com/adfs/services/trust/2005/usernamemixed

sharepoint.sts.realm=urn:myserver:sharepointhttps://yoursharepoint.example.com/_trust

sharepoint.formsAuthenticationMode=ADFS

網站集合索引

設定 參數
索引類型 sharepoint.siteCollectionOnly=boolean

選用,但多用戶群 SharePoint 部署作業除外 (瞭解詳情)。如果將連接器索引 sharepoint.server 設為 True,則可將連接器索引 sharepoint.server 當做網站集合,而非虛擬伺服器。預設值為空值 (自動偵測)。

SharePoint 識別資訊對應

設定 參數
識別資訊來源 ID api.identitySourceId=1234567890abcdef

必要欄位。用於同步處理 SharePoint 本機群組的識別資訊來源 ID。由 Google Workspace 管理員設定的 Google Cloud Search 來源 ID,如「在搜尋中加入資料來源」一文所述。

參照識別資訊來源 api.referenceIdentitySources=CONTOSO,contoso

有效目錄主體的參照識別資訊來源清單 (以半形逗號分隔)。值與參考 Active Directory 主體的 Active Directory NETBIOS 名稱相符。

參照識別資訊來源 ID api.referenceIdentitySource.DOMAIN.id=identity-source-id

必要欄位。用於同步處理 Active Directory 主體的識別資訊來源 ID。

Active Directory 查詢

設定 參數
Active Directory 主機 adLookup.host=host

必要欄位。Active Directory 主機名稱,例如 dc.contoso.com 或 IP 位址。

Active Directory 查詢通訊埠 adLookup.port=port

選用設定。預設值為 389。如果是安全資料傳輸層 (SSL),請使用 686。

Active Directory 查詢方法 adLookup.method=value

選用設定。預設值為「standard」。如果是 HTTPS 連線,請設為 `ssl`。

Active Directory 查詢使用者 adLookup.username=CONTOSO\user1

必要欄位。使用者有權執行 Active Directory 查詢。

Active Directory 查詢密碼 adLookup.password=password123

必要欄位。adLookup.user 指定使用者的密碼。

產生 HTML 內容

設定 參數
HTML 範本標題欄位 contentTemplate.sharePointItem.title=Title

產生 HTML 的 HTML 範本標題的 SharePoint 欄位。

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。

  • 附加:連接器會產生內含所有欄位的 HTML 內容,包括未設定品質等級 (高、中或低) 的欄位。
  • IGNORE:連接器產生 HTML 內容,其中僅有對應欄位。