我應該如何在 MongoDB 中使用使用者和訪問角色?
這些文件讓我有點困惑,我在這里或Google上找不到任何答案。我通過 passport-local-mongoose 使用自己的身份驗證,所以我根本不需要使用 mongo 的身份驗證。
文件說我應該為每個使用者/應用程序創建一個新使用者。這是否意味著我為每個入口點創建一個使用者,即:一個用於移動應用程序,一個用於 Web 服務 api,然後是一個用於管理的管理員?
或者這是否意味著我需要為每個在我的網站/應用上註冊的人創建一個新使用者?
與入口點的每次互動(使用者註冊除外)都需要身份驗證,因此為每個註冊使用者創建單獨的 mongo 使用者似乎是多餘的,但這是我的第一個數據庫,所以我不確定在日誌記錄或安全性方面如何工作實踐。
值得注意的是,我目前將使用者儲存為帶有嵌入式文件的集合,以方便每個使用者查找。
根據 MongoDB BOL基於角色的訪問控制, MongoDB 使用
Role-Based Access Control
(RBAC) 來管理對MongoDB
系統的訪問。使用者被授予一個或多個角色,這些角色決定了使用者對數據庫資源和操作的訪問權限。在 之外role assignments
,使用者無權訪問系統。MongoDB 預設不啟用訪問控制。您可以使用–auth或security.authorization設置啟用授權。啟用內部身份驗證也會啟用客戶端授權。
啟用訪問控制後,使用者必須進行身份驗證。
由於 MongoDB 提供了具有預定義資源配對和允許操作的內置角色。
MongoDB 授予對數據和命令的訪問權限,
role-based authorization
並提供built-in roles
提供數據庫系統中通常需要的不同級別的訪問權限。您可以另外創建user-defined roles
.角色授予權限以對定義的資源執行一組操作。給定的角色適用於定義它的數據庫,並且可以授予對集合粒度級別的訪問權限。
供您進一步參考這里和這裡