Docs 菜单
Docs 主页
/
MongoDB Manual
/ / /

db.getRole()

在此页面上

  • 定义
  • 兼容性
  • 必需的访问权限
  • 示例
  • 显示角色继承信息
  • 显示角色权限
  • 显示身份验证限制
db.getRole(rolename, args)

返回此角色从中继承权限的角色。该方法还可以选择返回角色的所有权限。

从包含该角色的数据库运行 db.getRole() 。 该命令可以检索用户定义角色内置角色的信息。

db.getRole() 方法接受以下参数:

Parameter
类型
说明

rolename

字符串

角色的名称。

args

文档

可选。指定附加参数的文档。

args 文档支持以下可选字段:

字段
类型
说明

showAuthenticationRestrictions

布尔

可选。将该字段设置为 true,以在输出中包含身份验证限制。身份验证限制指出了具有此角色的用户可以连接的 IP 地址。

默认情况下,此字段为 false,这意味着 db.getRole() 输出不包含身份验证限制。

showBuiltinRoles

布尔

可选。将此字段设置为 true 以在输出中包含内置角色。默认情况下,该字段设置为 falserolesInfo: 1 的输出只显示用户定义的角色。

showPrivileges

布尔

可选。将此字段设置为 true 以显示角色权限,包括从其他角色继承的权限和直接定义的权限。默认情况下,该命令仅返回此角色从中继承权限的角色,而不返回特定权限。

db.getRole() 会封装 rolesInfo 命令。

此方法可用于以下环境中托管的部署:

重要

  • MongoDB Enterprise:基于订阅、自我管理的 MongoDB 版本

  • MongoDB Community:源代码可用、免费使用且可自行管理的 MongoDB 版本

要查看角色的信息,您必须已被显式授予该角色,或必须有权对该角色的数据库执行 viewRole 操作

本节中的示例展示如何使用 db.getRoles 来:

以下操作返回 products 数据库上定义的角色 associate 的角色继承信息:

use products
db.getRole( "associate" )

示例输出:

{
_id: 'products.associate',
role: 'associate',
db: 'products',
roles: [ { role: 'readWrite', db: 'products' } ],
inheritedRoles: [ { role: 'readWrite', db: 'products' } ],
isBuiltin: false
}

以下操作返回 products 数据库上定义的角色 associate 的角色继承信息和权限

use products
db.getRole( "associate", { showPrivileges: true } )

示例输出:

{
_id: 'products.associate',
role: 'associate',
db: 'products',
privileges: [
{
resource: { db: 'products', collection: '' },
actions: [ 'bypassDocumentValidation' ]
}
],
roles: [ { role: 'readWrite', db: 'products' } ],
inheritedRoles: [ { role: 'readWrite', db: 'products' } ],
inheritedPrivileges: [
{
resource: { db: 'products', collection: '' },
actions: [ 'bypassDocumentValidation' ]
},
{
resource: { db: 'products', collection: '' },
actions: [
'changeStream',
'collStats',
'compactStructuredEncryptionData',
'convertToCapped',
'createCollection',
'createIndex',
'dbHash',
'dbStats',
'dropCollection',
'dropIndex',
'find',
'insert',
'killCursors',
'listCollections',
'listIndexes',
'planCacheRead',
'remove',
'renameCollectionSameDB',
'update'
]
}
],
isBuiltin: false
}

以下操作返回 products 数据库上定义的角色 associate 的继承信息和身份验证限制:

use products
db.getRole( "associate", { showAuthenticationRestrictions: true } )

示例输出:

{
_id: 'products.associate',
role: 'associate',
db: 'products',
roles: [ { role: 'readWrite', db: 'products' } ],
authenticationRestrictions: [
[ { clientSource: [ '198.51.100.0' ] } ]
],
inheritedRoles: [ { role: 'readWrite', db: 'products' } ],
inheritedAuthenticationRestrictions: [
[ { clientSource: [ '198.51.100.0' ] } ]
],
isBuiltin: false
}

后退

db.dropAllRoles