本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
受管知識庫上的 ACL 感知擷取
在受管知識庫資料來源上啟用 ACL 意識時,您可以透過在擷取請求中傳遞使用者內容來篩選查詢結果。Bedrock 受管知識庫只會傳回提供的使用者允許存取的文件。如需 ACL 意識的運作方式、身分模型、連接器支援以及啟用時的責任概觀,請參閱 存取控制清單意識啟用。
重要
ACL 意識提供 ACL 感知篩選,而非授權。Bedrock 受管知識庫不會驗證最終使用者 — 您的應用程式必須驗證使用者並傳遞已驗證的身分內容。如需詳細資訊,請參閱存取控制清單意識啟用。
在擷取請求中使用 userContext
若要執行 ACL 感知擷取,請在擷取請求中包含 userContext 欄位。userContext 指定使用者的身分。一律userId是使用者與基礎資料來源相關聯的通用電子郵件地址。
{ "knowledgeBaseId": "your-knowledge-base-id", "retrievalQuery": { "text": "your query" }, "userContext": { "userId": "user@example.com" } }
如果您未在擷取請求userContext中提供 ,則啟用 ACL 的資料來源會傳回零結果。相同知識庫中的非 ACL 資料來源正常傳回結果。
使用 ACLs 擷取行為
啟用 ACL 意識時,適用下列行為:
-
啟用 ACL 的資料來源所需的使用者內容 — 如果您未在擷取請求中提供使用者內容,啟用 ACL 的資料來源會傳回零結果。相同知識庫中的非 ACL 資料來源正常傳回結果。
-
缺少 ACL 中繼資料表示無法存取 - 如果啟用 ACL 的資料來源中的文件沒有 ACL (例如,連接器無法擷取許可或文件為公有),則該文件不會傳回給任何使用者。缺少的許可會被視為受限,而非公開。
-
混合資料來源 — 您可以在相同的知識庫中同時擁有啟用 ACL 和非 ACL 的資料來源。無論使用者內容為何,來自非 ACL 資料來源的文件都會傳回給所有使用者。
-
部分結果 — 當即時 ACL 驗證拒絕存取某些文件時,回應可能比請求的 包含較少的結果
maxResults。Bedrock 受管知識庫不會回填其他文件。您的應用程式應該處理結果少於請求的回應。 -
拒絕覆寫允許 — 如果使用者同時出現在允許清單和文件的拒絕清單中,則會拒絕存取。
注意
第三方身分提供者登入資料會快取最多 1 小時。存取可能會繼續,直到快取重新整理為止。
存取控制許可的變更最終會保持一致。更新通常會在幾分鐘內生效。
疑難排解
如果 ACL 感知擷取未傳回任何結果或非預期結果,原因通常是連接器特定的:許可、憑證或 ACL 組態。請參閱連接器的故障診斷指引: