本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
文件層級存取控制
ACL 意識不是授權
Bedrock 受管知識庫提供 ACL 感知篩選,而不是安全界限。Bedrock 受管知識庫不會驗證最終使用者 — 您的應用程式負責驗證使用者並傳遞已驗證的身分內容。由於 Bedrock 受管知識庫無法驗證您提供的使用者內容的真實性,因此此功能會根據您提供的身分篩選結果,但不會構成真正的授權。在沒有上游身分驗證的情況下,您不得依賴此功能做為唯一存取控制機制。
Google Drive 資料來源可選擇性支援文件層級存取控制。啟用時,Bedrock 受管知識庫會在每個網路爬取期間同步來自 Google Drive 的存取控制清單 (ACLs),並在查詢時驗證每個使用者的許可,因此使用者只會看到他們獲授權在 Google Drive 中存取的文件結果。如需所有連接器的 ACL 意識概觀,請參閱 存取控制清單意識啟用。
運作方式
當使用者查詢使用啟用 ACL 的 Google Drive 資料來源的知識庫時,Bedrock 受管知識庫會分兩個階段強制執行存取控制:
-
擷取前篩選 — Bedrock 受管知識庫會套用上次網路爬取期間從 Google Drive 同步的存取控制清單,只傳回允許使用者 (或其群組) 存取的候選文件。
-
即時驗證 — Bedrock 受管知識庫會檢查使用者在 Google Drive 中的目前存取權,以即時驗證候選文件。只有使用者目前獲授權存取的文件才會包含在回應中。
這種兩階段方法提供文件層級的存取控制,即使 Google Drive 許可在同步之間變更,也能保持最新狀態。
爬取的內容
啟用 ACLs時,Bedrock 受管知識庫會從 Google Drive 爬取檔案層級共用許可,包括:
直接使用者共用 (個別檔案許可)
Google 群組成員資格
共用磁碟機成員資格
啟用 ACL 意識
若要啟用 Google Drive 資料來源的 ACL 意識,請在 true中aclEnabled將 設定為 SERVICE_ACCOUNT connectorParameters,並使用 身分驗證類型。服務帳戶必須在 Google Workspace 管理員主控台中啟用全網域委派。
重要
ACL 組態是永久的。您無法在無 ACLs 支援的情況下建立的資料來源上啟用 ACL,而且一旦啟用,就無法停用 ACLs。
AWS Secrets Manager 秘密必須包含 adminAccountEmail、 clientEmail和 privateKey。如需建立服務帳戶、設定全網域委派和取得這些值step-by-step說明,請參閱 設定 Google Drive 的服務帳戶身分驗證。
"connectorParameters": { "type": "GOOGLEDRIVE", "version": "1", "aclEnabled": true, "connectionConfiguration": { "authType": "SERVICE_ACCOUNT", "secretArn": "arn:aws:secretsmanager:region:account-id:secret:secret-name" }, "dataEntityConfiguration": { "crawlMyDrive": true, "crawlSharedWithMe": false, "crawlSharedDrives": false } }
注意
啟用 ACL 的 Google Drive OAUTH2 資料來源不支援身分驗證類型。您必須SERVICE_ACCOUNT搭配全網域委派使用 。
即時存取驗證
Bedrock 受管知識庫使用服務帳戶的全網域委派,根據 Google Drive API 即時驗證文件存取,確認查詢使用者仍然可以存取每個候選文件。
驗證您的組態
您可以獨立於擷取請求來驗證您的服務帳戶組態。執行下列各項檢查:
-
全網域委派:
在 Google Workspace Admin 主控台中,確認服務帳戶用戶端 ID 已取得所需範圍的授權 (Google Drive 唯讀和 Admin SDK 目錄/群組讀取範圍)。
-
磁碟機存取 (網路爬取和驗證):
使用模擬 的服務帳戶 (
clientEmail和privateKey)adminAccountEmail,呼叫 Google Drive API 列出使用者的檔案並確認其成功。
-
群組解析度:
呼叫 Admin SDK Directory API 列出使用者的群組成員資格,並確認傳回預期的群組。
疑難排解
注意
ACL 設定錯誤不會在擷取期間產生明確的錯誤。擷取失敗關閉:已無提示地省略受影響的文件,因此查詢會傳回較少或零的結果,而不是錯誤。使用上述驗證檢查來診斷這些問題。
| 徵狀 | 可能原因 | 修正 |
|---|---|---|
| 擷取會傳回 0 個結果,但使用者在 Google Drive 中具有存取權。 | 未設定全網域委派,或服務帳戶缺少必要的範圍,因此無法驗證存取。 | 在 Google Workspace Admin 主控台中授權所需 Drive and Admin SDK 範圍的服務帳戶用戶端 ID。 |
| 不接受以群組為基礎的存取。 | 委派中缺少 Admin SDK 目錄/群組讀取範圍。 | 將 Admin SDK 群組讀取範圍新增至服務帳戶的全網域委派。 |
| 爬取或同步失敗。 | clientEmail/privateKey 無效,或adminAccountEmail不是工作區管理員。 |
驗證服務帳戶登入資料adminAccountEmail,也就是工作區管理員。 |
| 所有使用者在先前運作後都會遭到拒絕。 | 服務帳戶金鑰已輪換或撤銷。 | 更新秘密privateKey中的 。 |