2

我想知道数据库访问角色在 Mongo DB 中是如何工作的。下面的第 10 代页面详细说明了每个角色的权利,但我不知道如何实施它们。

http://docs.mongodb.org/manual/reference/user-privileges/

我需要将每个角色添加到我的数据库吗?还是已经添加了?

编辑

我了解向用户添加角色。但是我看不到如何将角色添加到特定的数据库中。添加具有任何“默认”角色的用户后,我看到以下警告:

警告:数据库 db1 中没有这样的角色“dbAdminAnyDatabase”。不会从此角色获得任何特权

4

1 回答 1

1

MongoDB 中的用户权限roles被授予users. 用户可能有多个角色,并且在不同的逻辑数据库上可能有不同的角色。在 MongoDB 2.4 中,默认情况下禁用身份验证,您必须显式启用身份验证并为管理用户添加凭据。

如果您想授予用户访问适用于任何数据库(例如dbAdminAnyDatabase)的更广泛角色的权限,您需要在admin用户数据库中授予这些角色。在您收到错误的示例中,您尝试通过数据库而不是db授予dbAdminAnyDatabase角色。db1admin

MongoDB 手册包含一个教程,其中包含添加到特定数据库以及数据库的示例admin

值得注意的是,MongoDB 2.4 中的可用角色/权限比以前的版本具有更大的粒度。可用的用户权限角色当前是预定义的,但 MongoDB 的未来版本可能允许用户定义角色——在 MongoDB 问题跟踪器中针对此功能请求监视/支持SERVER-8580 。

于 2013-08-17T21:22:44.417 回答