Mongodb

我應該如何在 MongoDB 中使用使用者和訪問角色?

  • December 15, 2017

這些文件讓我有點困惑,我在這里或Google上找不到任何答案。我通過 passport-local-mongoose 使用自己的身份驗證,所以我根本不需要使用 mongo 的身份驗證。

文件說我應該為每個使用者/應用程序創建一個新使用者。這是否意味著我為每個入口點創建一個使用者,即:一個用於移動應用程序,一個用於 Web 服務 api,然後是一個用於管理的管理員?

或者這是否意味著我需要為每個在我的網站/應用上註冊的人創建一個新使用者?

與入口點的每次互動(使用者註冊除外)都需要身份驗證,因此為每個註冊使用者創建單獨的 mongo 使用者似乎是多餘的,但這是我的第一個數據庫,所以我不確定在日誌記錄或安全性方面如何工作實踐。

值得注意的是,我目前將使用者儲存為帶有嵌入式文件的集合,以方便每個使用者查找。

根據 MongoDB BOL基於角色的訪問控制, MongoDB 使用Role-Based Access Control(RBAC) 來管理對MongoDB系統的訪問。使用者被授予一個或多個角色,這些角色決定了使用者對數據庫資源和操作的訪問權限。在 之外role assignments,使用者無權訪問系統。

MongoDB 預設不啟用訪問控制。您可以使用–authsecurity.authorization設置啟用授權。啟用內部身份驗證也會啟用客戶端授權。

啟用訪問控制後,使用者必須進行身份驗證。

由於 MongoDB 提供了具有預定義資源配對和允許操作的內置角色。

MongoDB 授予對數據和命令的訪問權限,role-based authorization並提供built-in roles提供數據庫系統中通常需要的不同級別的訪問權限。您可以另外創建user-defined roles.

角色授予權限以對定義的資源執行一組操作。給定的角色適用於定義它的數據庫,並且可以授予對集合粒度級別的訪問權限。

供您進一步參考這里和這裡

引用自:https://dba.stackexchange.com/questions/191110