1、创建查询role:custom_role,对db idap_zl 下的collection:tab1、tab2 只有查询权限
1)使用trs用户登录数据库
2)切换到 db:idap_zl 创建 role ,替换示例中的 collection ,如果有多个 collection ,请按照示例依次编写
use idap_zl
db.createRole(
{
role:"custom_role",
privileges:
[
{
resource: { db:"idap_zl", collection:"tab1" },
actions: ["find"]
},
{
resource: { db:"idap_zl", collection:"tab2" },
actions: ["find"]
}
],
roles:
[]
},
{ w:"majority" }
);
2、创建新用户,将1中创建的role赋值给用户
1)切换到admin db
use admin
2)创建新用户
db.createUser({user:"test",pwd:"test123",roles:[{role:"custom_role",db:"idap_zl"}]})
3、验证
1)推出数据库,并使用新创建的用户 test 登录数据库
use admin
db.auth('test','test123')
use idap_zl
show tables
可以看到只有角色中对应的 tab1、tab2 可以查看