首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Mongodb $external数据库无法创建具有用户定义角色的新用户

Mongodb是一种开源的、面向文档的NoSQL数据库管理系统,它具有高性能、可扩展性和灵活性的特点。Mongodb $external数据库是Mongodb中的一个特殊数据库,用于存储外部认证信息。

然而,Mongodb $external数据库无法创建具有用户定义角色的新用户。这是因为Mongodb $external数据库是用于外部认证的,它通过外部身份验证机制来验证用户身份,而不是使用Mongodb内部的角色和权限管理系统。

要创建具有用户定义角色的新用户,可以使用Mongodb内部的角色和权限管理系统。首先,需要在admin数据库中创建一个具有合适权限的用户,并为该用户分配适当的角色。然后,可以使用该用户登录并在其他数据库中创建具有用户定义角色的新用户。

以下是一些相关的腾讯云产品和产品介绍链接地址,可以帮助您更好地理解和使用Mongodb:

  1. 云数据库MongoDB:腾讯云提供的一种高性能、可扩展的MongoDB数据库服务。它提供了自动备份、容灾、监控等功能,可以帮助您轻松管理和运维MongoDB数据库。了解更多:云数据库MongoDB
  2. 云数据库TDSQL for MongoDB:腾讯云提供的一种兼容MongoDB协议的分布式数据库服务。它具有高可用、高性能、弹性扩展等特点,适用于大规模数据存储和高并发访问场景。了解更多:云数据库TDSQL for MongoDB

请注意,以上产品仅为示例,您可以根据实际需求选择适合的腾讯云产品。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

MongoDB 在系统数据库local上无法创建用户解决方法

我们知道,MongoDBOplog (operations log)记录了用户最近一段时间操作(时间长短主要受设置oplogSize和程序写入更新量影响)。...oplog位于local数据下面,为了将权限最小化,大家需要创建此库权限(还可以将权限细化到集合,再次不讨论)。 习惯性,在local数据库下面创建,但是报错了。...官网介绍,发现确实不可以在local数据库下面创建账号 其解决方案是,我们转到admin数据库下面,创建账号。  ...注意:(1)在程序端配置连接字符串时,相应需要添加登入验证数据库参数 --authenticationDatabase admin (2)通过NoSQLBooster登入时,Auth DB 选择执行创建命令数据库名字...,而通过 MongoDB shell 执行不报错。

1.7K10

数据库MongoDB-用户使用

MongoDB用户使用 创建DB管理用户 mongodb有一个用户管理机制,简单描述为,有一个管理用户组,这个组用户是专门为管理普通用户而设,暂且称之为管理员。...管理员通常没有数据库读写权限,只有操作用户权限, 因此我们只需要赋予管理员userAdminAnyDatabase角色即可。 另外管理员账户必须在admin数据库创建。...在MongoDB中如果数据库不存在use时会新建数据库。 # use sxt 切换到admin下 # use admin 注意:一定要在admin下创建,否则无法登录。...# db.sxt.insert({key:"value"}); 查看数据 # db.sxt.find() 更新用户角色 如果我们需要对已存在用户角色做修改,那么我们可以使用db.updateUser...()函数来更新用户角色

80920

MongoDB学习笔记-3、MongoDB权限介绍

数据库定义,赋予用户所有数据库dbAdmin权限 root 必须在admin数据库定义,超级账号,超级权限 1.2、创建管理用户 MongoDB有一个用户管理机制,简单描述为管理用户组,这个组用户是专门为管理普通用户而设...pwd:密码 customData:存放用户相关定义数据,该属性也可忽略 roles:数组类型,配置用户权限 示例: #创建一个新用户用户名和密码都为pbinlog db.createUser...()函数来更新用户角色。...【注意】:需要使用具有userAdmin或userAdminAnyDatabase或root角色用户才能执行。...删除用户时需要切换到该用户所在数据库。 【注意】:需要使用具有userAdmin或userAdminAnyDatabase或root角色用户才能执行。

56120

MongoDB系列---用户及权限管理02

