我可以为我的“user1”使用特定角色创建数据库。我已经测试并且用户“test1”无法在启用模式授权下创建数据库。如何创建数据库?我创建了一个用户“user1”,它只能访问这个数据库“db1”。我可以拥有与 SQL Server 中相同的具有创建新数据库的权限的用户“user1”吗?我可能(完全)错了,但我想要一个关于这个案例的具体解释。感谢您的任何帮助和指导。:)
我可以为我的“user1”使用特定角色创建数据库。我已经测试并且用户“test1”无法在启用模式授权下创建数据库。如何创建数据库?我创建了一个用户“user1”,它只能访问这个数据库“db1”。我可以拥有与 SQL Server 中相同的具有创建新数据库的权限的用户“user1”吗?我可能(完全)错了,但我想要一个关于这个案例的具体解释。感谢您的任何帮助和指导。:)
真的很难理解你的问题。
也许您的问题是这样的:在 MongoDB 中,您有不同的数据库。Database
admin
和是预定义的系统数据库config
。local
用户和角色是在数据库中创建的,我认为这对于 MongoDB 来说是一种非常独特的行为。您可以在任何数据库中创建用户和角色,但是
admin
数据库应该是通用的。该
admin
数据库包括管理整个系统的角色,而不仅仅是一个数据库。这些角色主要与副本集和分片集群管理功能有关。在其他数据库中创建的角色
admin
只能包含适用于其数据库的权限,并且只能从其数据库中的其他角色继承。在数据库中创建的角色
admin
可以包括适用于任何数据库或集群资源的权限,并且可以从其他数据库以及数据库中的角色继承admin
。所以,我假设
user1
不是在admin
数据库中创建的。很可能您创建了它test
的数据库,这是默认设置。那么上述限制适用。在数据库中创建用户
admin
并授予所需角色:或者
该用户可以创建任何数据库,并且可以写入任何数据库。
每个数据库都提供内置角色
read
,readWrite
,dbOwner
,dbAdmin
,userAdmin
.也许你正在寻找这个:
dbOwner
此命令创建数据库的用户和授权db1
。他可以写入数据库db1
,不能创建或读取任何其他数据库。