我正在运行mongodb群集。我尝试添加auth。当我阅读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"])
任何人都可以提出一些建议吗?
答案 0 :(得分:0)
通常需要两个用户:一个可以创建和修改任何用户及其权限的用户管理员,以及一个可以做任何事情来管理集群的集群管理员。之后,您应该考虑如何使用数据库,从管理和客户端使用的角度来看。您可以按照最小权限原则创建符合这些类型的用户 - 对于每种不同类型,创建一个具有完成作业所需权限的用户。例如,如果需要备份数据库并且客户端也使用一个数据库,则创建另外两个用户 - 备份用户和对数据库具有读/写权限的应用程序用户。