- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
MongoDB-基于角色的访问控制
访问控制
MongoDB提供了各种功能,例如身份验证,访问控制,加密,以保护MongoDB的数据安全。
这里我们重点介绍基于角色的访问控制,也就是MongoDB中的用户管理。
MongoDB使用基于角色的访问控制(RBAC)来管理对MongoDB系统的访问。授予用户一个或多个角
色,这些角色确定用户对数据库资源和操作的访问权限。
启用访问控制
MongoDB默认情况下不启用访问控制。但可以使用--auth或security.authorization设置启用授
权。
启用访问控制后,用户必须对自己进行身份验证。
用户和角色
我们可以在创建用户时,同时指定角色,明确用户对于哪些资源可以进行操控。
我们也可以为现有用户授权或者撤销角色,后续会具体展开讲解。
内置角色和权限
MongoDB提供了内置角色,可提供数据库系统中通常所需的不同访问级别。
接下来简要介绍MongoDB中的内置角色和内置权限。
内置权限
PermissionDescription
root只在admin数据库中可用。拥有对MongoDB的所有权限
read允许用户读取指定数据库
readWrite允许用户读写指定数据库
允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统
dbAdmin
计或访问file
允许用户对指定库的所有能力,包含readWrite、dbAdmin、
dbOwner
userAdmin这些角色的权限
允许用户向system.users集合写入,可以找指定数据库里创建、删
userAdmin
除和管理用户
只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管
clusterAdmin
理权限
readAnyDatabase只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限
内置角色
RoleDescription
超级用户角
root
色
数据库用户
read、readWrite
角色
数据库管理
dbAdmin、dbOwner、userAdmin
角色
集群管理角
clusterAdmin、clusterManager、clusterMonitor、hostManager
色
备份恢复角
backup、restore
色
所有数据库readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、
角色dbAdminAnyDatabase
注意,如果内置的角色无法满足一些特定的场景,MongoDB还允许我们自定义角色。
用户管理
文档评论(0)