【问题标题】:What kind of users I should create for one mongodb cluster?我应该为一个 mongodb 集群创建什么样的用户?
【发布时间】:2015-02-16 14:49:31
【问题描述】:

我正在运行一个 mongodb 集群。我尝试添加身份验证。当我读到mongo doc about builtin roles 时,我很困惑。为了安全地管理集群,我应该创建多少用户?我应该创建什么样的用户?

以下是我最初的想法:

use admin
db.addUser("clusteradmin", "123", ["clusterAdmin"]) 

# for backup
use admin
db.addUser("backupadmin", "123", ["backup", "restore"])

use admin
db.addUser("allDBsadmin", "123", ["userAdminAnyDatabase","userAdminAnyDatabase", "readWriteAnyDatabase"])


############## for mydb #####################

use mydb
db.addUser("user", "123", ["readWrite"])

谁能给点建议?

【问题讨论】:

    标签: mongodb authentication roles


    【解决方案1】:

    您通常需要两个用户:一个可以创建和修改任何用户及其权限的用户管理员,以及一个几乎可以做任何事情来管理集群的集群管理员。之后,您应该从管理和客户端使用的角度考虑如何使用数据库。您可以按照最小权限原则创建适合这些类型的用户 - 对于每种不同的类型,创建一个具有完成工作所需权限的用户。例如,如果您的数据库需要备份并且还有一个数据库供客户端使用,请再创建两个用户 - 一个备份用户和一个对数据库具有读/写权限的应用程序用户。

    【讨论】:

    • 我想知道 db.addUser("allDBsadmin", "123", ["userAdminAnyDatabase","userAdminAnyDatabase", "readWriteAnyDatabase"]) 是否可以在 mongodb 集群上做任何事情?另一个问题:我发现mongodb culster、replset、config server、mogos都有admin数据库。它们不一样。有什么区别?进行身份验证时有什么区别?谢谢
    • 为什么我的用户使用 ["userAdminAnyDatabase","userAdminAnyDatabase", "readWriteAnyDatabase"]) 无法读取 local.system.replset?
    猜你喜欢
    • 2012-10-06
    • 2015-07-20
    • 1970-01-01
    • 2017-10-28
    • 2012-12-31
    • 1970-01-01
    • 2012-11-13
    • 2023-03-08
    • 1970-01-01
    相关资源
    最近更新 更多