db.getRole()
定义
db.getRole(rolename, args)
返回此角色从中继承权限的角色。该方法还可以选择返回角色的所有权限。
从包含该角色的数据库运行
db.getRole()
。 该命令可以检索用户定义角色和内置角色的信息。db.getRole()
方法接受以下参数:Parameter类型说明rolename
字符串
角色的名称。
args
文档
可选。指定附加参数的文档。
args
文档支持以下可选字段:字段类型说明showAuthenticationRestrictions
布尔
可选。将该字段设置为
true
,以在输出中包含身份验证限制。身份验证限制指出了具有此角色的用户可以连接的 IP 地址。默认情况下,此字段为
false
,这意味着db.getRole()
输出不包含身份验证限制。showBuiltinRoles
布尔
showPrivileges
布尔
可选。将此字段设置为
true
以显示角色权限,包括从其他角色继承的权限和直接定义的权限。默认情况下,该命令仅返回此角色从中继承权限的角色,而不返回特定权限。db.getRole()
会封装rolesInfo
命令。
兼容性
此方法可用于以下环境中托管的部署:
重要
MongoDB Atlas集群不支持此命令。 有关Atlas支持所有命令的信息,请参阅不支持的命令。
MongoDB Enterprise:基于订阅、自我管理的 MongoDB 版本
MongoDB Community:源代码可用、免费使用且可自行管理的 MongoDB 版本
必需的访问权限
示例
本节中的示例展示如何使用 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 }