本頁面說明如何使用資料擷取功能,將 SharePoint Online 連結至 Gemini Enterprise。
本節說明驗證方法,以及在 Gemini Enterprise 中建立 SharePoint Online 連接器,並從 SharePoint Online 網站擷取資料的程序。
事前準備
請務必設定識別資訊提供者,以強制執行資料來源存取控管,並保護 Gemini Enterprise 中的資料。
關於 Entra 應用程式註冊
如要在 Gemini Enterprise 中建立連接器,必須先設定 Entra 應用程式註冊,才能安全存取 SharePoint。應用程式的註冊方式,取決於您在 Gemini Enterprise 建立連接器時選取的驗證方式。您可以選擇下列其中一種做法:
聯合憑證:
允許 Google 使用以加密編碼方式簽署的權杖安全存取 SharePoint,這樣就不需使用實際的使用者主體。
您必須提供主體 ID,才能在 Entra 中註冊 Gemini Enterprise。這個 ID 會在 Gemini Enterprise 中建立 SharePoint 連接器時取得。
在 Entra 中註冊應用程式時,您必須收集下列詳細資料:
- 執行個體 URI:
- 所有第一層網站:
https://DOMAIN_OR_SERVER.sharepoint.com
,例如mydomain.sharepoint.com
。 - 單一網站:
https://DOMAIN_OR_SERVER.sharepoint.com/[sites/]WEBSITE
,例如mydomain.sharepoint.com/sites/sample-site
。
- 所有第一層網站:
- 用戶群 ID
- 用戶端 ID
您必須提供這些詳細資料,才能完成驗證並在 Gemini Enterprise 中建立 SharePoint 連接器。
- 執行個體 URI:
Google 建議使用此方法。
-
可精細控管哪些人能連線至 SharePoint API。
在 Entra 中註冊應用程式時,您必須收集下列詳細資料:
- 執行個體 URI,格式如下所示:
- 所有第一層網站:
https://DOMAIN_OR_SERVER.sharepoint.com
,例如mydomain.sharepoint.com
。 - 單一網站:
https://DOMAIN_OR_SERVER.sharepoint.com/[sites/]WEBSITE
,例如mydomain.sharepoint.com/sites/sample-site
。
- 所有第一層網站:
- 用戶群 ID
- 用戶端 ID
- 用戶端密鑰
您必須提供這些詳細資料,才能完成驗證並在 Gemini Enterprise 中建立 SharePoint 連接器。
- 執行個體 URI,格式如下所示:
驗證程序包括登入 SharePoint 帳戶。
如果您的 SharePoint 設定要求雙重驗證,就適合使用這個方法。
您必須建立新的 SharePoint 使用者,這可能會增加授權費用。
-
可精細控管哪些人能連線至 SharePoint API。
在 Entra 中註冊應用程式時,您必須收集下列詳細資料:
- 執行個體 URI,格式如下所示:
- 所有第一層網站:
https://DOMAIN_OR_SERVER.sharepoint.com
,例如mydomain.sharepoint.com
。 - 單一網站:
https://DOMAIN_OR_SERVER.sharepoint.com/[sites/]WEBSITE
,例如mydomain.sharepoint.com/sites/sample-site
。
- 所有第一層網站:
- 用戶群 ID
- 用戶端 ID
- 用戶端密鑰
您必須提供這些詳細資料,才能完成驗證並在 Gemini Enterprise 中建立 SharePoint 連接器。
- 執行個體 URI,格式如下所示:
驗證程序包括提供 Entra 管理員給予的使用者名稱和密碼。
如果您的 SharePoint 設定不需要雙重驗證,就適合使用這個方法。
您必須建立新的 SharePoint 使用者,這可能會增加授權費用。
授予 SharePoint 權限的重要注意事項
Google 強烈建議採用最低權限原則,只指派完成特定工作所需的權限。如要進一步瞭解 Google 建議的最佳做法,請參閱「安全地使用 IAM」。
不過,如要在 Microsoft Entra 中成功註冊應用程式,並在 Gemini Enterprise 中建立 SharePoint 連接器,您必須授予所有網站的完全控制權,或授予所選網站的完全控制權。這項權限似乎過於寬鬆。
這是因為 Sites.Read.All
權限不允許 Gemini Enterprise 取得 SharePoint 使用者群組和角色指派資訊,但 Sites.FullControl.All
和 Sites.Selected
搭配 fullcontrol
則允許。
因此,在 Gemini Enterprise 中設定連結器時,您可以採取下列措施,限制連結器可存取和不可存取的內容:
- 提供特定執行個體 URI,限制只能存取單一網站
- 選取要同步處理的網站內特定實體。
如對必要權限仍有疑慮,建議與 Microsoft 支援團隊聯絡。
設定聯合憑證
按照下列步驟設定應用程式註冊、授予權限及建立驗證機制。Google 建議您使用聯合憑證方法。
如有需要,可以參閱「錯誤訊息」段落,瞭解這個步驟中可能會遇到的常見錯誤訊息。
取得服務帳戶用戶端 ID:
- 前往 Google Cloud 控制台的「Gemini Enterprise」頁面。
- 點按導覽選單中的「Data Stores」(資料儲存庫)。
- 點按「 Create Data Store」(建立資料儲存庫)。
- 在「Select a data source」(選取資料來源) 頁面中,捲動或搜尋「SharePoint Online」以連線至第三方來源。
- 記下「Subject identifier」(主體 ID),但先不要點選「Continue」(繼續)。
請完成這項工作的後續步驟,然後按照「建立 SharePoint Online 連接器」中的操作說明,在 Google Cloud 控制台中完成相關步驟。
記下主體 ID,但先不要點選「繼續」
在 Microsoft Entra 中註冊應用程式:
- 前往 Microsoft Entra 系統管理中心。
- 在選單中展開「Applications」(應用程式) 專區,然後選取「App registrations」(應用程式註冊)。
- 在「App registrations」(應用程式註冊) 頁面中,選取「New registration」(新註冊)。
在 Microsoft Entra 系統管理中心註冊新應用程式 在「Register an application」(註冊應用程式) 頁面中,建立應用程式註冊:
- 在「Supported account types」(支援的帳戶類型) 專區,選取「Accounts in the organizational directory only」(僅限組織目錄中的帳戶)。
- 在「Redirect URI」(重新導向 URI) 部分選取「Web」(網頁),然後輸入重新導向 URI,如下所示:
https://vertexaisearch.cloud.google.com/console/oauth/sharepoint_oauth.html
- 其他設定保留預設值,然後點按「Register」(註冊)。
選取帳戶類型並輸入重新導向 URI
記下「Client ID」(用戶端 ID) 和「Tenant ID」(租戶 ID)。
應用程式詳細資料頁面
新增聯合憑證:
依序前往「Certificates & secrets」(憑證和密鑰) >「Federated credentials」(聯合憑證) >「Add credential」(新增憑證)。
在 Microsoft Entra 中新增聯合憑證 請使用下列設定:
- 聯合憑證情境:其他核發者
- 核發者:
https://accounts.google.com
- 主體 ID:使用您在步驟 1.a.v 中,於 Google Cloud 控制台記下的主體 ID 值。
- 名稱:輸入不重複的名稱。
點按「Add」(新增) 授予存取權。
將 Google 帳戶連結至 Microsoft Entra ID
設定 API 權限。
選取要設定 API 權限的應用程式 新增並授予下列 Microsoft Graph 權限。您可以選擇網站控制選項 (
Sites.FullControl.All
和Sites.Selected
) 和設定檔讀取選項 (User.Read.All
和User.ReadBasic.All
):適用於 Microsoft Graph 權限的聯合憑證
權限 類型 說明 原因 GroupMember.Read.All
應用程式 讀取所有群組成員 這項權限允許 Gemini Enterprise 讀取 SharePoint 網站中的使用者群組成員。 User.Read
委派型 登入及讀取使用者個人資料 這是預設權限,不得移除;若移除,SharePoint 會顯示錯誤訊息,要求您恢復這項權限。
網站控制選項 選項 1: Sites.FullControl.All
應用程式 全權控管所有網站 這項權限允許 Gemini Enterprise 取得 SharePoint 使用者群組和角色指派資訊,這些資訊未包含在
Sites.Read.All
權限中。這項權限也允許 Gemini Enterprise 為所有 SharePoint 網站的文件、活動、註解、附件和檔案建立索引。如果覺得提供所有網站的完整權限會導致過度授權,請採用選項 2「
Sites.Selected
」來精細控管權限。選項 2: Sites.Selected
應用程式 控管所選網站 這項權限允許 Gemini Enterprise 取得 SharePoint 使用者群組和角色指派資訊,這些資訊未包含在
Sites.Read.All
權限中。這項權限也允許 Gemini Enterprise 為所選 SharePoint 網站的文件、活動、註解、附件和檔案建立索引。比起Sites.FullControl.All
,這項權限提供更精細的控制選項個人資料讀取選項 選項 1: User.Read.All
應用程式 讀取所有使用者的完整個人資料 這項權限允許 Gemini Enterprise 讀取 SharePoint 內容的資料存取控制項。 選項 2: User.ReadBasic.All
應用程式 讀取所有使用者的基本個人資料 這項權限允許 Gemini Enterprise 讀取 SharePoint 內容的資料存取控制項。 新增並授予下列 SharePoint 權限。您可以選擇
Sites.FullControl.All
或Sites.Selected
:適用於 SharePoint 權限的聯合憑證
權限 類型 說明 原因 選項 1: Sites.FullControl.All
應用程式 全權控管所有網站 這項權限允許 Gemini Enterprise 取得 SharePoint 使用者群組和角色指派資訊,這些資訊未包含在
Sites.Read.All
權限中。這項權限也允許 Gemini Enterprise 為所有 SharePoint 網站的文件、活動、註解、附件和檔案建立索引。如果覺得提供所有網站的完整權限會導致過度授權,請採用選項 2「
Sites.Selected
」來精細控管權限。選項 2: Sites.Selected
應用程式 控管所選網站 這項權限允許 Gemini Enterprise 取得 SharePoint 使用者群組和角色指派資訊,這些資訊未包含在 Sites.Read.All
權限中。這項權限也允許 Gemini Enterprise 為所選 SharePoint 網站的文件、活動、註解、附件和檔案建立索引。確認新增權限的「狀態」欄顯示
Granted
,並有綠色勾號圖示。要求 Microsoft Graph 的 API 權限 (應用程式)
驗證 API 權限 授予管理員同意。請參閱「Grant tenant-wide administrator consent to an application」(授予應用程式全租戶管理員同意聲明) 這篇 Microsoft Entra 說明文件,瞭解如何授予同意聲明。
設定 OAuth 2.0 以利更新權杖和密碼授權
您可以使用 OAuth 2.0 方法設定 Entra 應用程式註冊,以及確保 SharePoint 的存取安全。這個方法包含設定應用程式註冊、授予權限及建立驗證機制。
Google 建議您設定聯合憑證,而非 OAuth 2.0 驗證。
您可以按照下列步驟在 Entra 中註冊應用程式,將 OAuth 2.0 驗證機制用於更新權杖和密碼授權。如果您需要精細控管 SharePoint REST API 權限,建議採用這個方法來限制使用者帳戶的資源存取權。
如有需要,可以參閱「錯誤訊息」段落,瞭解這個步驟中可能會遇到的常見錯誤訊息。
下表是建議用於 OAuth 2.0 驗證方式的 SharePoint 角色:
建立應用程式註冊:
前往 Entra 系統管理中心。
建立應用程式註冊:
- 支援的帳戶類型:僅限組織目錄中的帳戶。
- 重新導向 URI:
https://vertexaisearch.cloud.google.com/console/oauth/sharepoint_oauth.html
。
記下「Client ID」(用戶端 ID) 和「Tenant ID」(租戶 ID)。
新增用戶端密鑰
- 依序前往「Certificates & secrets」 >「New client secret」。
- 記下密鑰字串。
設定 API 權限。
新增並授予下列 Microsoft Graph 權限。您可以選擇
Sites.FullControl.All
或Sites.Selected
:適用於 OAuth 2.0 驗證的 Microsoft Graph 權限
權限 類型 說明 原因 GroupMember.Read.All
應用程式 讀取所有群組成員 這項權限允許 Gemini Enterprise 讀取 SharePoint 網站中的使用者群組成員。 User.Read
委派型 登入及讀取使用者個人資料 這是預設權限,不得移除;若移除,SharePoint 會顯示錯誤訊息,要求您恢復這項權限。
選項 1: Sites.FullControl.All
應用程式 全權控管所有網站 這項權限允許 Gemini Enterprise 取得 SharePoint 使用者群組和角色指派資訊,這些資訊未包含在
Sites.Read.All
權限中。這項權限也允許 Gemini Enterprise 為所有 SharePoint 網站的文件、活動、註解、附件和檔案建立索引。選項 2: Sites.Selected
應用程式 控管所選網站 這項權限允許 Gemini Enterprise 取得 SharePoint 使用者群組和角色指派資訊,這些資訊未包含在
Sites.Read.All
權限中。這項權限也允許 Gemini Enterprise 為所選 SharePoint 網站的文件、活動、註解、附件和檔案建立索引。比起Sites.FullControl.All
,這項權限提供更精細的控制選項User.Read.All
應用程式 讀取所有使用者的完整個人資料 這項權限允許 Gemini Enterprise 讀取 SharePoint 內容的資料存取控制項。 新增並授予下列用於 OAuth 2.0 驗證的 SharePoint 權限。您可以選擇
AllSites.FullControl
或Sites.Selected
:適用於 OAuth 2.0 驗證的 SharePoint 權限
權限 類型 說明 原因 選項 1: AllSites.FullControl
委派型 全權控管所有網站 這項權限允許 Gemini Enterprise 取得 SharePoint 使用者群組和角色指派資訊,這些資訊未包含在
Sites.Read.All
權限中。這項權限也允許 Gemini Enterprise 為所有 SharePoint 網站的文件、活動、註解、附件和檔案建立索引。選項 2: Sites.Selected
委派型 控管所選網站 這項權限允許 Gemini Enterprise 取得 SharePoint 使用者群組和角色指派資訊,這些資訊未包含在
Sites.Read.All
權限中。這項權限也允許 Gemini Enterprise 為所選 SharePoint 網站的文件、活動、註解、附件和檔案建立索引。比起AllSites.FullControl
,這項權限提供更精細的控制選項確認新增權限的「狀態」欄顯示
Granted
,並有綠色勾號圖示。使用專用使用者帳戶,此帳戶對特定網站的存取權有限。確認這個帳戶具有所選網站的擁有者存取權。
授予管理員同意。請參閱「Grant tenant-wide administrator consent to an application」(授予應用程式全租戶管理員同意聲明) 這篇 Microsoft Entra 說明文件,瞭解如何授予同意聲明。
授予所選網站 fullcontrol
權限
如果選擇 Sites.Selected
選項,透過 Microsoft Graph 授予所選網站的控制權,則必須將 fullcontrol
權限授予 Gemini Enterprise 應用程式。您可以使用下列其中一種方法來進行合併:
PowerShell
如需使用 PnP PowerShell 授予權限的一般語法,請參閱「透過 PnP PowerShell 授予權限」。
執行下列指令,提供
FullControl
權限:Grant-PnPAzureADAppSitePermission -AppId CLIENT_ID -DisplayName DISPLAY_NAME -Permissions FullControl -Site SITE_URL
更改下列內容:
CLIENT_ID
:Microsoft Entra 應用程式的用戶端 ID。SITE_URL
:SharePoint 網站的網站網址,例如https://example.sharepoint.com/sites/ExampleSite1
。DISPLAY_NAME
:Microsoft Entra 應用程式的說明。
Microsoft Graph
如要瞭解如何使用 Microsoft Graph 授予權限的整體程序,請參閱透過 Microsoft Graph 授予權限。
使用 Microsoft Graph Explorer 呼叫下列方法。只有網站擁有者可以呼叫這些方法。
取得網站 ID:
GET `https://graph.microsoft.com/v1.0/sites/HOSTNAME:SITE_PATH`
更改下列內容:
HOSTNAME
:SharePoint 網站的主機名稱,例如example.sharepoint.com
。SITE_PATH
:SharePoint 網站的路徑,例如/sites/ExampleSite1
或/teams/ExampleSite2
。
授予
fullcontrol
存取權,存取您在上一個步驟中擷取 ID 的網站。傳送下列 POST 要求:
POST `https://graph.microsoft.com/v1.0/sites/SITE_ID/permissions`
請使用下列要求內容:
{ "roles": ["fullcontrol"], "grantedToIdentities": [{ "application": { "id": "CLIENT_ID", "displayName": "DISPLAY_NAME" } }] }
更改下列內容:
SITE_ID
:您在上一步中收到的 SharePoint 網站 ID。格式為example.sharepoint.com,48332b69-85ab-0000-00o0-dbb7132863e7,2d165439-0000-0000-b0fe-030b976868a0
。CLIENT_ID
:Microsoft Entra 應用程式的用戶端 ID。DISPLAY_NAME
:Microsoft Entra 應用程式的說明。
錯誤訊息
下表說明將 SharePoint 連至 Gemini Enterprise 時,可能會出現的常見錯誤訊息和說明。
錯誤代碼 | 錯誤訊息 |
---|---|
SHAREPOINT_MISSING_PERMISSION_1 |
缺少必要的 REST API 角色 (Sites.FullControl.All 或 Sites.Selected)。如果是委派權限,則缺少 AllSites.FullControl 或 Sites.Selected。 |
SHAREPOINT_MISSING_PERMISSION_2 |
缺少必要的 Graph API 角色 (Sites.FullControl.All 或 Sites.Selected)。 |
SHAREPOINT_MISSING_PERMISSION_3 |
缺少必要的 Graph API 角色 GroupMember.Read.All。 |
SHAREPOINT_MISSING_PERMISSION_4 |
缺少必要的 Graph API 角色 (User.Read.All 或 User.ReadBasic.All)。 |
SHAREPOINT_INVALID_SITE_URI |
無法擷取 Graph API 存取權杖。可能原因:用戶端 ID 或密鑰值無效,或缺少聯合憑證。 |
SHAREPOINT_INVALID_AUTH |
無法擷取 Graph API 存取權杖。可能原因:用戶端 ID 或密鑰值無效,或缺少聯合憑證。 |
SHAREPOINT_INVALID_JSON |
無法剖析 JSON 內容。 |
SHAREPOINT_TOO_MANY_REQUESTS |
傳送至 SharePoint 的 HTTP 要求過多,因而收到 429 HTTP 回應。 |
建立 SharePoint Online 連接器
在 Entra 中註冊應用程式後,即可在 Google Cloud 控制台中建立 SharePoint 連接器。
啟用即時同步處理
即時同步功能只會同步處理文件實體,不會同步處理與身分實體相關的資料。下表列出即時同步處理功能支援的文件事件。
SharePoint 實體 | 建立 | 更新 | 刪除 | 權限變更 |
---|---|---|---|---|
附件 | ||||
註解 | ||||
活動 | ||||
檔案 | ||||
網頁 |
按照下列步驟操作,為資料儲存庫啟用即時同步處理功能。
前往 Google Cloud 控制台的「Gemini Enterprise」頁面。
點按導覽選單中的「Data Stores」(資料儲存庫)。
點按要啟用即時同步處理功能的 SharePoint 資料儲存庫名稱。
在資料儲存庫的「Data」(資料) 頁面上,等待「Connector state」(連接器狀態) 變更為「Active」(運作中)。
在「Real-time sync」(即時同步處理) 欄位中,點按「View/edit」(查看/編輯)。
查看及編輯即時同步處理設定。 將「Enable real-time sync」(啟用即時同步處理) 切換鈕設為開啟。
在「Client secret」(用戶端密鑰) 提供值。這個值將用來驗證 SharePoint Webhook 事件。建議使用長度為 20 個字元的字串。
啟用即時同步處理功能並提供用戶端密鑰。 按一下 [儲存]。
等待「Real-time sync」(即時同步處理) 欄位變更為「Running」(執行中)。
測試搜尋引擎
設定搜尋引擎後,請測試其功能。請確認系統會根據使用者存取權傳回正確結果。
啟用網頁應用程式:
- 前往應用程式整合設定,然後切換為啟用網頁應用程式。
測試網頁應用程式:
按一下網頁應用程式連結旁邊的「開啟」,然後以工作團隊集區中的使用者身分登入。
確認搜尋結果僅限於登入使用者可存取的項目。
設定工作團隊集區
您可以在 Google Cloud 控制台中,透過工作團隊集區,管理及驗證來自外部識別資訊提供者 (例如 Azure 或 Okta) 的使用者。如要設定工作團隊集區並啟用網頁應用程式,提供流暢的使用者存取體驗,請按照下列步驟操作:
按照適當的設定手冊,在 Google Cloud 以組織層級建立工作團隊集區:
依序前往「Gemini Enterprise」 >「Settings」(設定),為建立應用程式的區域設定工作團隊集區。