2)pwd:新建用户密码 3)customData:存放一些用户相关定义数据,我们一般省略该属性。...如果正确输入命令后没有查看到新创建角色信息,那么我们需要重启MongoDB,然后再去查看(重启就是关闭MongoDB服务,然后开启MongoDB,忘记可以看我们系列上一篇博文) 就此我们创建角色并赋予了个简单权限就已经...就此我们普通用户就已经创建成功了 2.3 更新用户角色   如果我们需要对已存在用户角色做修改,那么我们可以使用db.updateUser()函数来更新用户橘色。...注意,该函数需要当前用户具有userAdminAnyDatabase 2.3.1 更新角色语法格式 db.updateUser( "roles":[{"role":"角色名称"},{"更新项 2"...注意:需要使用具有userAdminAnyDatabase角色管理员用户才可以删除其它用户 2.5.1 需求 我们使用db.dropUser()函数将day用户删除 2.5.2 切换数据库

1.3K20

MongoDB用户角色解释系列(上)

资源←动作←角色(权限)→用户 MongoDB提供内置角色,还允许您根据数据库特定需求定义角色。这些角色是根据对资源操作来定义。...如果你不创建此管理用户,则在启用访问控制时将无法登录或创建新用户角色。 2.1 本地主机异常 如果在没有创建至少一个管理用户情况下启用访问控制,则无法登录。...要做到这一点,你需要: 启用访问控制 连接到localhost接口 在管理数据库创建第一个用户,该用户必须具有足够权限来管理其他用户角色。...2.3 如何创建用户创建MongoDB用户之前,有必要考虑一下用户将要执行任务。可能会有几个具有相同权限级别的用户,所以最明智选择是创建一个角色并将其分配给每个用户。...角色定义角色成员可以执行任务,以及可以执行这些任务资源。MongoDB为最常见情景提供内置角色。但是,也允许我们根据自己特定需求创建自己角色。每个角色作用域都限定在创建数据库中。

1.5K20

python数据库-MongoDB安装(53)

() # 查询 { "_id" : ObjectId("5d28a0aad9b981703296bede"), "h_name" : "李白" } 五、mongoDB创建用户和删除用户 1、创建用户...; pwd字段,用户密码; cusomData字段,为任意内容,例如可以为用户全名介绍; roles字段,指定用户角色,可以用一个空数组给新用户设定空角色; 在roles字段,可以指定内置角色用户定义角色...删除当前库所有用户 六,基于角色访问控制(Role-Based Access Control) 角色是授予User在指定资源上执行指定操作权限,MongoDB官方手册对角色定义是: A role...MongoDB为了方便管理员管理权限,在DB级别上预先定义了内置角色;如果用户需要对权限进行更为细致管理,MongoDB允许用户创建定义角色,能够在集合级别上控制User能够执行操作。...预定义角色,操作资源是在DB级别上。

79120

MongoDB从入门到实战之Docker快速安装MongoDB

user字段,为新用户名字。...pwd字段,用户密码。 cusomData字段,为任意内容,例如可以为用户全名介绍。 roles字段,指定用户角色,可以用一个空数组给新用户设定空角色。...在roles字段,可以指定内置角色用户定义角色。 超级用户role有两种,userAdmin或者userAdminAnyDatabase(比前一种多加了对所有数据库访问,仅仅是访问而已)。...注:只能查看当前数据库用户,哪怕当前数据库admin数据库,也只能查看admin数据库创建用户。...首先切换到admin数据库中 # 进入admin数据库 use admin 创建admin超级管理员用户 指定用户角色数据库: (注意此时添加用户都只用于admin数据库,而非你存储业务数据数据库

74920

MongoDB用户角色解释系列(下)

如前所述,第一步是选择要创建用户数据库,然后单击“Users”按钮,填写所需数据,并将角色授予它。 延伸阅读:阅读我们《在Studio 3T中创建新用户管理》深入指南。...用新用户进行登陆 >db.auth('juan','juanpwd') 1 给“test”数据库创建一个dbAdmin用户 > use admin switched to db admin db.createUser...我们已经知道如何在MongoDB中启用访问控制权限,如何管理用户角色,以及如何使用localhost异常。我们现在能够使用各种方便方法连接到数据库。...我们讨论了最重要内置角色,并且知道如何创建自己定义角色并将它们分配给用户。...最后,我们将逐步介绍如何在一个新包含三个数据节点副本集中启用访问控制,如何利用localhost异常创建第一个用户,以及如何为用户创建所需MongoDB角色

97410

Linux 安装 MongoDB

(db,文件名可自定义),一个是日志文件夹(logs,文件名可自定义),一个是配置文件(mongo.conf) 1、数据文件夹 mkdir db 2、日志文件夹 mkdir logs 3、创建配置文件...:[{"role" : "readWrite","db" : "lxcx"}]}); //创建这个数据库读写权限用户 user:用户名 pwd:密码 roles:指定用户角色,可以用一个空数组给新用户设定空角色...;在roles字段,可以指定内置角色用户定义角色。...内部角色:__system Read:允许用户读取指定数据库 readWrite:允许用户读写指定数据库 dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile...userAdmin:允许用户向system.users集合写入,可以找指定数据库创建、删除和管理用户 clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数管理权限

2.1K60

MySQL 8.0 ROLE管理

数据库里对应权限都可以指定赋予,那么角色作用是什么? 数据库角色是一个命名权限集合,为了对许多拥有相似权限用户进行分类管理,定义角色概念。...与用户账户一样,角色可以具有授予和撤销它们特权。 比如:当多个用户分配复杂又细致权限时,角色作用就体现出来了。就是把一堆权限给一个角色新用户只要使用这个角色,就能有对应权限了。...OPTION 授予和撤销其他用户角色 2.my.cnf配置参数: 参数 说明 mandatory_roles 允许定义用户登录时强制权角色 activate_all_roles_on_login...是否激活角色 角色用户区别 1.不论创建用户还是角色都是在mysql.user表里: ?...备注:区别在于account_locked,password_expired 2.查了对应mysql库发现没有特别的role相关表,那是否可以理解 role其实也是用户,只是没有密码和锁住无法登录。

82310

mongodb用户管理

1.创建管理账号 mongodb安装好后第一次进入是不需要密码,也没有任何用户。...在安装MongoDB之后,先关闭auth认证,启动服务端: 现在需要创建一个帐号,该账号需要有grant权限,即:账号管理授权权限。...admin" } ]}) user:用户名 pwd:密码 roles:指定用户角色,可以用一个空数组给新用户设定空角色;在roles字段,可以指定内置角色用户定义角色。...内部角色:__system 具体角色: Read:允许用户读取指定数据库 readWrite:允许用户读写指定数据库 dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问...root:只在admin数据库中可用。超级账号,超级权限。 刚建立了 userAdminAnyDatabase 角色,用来管理用户,可以通过这个角色创建、删除用户

78430

实战 | MongoDB安装配置

在安装目录创建MongoDB配置文件 vi mongodb.conf,内容如下: systemLog: #MongoDB发送所有日志输出目标指定为文件 destination: file...user : "用户名", pwd : "密码”, roles:指定用户角色,可以用一个空数组给新用户设定空角色;在roles字段,可以指定内置角色用户定义角色。...我们除了需要设置数据库超级管理员以外,还可以给每个数据库设置单独管理员。...修改用户密码 db.auth('admin', 'xxxxxx') // 密码认证 MongoDB 数据库默认角色 数据库用户角色:read、readWrite 数据库管理角色:dbAdmin、dbOwner...超级用户角色(admin):root 客户端连接 这里我们使用 Navicat Premium 15 作为MongoDB客户端工具,当然也可以使用其他

55750

零基础学习MongoDB (三)—— 管理用户

在b站上听了几个老师课,有涉及到mongodb一些历史,比如删库勒索,因此开放数据库是很危险,所以我们需要给它们添加管理用户,这样为我们数据安全加一道墙 一、管理员类型 mongodb提供了很多了角色...,用于不同情境下对数据库进行管理: 数据库用户角色:read、readWrite 数据库管理角色: dbAdmin、 dbOwner、 userAdmin 集群管理角色:clusterAdmin、 clusterManager...、dbAdminAnyDatabase 超级用户角色:root 特别注意:dbOwner是某个数据库所有者,root拥有所有权限 二、创建超级管理员用户 mongodb自带admin数据库,是所有管理员集合...创建用户 通过db.createUser配置用户名,密码,权限,用户管理数据库 > use admin switched to db admin > db.createUser({user:"admin...更改用户权限只需要将,后面的pwd换成role,修改即可,可多个 四、删除用户 db.dropUser('username') 在有删除该库权限用户下,即可删除用户 五、创建某个数据库管理员 创建了一个只能管理

25620

MongoDB,入门看这一篇足矣!

输入如下命令,可以切换到admin数据库 use admin 输入db命令,还可以查询当前数据库 db 3.3、创建用户 默认情况下,是没有用户,也无法操作数据库,因此我们需要创建一个用户,同时给他分配权限...", db: "admin" } ] }) 其中字段含义如下: user:用户名字; pwd:用户密码; roles:指定用户角色,可以用一个空数组给新用户设定空角色。...MongoDB 角色定义如下: 角色类型 名称 描述 admin数据库角色 readAnyDatabase 只在admin数据库中可用,赋予用户所有数据库读权限 admin数据库角色 readWriteAnyDatabase...允许用户读写指定数据库 3.3.2、创建一个不受访问限制超级用户 如果你想创建一个不受访问限制超级用户,赋予root角色即可!...#删除数据库 db.dropDatabase() 3.4、创建集合 MongoDB 并无表这个概念,而对应定义叫:集合,我们在关系型数据库中看到表数据,在 MongoDB 中被定义为:文档,MongoDB

1.7K20

MongoDB 入门篇

一般而言,数据缺乏组织及分类,无法明确表达事物代表意义,它可能是一堆杂志、一大叠报纸、数种开会记录或是整本病人病历纪录。数据描述事物符号记录,是可定义为意义实体,涉及事物存在形式。...具有代表性数据管理系统有:Oracle、Microsoft SQL Server、Access、MySQL及PostgreSQL等。通常数据库管理师会使用数据库管理系统来创建数据库系统。   ...; pwd字段:用户密码; cusomData字段:为任意内容,例如可以为用户全名介绍; roles字段:指定用户角色,可以用一个空数组给新用户设定空角色; roles 字段:可以指定内置角色用户定义角色...进入app库删除app用户 use app db.dropUser("app") 1.6.4 自定义数据库 创建app数据库管理员:先登录到admin数据库 use app db.createUser...( { user: "admin", pwd: "admin", roles: [ { role: "dbAdmin", db: "app" } ] } ) 创建app数据库读写权限用户具有clusterAdmin

1.3K50

MongoDB运维与开发(四)---用户权限

// MongoDB运维与开发(四) // 上次文章中我们说到了MongoDB用户初始化,而且举了几个小例子来说明如何进行权限分配,今天我们更加系统来看这个问题 ?...角色用户关系是什么? 在MongoDB中,角色用户关系如下: ? 下面对这个图做个解释: 角色(role): 用于绑定具体操作权限与数据库,并授权给用户,使得用户具有访问和操作数据库权限。...角色分为内建角色和自定义角色,其中内建角色MongoDB本身自带角色,每个内建角色都有预设好权限;自定义角色允许管理者自行定义操作权限角色。...例如find、insert等 用户(user): 角色绑定对象,表示数据库用户具体登录时候账号。 例如下面这个语句中: yeyz就是用户,而userAdminAnyDatabase就是角色。...,否则无法执行更高权限操作,如果我们发生了账号误删除,所有管理者用户都被误删,可以利用下面的方法进行补救: 1、在配置文件中关闭访问参数,也就是我们auth参数 2、登录MongoDB创建一个新管理权限账户

87720

MongoDB认证和授权

MongoDB认证和授权 要想了解MongoDB权限必须先了解如下一些关键字: user: 用户,用于提供客户端连接MongoDB认证账户; role: 角色,数据权限集合,创建用户时候必须要指定对应角色...在权限以外,用户无法访问系统数据库角色创建用户role参数中设置。角色分为內建角色和自定义角色。 內建角色 MongoDB內建角色包括以下几类: 1....数据库管理员角色 dbAdmin:允许用户进行索引创建、删除,查看统计或访问system.profile,但没有角色用户管理权限; userAdmin:提供了在当前数据库创建和修改角色用户能力...内部角色 __system:提供对数据库中任何对象任何操作特权; 自定义角色 MongoDB内置角色一般来说都是够用,但当内置角色不满足需求时就可以自定义角色了。...如果既想实现精细化权限控制又想简化用户管理,原则上建议只给开发创建一个账户,并且使用admin做认证库,这样可以避免清理过期业务库而导致无法登陆问题。

5.1K20
领券