revokeRolesFromUser
定义
revokeRolesFromUser
从数据库中删除用户的一个或多个角色。
提示
在
mongosh
中,此命令还可以通过db.revokeRolesFromUser()
辅助方法运行.辅助方法对
mongosh
用户来说很方便,但它们可能不会返回与数据库命令相同级别的信息。在不需要方便或需要额外返回字段的情况下,请使用数据库命令。
兼容性
此命令在以下环境中提供
MongoDB Atlas:云中MongoDB部署的全面托管服务
重要
此命令在M0、M2、M5和M10+集群中不受支持。有关更多信息,请参阅不受支持的命令。
MongoDB企业版:基于订阅的自管理MongoDB版本
MongoDB社区版:源代码可用的、免费使用和自管理的MongoDB版本
语法
该命令具有以下语法
db.runCommand( { revokeRolesFromUser: "<user>", roles: [ { role: "<role>", db: "<database>" } | "<role>", ... ], writeConcern: { <write concern> }, comment: <any> } )
命令字段
该命令包含以下字段
字段 | 类型 | 描述 |
---|---|---|
revokeRolesFromUser | string | 要从其中移除角色的用户。 |
roles | array | 要从用户中移除的角色。 |
writeConcern | document | |
comment | any | 可选。用户提供的附加到该命令的注释。一旦设置,此注释将在以下位置的该命令记录旁边显示
注释可以是任何有效的BSON类型(字符串、整数、对象、数组等)。 |
要指定与运行revokeRolesFromUser
命令的同一数据库中存在的角色,您可以使用角色的名称来指定该角色
"readWrite"
或者,您可以使用文档来指定该角色,例如
{ role: "<role>", db: "<database>" }
要指定不同数据库中存在的角色,请使用文档来指定该角色。
所需访问权限
您必须拥有对数据库的revokeRole
操作权限,才能在该数据库上撤销角色。
示例
在products
数据库中的accountUser01
用户具有以下角色
"roles" : [ { "role" : "assetsReader", "db" : "assets" }, { "role" : "read", "db" : "stock" }, { "role" : "readWrite", "db" : "products" } ]
以下revokeRolesFromUser
命令撤销了用户的两项角色:在stock
数据库上的read
角色和在products
数据库上的readWrite
角色,该数据库也是运行命令的数据库
use products db.runCommand( { revokeRolesFromUser: "accountUser01", roles: [ { role: "read", db: "stock" }, "readWrite" ], writeConcern: { w: "majority" } } )
现在在products
数据库中的用户accountUser01
只剩下一个角色
"roles" : [ { "role" : "assetsReader", "db" : "assets" } ]