getRole - 获取角色的信息
db.getRole(<rolename>, [options] )
Sdb
rolename ( string,必填 ) 通过 rolename 指定角色
options ( object,选填 ) 额外参数
false函数执行成功时,将返回一个 BSONObj 类型的对象。通过该对象获取角色的详细信息。
函数执行失败时,将抛异常并输出错误信息。
常见异常如下:
| 错误码 | 错误类型 | 描述 | 解决方法 |
|---|---|---|---|
| -409 | SDB_AUTH_ROLE_NOT_EXIST | 指定角色不存在 |
当异常抛出时,可以通过 getLastErrMsg() 获取错误信息或通过 getLastError() 获取错误码。更多错误处理可以参考常见错误处理指南。
v5.8 及以上版本
在集群中获取名为 foo_developer 的角色,不开启 ShowPrivileges 选项
> db.getRole("foo_developer")
{
"_id": {
"$oid": "64c0eb5e8c7c328f60bc6d71"
},
"Role": "foo_developer",
"Roles": [
"_foo.readWrite"
],
"InheritedRoles": [
"_foo.readWrite"
]
}在集群中获取名为 foo_developer 的角色,开启 ShowPrivileges 选项
> db.getRole("foo_developer", {ShowPrivileges:true})
{
"_id": {
"$oid": "64c0eb5e8c7c328f60bc6d71"
},
"Role": "foo_developer",
"Privileges": [
{
"Resource": {
"Cluster": true
},
"Actions": [
"snapshot"
]
}
],
"Roles": [
"_foo.readWrite"
],
"InheritedRoles": [
"_foo.readWrite"
],
"InheritedPrivileges": [
{
"Resource": {
"Cluster": true
},
"Actions": [
"snapshot"
]
},
{
"Resource": {
"cs": "foo",
"cl": ""
},
"Actions": [
"find",
"insert",
"update",
"remove",
"getDetail"
]
}
]
}在集群中获取名为 _foo.readWrite 的内建角色,开启 ShowPrivileges 选项
> db.getRole("_foo.readWrite", {ShowPrivileges:true})
{
"Role": "_foo.readWrite",
"Roles": [],
"InheritedRoles": [],
"Privileges": [
{
"Resource": {
"cs": "foo",
"cl": ""
},
"Actions": [
"find",
"insert",
"update",
"remove",
"getDetail"
]
}
],
"InheritedPrivileges": [
{
"Resource": {
"cs": "foo",
"cl": ""
},
"Actions": [
"find",
"insert",
"update",
"remove",
"getDetail"
]
}
]
}