企業級工作區搜尋與生成式 AI 助手的可信度,完全取決於底層的存取控制架構。當 IT 管理員在 Google Workspace 與 Slack 中部署 Glean 時,最核心的安全底線非常明確:搜尋結果與 AI 生成的回答絕不能將機密文件、受限的私密頻道或個人的直接訊息(DM)洩漏給未授權員工。
Glean 並非在源端系統之上重新建立或定義一套權限規則,而是透過雙引擎架構嚴格鏡像源系統的存取控制清單(ACL):對於 Google Drive 等非即時、文件型儲存系統,採用入庫時權限感知索引(Ingestion-time Permission-Aware Indexing);對於 Slack 這類高頻即時的協作溝通平台,則採用聯邦零拷貝即時搜尋(Slack RTS, Real Time Search)。在此基礎之上,Glean 憑藉自動化的身分圖譜(Identity Graph),將企業身分提供商(IdP)中的帳號、多系統別名、跨平台 UID 以及巢狀群組層級完整串聯。
本文為企業 IT 管理員、系統架構師及資安營運團隊提供詳盡的實作指南,說明如何在 Glean 中完成 Google Workspace 與 Slack 連接器配置、身分與權限對應、源系統原生可見度控制及合規驗證。
一、核心架構:雙引擎權限模型與統一身分圖譜
若要準確配置 Glean 並確保資料隔離,首先必須瞭解 Glean 處理不同源系統權限的底層機制:
+-------------------------------------+
| 企業身分提供商 (IdP) |
| (Okta / Entra ID / Google 身分) |
+------------------+------------------+
|
v
+-------------------------------------+
| Glean 統一身分圖譜 |
| - 使用者主帳號與電子郵件別名正規化 |
| - 巢狀群組成員關係遞迴扁平化 |
| - 跨系統 UID 解析 (如 Slack 使用者)|
+------------------+------------------+
|
+------------------------+------------------------+
| |
v v
+-------------------------------------+ +-------------------------------------+
| Google Workspace 連接器 | | Slack 連接器體系 |
| (Google Drive / Gmail / Groups) | | (Slack 中繼資料連接器 + Slack RTS) |
+------------------+------------------+ +------------------+------------------+
| |
- GCP 服務帳戶與全網域委派 (Domain-Wide) - 官方 Marketplace 集中化 OAuth 應用
- 入庫時索引文件內容及對應 ACL 權杖集 - 定期身分檢索與互動行為訊號收集
- 增量變更 API 與 Webhook 維持即時性 - 零拷貝聯邦查詢:依需求呼叫 Slack 原生檢索
- 嚴格鏡像雲端硬碟「連結共用」可見度規則 - 原生驗證私密頻道與直接訊息成員身分
| |
+------------------------+------------------------+
|
v
+-------------------------------------+
| 查詢期安全過濾攔截器 |
| 使用者目前主體集 ∩ 文件安全權杖(ACL)|
| + 即時聯邦工作階段回傳串流 |
+------------------+------------------+
|
v
+-------------------------------------+
| 嚴格遵循源權限的檢索結果與 AI 回答 |
+-------------------------------------+
1. 入庫時權限感知索引(Google Drive)
對於 Google Drive 等非同步儲存系統,Glean 在爬取文件內容的同時抓取其綁定的安全主體(使用者帳號、Google Groups、全網域共用屬性等),並將文件與 ACL 權杖集一同存入索引。當員工發起搜尋時,Glean 的安全攔截器會根據目前使用者的身分以及所繼承的所有群組權限構建有效主體清單,在毫秒級內完成權限交集計算,未授權文件直接在計分排名前被剔除。
2. 聯邦即時搜尋(Slack RTS)
Slack 的訊息產生極快且頻道成員異動頻繁,傳統的定期爬取索引難以兼顧時效與安全性。因此,Glean 採用了 Slack Real Time Search(RTS) 聯邦架構。Glean 的核心索引庫不持久化儲存 Slack 的訊息內文,而是採用零拷貝機制:當使用者在 Glean 發起搜尋時,系統直接代表該使用者即時呼叫 Slack 原生的搜尋 API(如 assistant.search.context 與 search.messages)。Slack 本身負責驗證目前查詢使用者是否屬於該公開頻道、私密頻道或多人群聊(MPDM),未加入的私密對話從協定層便無法回傳。
3. 統一身分圖譜(Identity Graph)
權限對齊的最大難題在於跨系統帳號識別碼不一致。例如同一個員工,在 Google Workspace 中是 name@company.com,在 Slack 中則是唯一的內部使用者 ID U12345678。Glean 透過與企業核心 IdP(如 Okta、Microsoft Entra ID 或 Google Workspace)整合,建立全域身分對應,串聯員工的主信箱、別名信箱與第三方系統 UID,確保無論資料在何處產生,權限校驗都能精準對應至同一實體。
二、Google Workspace 連接器與權限同步配置
Glean 連接 Google Workspace 依賴 Google Cloud Platform(GCP)服務帳戶與全網域授權委派(Domain-Wide Delegation)。這允許 Glean 以特定管理員身分安全爬取目錄結構並維護文件級安全性(DLS)。
步驟 1:建立 GCP 服務帳戶
- 登入企業的 Google Cloud Console。
- 進入 IAM 與管理 → 服務帳戶,點擊 建立服務帳戶。
- 輸入服務帳戶名稱(例如
glean-enterprise-connector)與說明。 - 建立後進入該帳戶的 金鑰(Keys) 標籤頁,選擇 新增金鑰 → 建立新金鑰,選擇 JSON 格式並下載妥善保存。
- 在服務帳戶詳細資訊頁面中,複製該帳戶的純數字 OAuth 2 用戶端 ID(Client ID)。請注意:全網域委派必須使用純數字用戶端 ID,而非服務帳戶電子郵件。
步驟 2:在 Google Workspace 管理控制台配置全網域委派
- 以超級管理員身分登入 Google Workspace 管理控制台(
admin.google.com)。 - 前往 安全性 → 存取權與資料控制 → API 控制 → 管理全網域委派。
- 點擊 新增,在「用戶端 ID」欄位中貼上上一步複製的數字 Client ID。
- 在「OAuth 範圍」欄位中輸入逗號分隔的必要 API 範圍(請確保字串完全相符,無多餘空格):
https://www.googleapis.com/auth/drive.readonly(用於爬取 Google Drive 文件中繼資料、內容及 ACL)https://www.googleapis.com/auth/admin.directory.user.readonly(用於讀取使用者屬性與帳戶狀態)https://www.googleapis.com/auth/admin.directory.group.readonly(用於讀取 Google Groups 及其成員)https://www.googleapis.com/auth/apps.groups.settings(用於讀取群組安全設定)- 若需索引郵件與日曆,可按需補充
https://www.googleapis.com/auth/gmail.readonly及 Calendar 相關範圍。
- 點擊 授權(Authorize)。
步驟 3:在 Glean 管理控制台完成連接器配置
- 登入 Glean Admin Console,導覽至 Platform → Connectors。
- 選擇 Google Drive(或 Google Workspace)並點擊 Setup。
- 提示:對於 2026 年 8 月 14 日之後建立的 Glean 部署實例,系統已提供自動化引導流程,預設啟用相關唯讀工具並簡化索引設定;若是更早的部署,則需手動上傳先前下載的 GCP 服務帳戶 JSON 金鑰。
- 配置 Directory Admin Email:指定一個具備 Google Workspace 目錄與活動記錄讀取權限的管理員信箱。Glean 將使用該身分呼叫 Google Workspace Reports API 爬取增量變更事件與活躍度訊號。
- 設定檢索範圍與限制規則:指定需納入搜尋的組織單位(OU)或限制特定受限共用雲端硬碟。
步驟 4:核心細節:Google Drive 連結共用與可見度控制
Google Drive 的共用機制容易衍生資安疑慮。Glean 在權限比對上嚴格遵守 Google Drive 的原生邏輯,具體原則如下:
- 明確授權檔案:僅直接指定的使用者或 Google Groups 成員可搜尋得到。
- 「知道連結的任何人」及全公司共用檔案:若檔案設定為「全公司可存取」或「知道連結者可檢視」,Glean 不會盲目向全體員工展示該檔案,除非符合以下條件之一:
- 使用者先前已在 Google Drive 中主動開啟或存取過該文件;
- 檔案的「在搜尋結果中可找到」(Searchable → Can find in search results)選項已被明確開啟;
- 該檔案的連結已被分享至目前使用者所屬的 Slack 頻道中(可在 Glean 中依需求開啟或關閉此關聯規則);
- 管理員針對特定受眾為該檔案設定了 Pin(置頂推薦)。
- AI 助手與 Slack 公開模式連動:當在 Slack 中將 Glean 助手設為「公開模式(Public Mode)」或發布對所有人可見的 Agent 時,Glean 僅會引用「在搜尋結果中可找到」的檔案生成回答,嚴格隱藏設定為「必須有連結才能存取(Must have link to access)」的文件,防範未經授權的資訊外洩。
三、Slack Enterprise 連接器與即時搜尋(RTS)配置
Slack 的整合由兩個互相配合的連接器組成:負責身分中繼資料與行為排名的 Slack 連接器,以及負責即時零拷貝調用的 Slack Real Time Search(RTS)連接器。
步驟 1:模式選擇與必備條件
- 版本要求:跨多工作區的大型企業強烈建議採用 Slack Enterprise Grid 模式;單一工作區企業選擇 Single Workspace 模式。
- 管理員權限:Enterprise Grid 模式必須由 Slack Org Owner(組織擁有者) 執行安裝;單工作區模式需要 Workspace Owner 或 Workspace Admin。
- 收集資訊:
- Slack 網域:如
company.slack.com(單工作區)或company.enterprise.slack.com(Enterprise Grid)。 - Slack 工作區 ID(以
T開頭)與 Enterprise ID(以E開頭,可從瀏覽器存取 Slack 時的 URLapp.slack.com/client/E12345678/...中取得)。
- Slack 網域:如
步驟 2:安裝基礎 Slack 連接器(中繼資料與互動訊號)
- 在 Glean 管理控制台中,前往 Platform → Connectors → Slack(或 Slack Enterprise),點擊 Setup。
- 輸入 Slack 網域與 Enterprise ID。
- 授權 Glean 在 Slack 官方 Marketplace 中的集中化應用程式。主要授權範圍包含:
users:read,users:read.email(建立跨系統使用者身分對應)channels:read,groups:read,im:read,mpim:read(爬取頻道架構與成員清單)usergroups:read(對應 Slack 使用者群組結構)assistant:write,reactions:write,commands(支援 Gleanbot 互動與/glean命令)
- 在 Slack 組織層級確認全體工作區覆蓋並完成安裝。
步驟 3:配置 Slack Real Time Search(RTS)連接器
- 在基礎 Slack 連接器狀態健康後,返回 Platform → Connectors,選擇 Slack Real Time Search (RTS)。
- 點擊 Setup,完成 OAuth 授權流程。
- 介面能力確認:RTS 會呼叫 Slack 的核心即時檢索 API:
assistant.search.context與search.messages:在使用者發起檢索時,以即時聯邦方式請求 Slack 原生檢索端點;conversations.history與conversations.replies:動態抓取符合結果周圍的上下文訊息及討論串回覆;conversations.members與users.info:即時確認會話成員關係。
- 零拷貝安全驗證:確認不儲存訊息內文。RTS 僅在記憶體中處理查詢並即刻丟棄,若某員工未加入私密頻道(例如
#exec-salary),Slack API 端點直接回傳空資料,確保隔離。
步骤 4:敏感頻道隔離與外部通訊防護
- 頻道黑名單(Redlisting):對於涉及核心機密(如高階主管薪資、潛在併購、敏感合規調查)的公開或私密頻道,可聯繫 Glean 支援團隊或在連接器設定中透過 Channel ID(以
C開頭)將其列入排除黑名單,禁止任何檢索觸達。 - Slack Connect 外部頻道防護:Glean 預設自動停用包含外部第三方的 Slack Connect 共用頻道回應,防止內部機密或 AI 回覆被外部合作夥伴窺視。
- 私密對話與個人 DM 授權:直接訊息(DM)與受限私密頻道在部分企業合規政策下要求個人明確授權,Glean 支援在需要時引導使用者授權其個人 Slack 權杖,確保查詢嚴格限於個人視界。
四、權限對應、群組遞迴展開與同步生命週期
瞭解權限變更的同步機制與延遲指標,有助於 IT 人員在資安稽核或員工職務異動時精準判斷生效時機。
+-----------------------------------------------------------------------------------+
| 權限與身分資料同步路徑說明 |
+-----------------------------------------------------------------------------------+
| 來源系統 | 同步觸發機制 | 任務類型 | 典型生效時延 / 同步頻率 |
+---------------+---------------------+---------------+-----------------------------+
| Google Drive | 基礎內容爬取 | 批次全量檢索 | 定期執行 (建立基準) |
| Google Drive | Google Reports API | 增量變更檢索 | 定期拉取 (數分鐘至數小時) |
| Google Drive | 推播 Webhooks | 即時事件推播 | 秒級近即時回應 |
| Google Groups | Admin Directory API | 身分檢索 | 週期性全量/增量展開 |
| Slack 架構 | Slack Users API | 身分檢索 | 週期性拉取使用者與頻道清單 |
| Slack 動態 | Slack Events API | Webhook | 即時擷取使用者加群、退群事件|
| Slack 訊息內文| Slack RTS 即時 API | 聯邦零拷貝 | 查詢觸發即刻判定 (0 秒延遲) |
+-----------------------------------------------------------------------------------+
巢狀群組遞迴展開機制
大型企業中普遍存在巢狀 Google Groups(例如:Security-Team 隸屬於 Tech-Ops,Tech-Ops 又隸屬於 Engineering)。Glean 在執行身分檢索時,會在身分圖譜中對群組關係進行遞迴扁平化展開(Flattening)。當某個 Google Doc 僅授權給 Engineering 時,處於最底層的 Security-Team 成員也會在 Glean 身分引擎中自動獲得合法的比對權杖。一旦該員工從 Google Workspace 管理後台的子群組中被移除,Glean 增量身分檢索會立即移除該繼承權杖,使其失去在搜尋中觸達該文件的權限。
即時權限撤銷的實際表現
- Slack 頻道退出:即時生效。因為 Slack RTS 依賴查詢當下向 Slack 發起的即時鑑權,使用者一旦被移出私密頻道,後續發起的任何搜尋均無法檢索該頻道的歷史訊息。
- Google Drive 權限撤銷:使用者從文件共用清單中移除後,Google Drive 的變更記錄會觸發 Webhook 與增量檢索,Glean 會使索引庫中對應的 ACL 權杖失效,通常在數分鐘內即在搜尋端生效。
五、管理後台驗證、稽核與疑難排解實戰
IT 管理員在完成配置後,必須透過具體確定的驗證工具確保權限控制切實生效。
1. 使用 Document Lookup 驗證文件存取權限
- 登入 Glean Admin Console,進入 Content management → Document lookup。
- 在 Document URL 輸入框中,貼上一份敏感的 Google Doc 連結或文件 ID。
- 在 User (optional) 下拉選單中,選擇欲測試的目標同仁。
- 點擊 Check document。
- 檢視診斷結果:
- Last crawled:Glean 上次抓取該文件中繼資料的時間;
- Last indexed:該文件內容與 ACL 權杖被編譯進可搜尋索引的時間;
- Document visibility on Glean:標示文件處於正常可檢索狀態還是被管理規則隱藏;
- Document access:明確顯示該同仁的存取權限狀態(
Allowed或Restricted),並列出其權限來源(如直接共用、繼承自特定 Google Group,或因「連結共用」限制而受限)。
2. 使用前台診斷語法進行多源驗證
管理員可使用特定測試帳號在前台搜尋列中執行限定指令:
app:gdrive <關鍵字>:僅在 Google Drive 資料源中檢索,驗證敏感文件是否被隔離;app:slack <關鍵字>:僅在 Slack RTS 資料串流中檢索,驗證私密頻道訊息的隔離性;*(萬用字元):回傳目前使用者在系統中可存取的全部公開與私有內容,便於核對是否有未授權檔案出現。
3. 檢視與匯出管理稽核記錄(Audit Logs)
Glean 記錄了完整的管理操作與系統狀態變化:
- 導覽至 Users & permissions → Audit logs(或 Management → Audit Logs)。
- 根據時間範圍、操作管理員或事件類型(如連接器修改、OAuth 範圍變更、可見度規則調整)進行篩選。
- 支援匯出為 CSV 格式,並可與企業 SIEM 平台(如 Splunk、Datadog)對接,滿足 SOC 2、HIPAA 及 ISO 27001 等合規稽核要求。
六、總結與企業上線前檢查清單
透過在 Google Drive 上應用「入庫時 ACL 深度索引」,並在 Slack 上採用「聯邦零拷貝即時查詢(RTS)」,Glean 完美兼顧了檢索效能與即時權限控制,徹底解決了傳統 RAG(檢索增強生成)方案容易引發的資料越權漏洞。
企業 IT 管理員上線前檢查清單
- 企業核心 IdP(Okta / Entra ID / Google 身分)已完成整合並串聯使用者基底。
- GCP 服務帳戶已建立,JSON 金鑰已就緒,已取得純數字 OAuth 2 Client ID。
- Google Workspace 管理後台已完成全網域委派授權,API Scopes 拼寫完全一致。
- 已在 Glean 中指定 Directory Admin Email 用於活動與變更檢索。
- 已評估 Google Drive 連結共用規則(確認「在搜尋結果中可找到」相關政策)。
- Slack Enterprise Grid 已由 Slack Org Owner 完成官方 Marketplace 應用程式授權。
- Slack Real Time Search(RTS)連接器已完成部署與連通性測試。
- 敏感法務、財務與高階主管私密頻道已加入排除黑名單(Redlist)。
- Slack Connect 外部頻道回應隔離設定已確認為開啟狀態。
- 透過 Document Lookup 對高階主管帳號與一般員工帳號完成權限隔離驗證。
- 稽核記錄(Audit Logs)匯出與 SIEM 串接管道已測試暢通。
遵循此規範進行部署,IT 團隊可以在確保企業零信任安全防線的前提下,為全體員工提供安全、智慧且高效的統一工作區搜尋體驗。