mongodb用户与角色

mongodb提供了一些内置的角色来控制用户访问mongodb系统,还可以自己创建符合自己需要的角色。
mongodb存放所有的角色信息在admin.system.roles中
默认情况下mongodb是没有启用验证的,就是登陆了随便看,如果要启用认证,需要在启动的时候使用–auth选项:
mongod.exe –auth –dbpath=C:\data\db
开启验证后,登陆切换数据库后,使用下面命令验证权限
db.auth(“bao”,”12345678”)
添加用户
user reporting
db.createUser(
{
user: “reportsUser”,
pwd: “12345678”,
roles: [
{ role: “read”, db: “reporting” },
{ role: “read”, db: “products” },
{ role: “read”, db: “sales” },
{ role: “readWrite”, db: “accounts” }
]
}
)
查看用户的角色
use reporting
db.getUser(“reportsUser”)
查看角色包含的权限
use accounts
db.getRole( “readWrite”, { showPrivileges: true } )
收回权限:
use reporting
db.revokeRolesFromUser(
“reportsUser”,
[
{ role: “readWrite”, db: “accounts” }
]
)
授予权限
use reporting
db.grantRolesToUser(
“reportsUser”,
[
{ role: “read”, db: “accounts” }
]
)

下面是创建一个角色,
有db.currentOp(), db.killOp()权限
mongo –port 27017 -u myUserAdmin -p abc123 –authenticationDatabase admin

创建角色
use admin
db.createRole(
{
role: “manageOpRole”,
privileges: [
{ resource: { cluster: true }, actions: [ “killop”, “inprog” ] },
{ resource: { db: “”, collection: “” }, actions: [ “killCursors” ] }
],
roles: []
}
)
创建有执行mongostat权限额角色
use admin
db.createRole(
{
role: “mongostatRole”,
privileges: [
{ resource: { cluster: true }, actions: [ “serverStatus” ] }
],
roles: []
}
)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值