輕鬆管理基於 RAG 的知識庫!RBAC 的最佳實踐來了


隨着大型模型技術的日益成熟,越來越多企業積極嘗試在內部應用這一前沿技術,上線各類創新的 AI 應用,這標誌着科技領域的一大飛躍。在這個發展趨勢中,向量數據庫憑藉其強大的數據支持,成爲 RAG(Retrieval Augmented Generation)、智能體等 AI 應用的關鍵技術。


然而,隨着企業應用和數據的不斷蓬勃增長以及多樣化發展,對於數據訪問的安全性需求也逐漸升高。如何隔離不同項目、不同用戶之間的數據和資源,使團隊協作更加高效,成爲許多企業面臨的一項重要挑戰。在這篇文章中,我們將探索 Zilliz Cloud 基於角色的訪問控制及不同場景下的最佳實踐。


01.

瞭解 Zilliz Cloud RBAC


Zilliz Cloud 的  RBAC(角色權限訪問控制)功能提供了一種結構化和可擴展的方法來管理數據訪問權限,保障數據安全。RBAC 通過以下層面實現訪問控制:用戶賬戶、組織、項目。


其中,組織是將擁有共同目標的多個項目匯聚在一起,例如,將某個特定業務單元下的所有項目整合在同一組織中。


在一個組織下,用戶可以創建若干項目,並管理組織級別的資源,包括賬單、組織成員、事件、系統設置以及回收站等。



項目是組織內部用於歸類集羣和其他相關資源的邏輯分組單位。在一個項目中,你可以創建若干集羣,並管理集羣級別的資源,包括項目成員、API 密鑰、安全設置和監控等。



02.

Zilliz Cloud RBAC 是如何工作的?


Zilliz Cloud 權限設計遵循 RBAC 原則,分爲管控層和數據層 2 層角色。在管控層,角色掌管集羣、項目、用戶和賬單等資源的操作權限,而在數據層,角色則專注於控制對 Cluster 數據的增、刪、改、查的能力。



在管控層,Zilliz Cloud 支持 4 種角色(組織管理員、項目所有者和項目成員是 3 種常用的角色):


  • 組織管理員:擁有對組織的全部管理權限,包括組織設置、管理支付方式及賬單、API Key、組織中的所有項目以及相關資源。

  • 組織成員:在組織中具有有限的訪問權限,可以查看組織設置並邀請用戶加入組織。組織成員對組織層面、項目層面和集羣層面的資源的具體權限範圍由其在項目中的角色確定。

  • 項目所有者:擁有對項目的全部管理權限,包括項目設置、項目內的 API Key、項目內的所有集羣以及相關資源。

  • 項目成員: 對項目內的所有集羣具有讀寫權限,可以查看集羣詳情並管理 Collection和 Index。


在數據層,Zilliz Cloud 提供了 3 種內建角色:Admin、Read-Only 和 Read-Write,用於控制對 Cluster 數據的讀寫和管理權限:


  • Admin(管理員):擁有 Cluster 的最高權限,可以執行所有操作。

  • Read-write(讀寫):具有對 Cluster 數據進行讀寫的權限,適用於需要修改數據的場景。


  • Read-only(只讀):具有對 Cluster 下所有數據進行只讀訪問的權限,適用於只需要查看數據而不修改的場景。


然而,考慮到特定業務需求,例如,只允許授權人員訪問敏感數據或者希望使用 Collection 作爲多租戶隔離單元以確保安全隔離數據訪問,Zilliz Cloud 允許用戶創建自定義角色。這些自定義角色能夠定義對特定 Collection、Partition 或操作的權限,確保在使用 Zilliz Cloud 時實現數據權限最小化原則。


以上概述了 Zilliz Cloud 權限設計框架和多種角色,詳細能力對比可參考 (https://docs.zilliz.com.cn/docs/user-roles)。


03.

Zilliz Cloud RBAC 的最佳實踐


  • 中小型團隊協同的最佳實踐


例如,你是公司的 infra 團隊負責人,專注於運維向量數據庫,以滿足 3-5 個業務團隊推薦、搜索相關的 AI 應用需求,如電商、客服部門。


你希望可以具備創建集羣、執行擴縮容操作,同時支持所有集羣用量監控能力,Infra 團隊成員可以監控集羣健康狀態,對所有集羣進行建表、數據刪改;對於業務團隊而言,他們期望支持對 Collection 進行數據的增刪改查,不同業務之間數據不可見;而財務同事則需要具備管理支付方式以及收取賬單的能力。


針對這類場景,我們推薦你將自己和財務同事設爲 Zilliz Cloud 的組織管理員角色,將 Infra 團隊成員邀請爲項目成員角色。對於有數據隔離需求的電商、客服等業務,通過自定義角色,只需創建一個集羣即可滿足,進一步降低成本。


步驟如下:


  • 首先,創建一個 Enterprise Plan 集羣,通過 SDK 創建兩個自定義角色,用於電商和客服,限定它們僅能夠讀寫電商和客服相關的表。

  • 其次,創建兩個 Cluster 用戶並與電商和客服自定義角色分別綁定。

  • 最後,將集羣 Endpoint 和 Cluster 用戶名密碼提供給業務團隊,即滿足數據操作的安全性和獨立性。



  • 企業知識庫的最佳實踐


例如,作爲一家面向企業的 SaaS 服務提供商,你希望推出知識庫應用:允許用戶上傳知識文件,結合大模型進行智能問答。


在後臺,你計劃將這些知識文件存儲在向量數據庫中。你的小型客戶估計有 2 萬家,其中單個客戶的數據量相對較小,不超過 10 萬條;而你的大型客戶大概有 50 個,他們的數據量較大,在千萬到億不等,對數據隔離和服務穩定性有嚴格的要求,希望支持知識庫數據的對外集成。


在這類場景下,你的客戶無需登錄 Zilliz Cloud,管控層的組織管理員和項目管理員均應設置在你的團隊。


  • 針對小型客戶,我們建議創建共享集羣以節省成本,相同結構的文件,存儲在同一個 Collection 下,每個客戶以 Partition Key 做數據隔離,客戶搜索時,僅返回該 Partition Key 下的數據。


  • 針對大型客戶,建議基於數據規模爲不同客戶創建不同規格的獨立集羣,滿足隔離性。然後,爲每個客戶創建指定 Cluster 的 Custmized API Key,角色爲 built-in Read-Write,以連接專屬集羣,靈活滿足各類外部應用的數據集成。


04.

結論


總結來看,Zilliz Cloud 基於角色的權限設計,爲用戶提供了高度靈活和精細的權限控制。結合自定義角色,無論是個人用戶、小型企業,還是中大型企業的各類複雜場景需求,Zilliz Cloud 都能夠滿足,歡迎各位註冊使用 (https://cloud.zilliz.com.cn/signup)。


本文作者

湯雪

Zilliz 產品經理

推薦閱讀



本文分享自微信公衆號 - ZILLIZ(Zilliztech)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章