iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MongoDB启用身份验证
  • 832
分享到

MongoDB启用身份验证

2024-04-02 19:04:59 832人浏览 薄情痞子
摘要

mongoDB支持各种认证机制,以下启用独立 monGod 实例的访问控制,并使用默认身份验证机制。 用户管理员启用访问控制后,请确保在 admin 数据库中拥有 userAdmin 或 userAdmin

mongoDB支持各种认证机制,以下启用独立 monGod 实例的访问控制,并使用默认身份验证机制。

用户管理员
启用访问控制后,请确保在 admin 数据库中拥有 userAdmin 或 userAdminAnyDatabase 角色的用户。该用户可以管理用户和角色,例如:创建用户,授予或撤销用户角色,以及创建或修改定义角色。 可以在启用访问控制之前或之后创建用户。如果在创建任何用户之前启用访问控制,MongoDB会提示本地主机异常,允许在管理数据库中创建用户管理员。创建后,必须作为用户管理员进行身份验证,以根据需要创建其他用户。

以下过程首先将用户管理员添加到运行无访问控制的 MongoDB 实例,然后启用访问控制。

  1. 创建用户管理员
    在管理数据库中,添加具有 userAdminAnyDatabase 角色的用户。以下在 admin 数据库中创建用户justin:

注意:创建用户的数据库(在此示例中为admin)是用户的身份验证数据库。用户将对该数据库进行身份验证,但用户可以在其他数据库中担任角色; 即用户的认证数据库不限制用户的权限。

[root@localhost bin]# pwd
/opt/mongodb-3.4.6/bin
[root@localhost bin]# ./mongo --port 9981
MongoDB shell version v3.4.6
connecting to: mongodb://127.0.0.1:9981/
MongoDB server version: 3.4.6
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
    Http://docs.mongodb.org/
Questions? Try the support group
    http://groups.google.com/group/mongodb-user
Server has startup warnings: 
2017-12-20T00:45:44.490+0800 I CONTROL  [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
2017-12-20T00:45:44.490+0800 I CONTROL  [initandlisten] 
> use admin
switched to db admin
> db.createUser(               #回车
... {                                    #回车,下同
... user:"justin",
... pwd:"51cto",
... roles:[{role:"userAdminAnyDatabase",db:"admin"}]
... }
... )
Successfully added user: {
    "user" : "justin",
    "roles" : [
        {
            "role" : "userAdminAnyDatabase",
            "db" : "admin"
        }
    ]
}
> exit
bye
[root@localhost bin]# 

MongoDB启用身份验证

  1. 修改mongodb配置文件,启用认证
    
    [root@localhost bin]# cat ../conf/mongodb.conf 
    bind_ip = 0.0.0.0
    port = 9981
    fork = true
    dbpath = /opt/mongodb-3.4.6/data
    pidfilepath = /var/run/mongod.pid
    logpath = /opt/mongodb-3.4.6/logs/mongod.log
    logappend = true
    auth = true
    [root@localhost bin]# systemctl restart mongodb.service
    [root@localhost bin]# 
3. 以用户管理员身份进行连接和验证
在连接期间进行身份验证,使用-u <username>,-p <passWord>和--authenticationDatabase <database>
连接后验证,切换到身份验证数据库(在这种情况下为admin),并使用db.auth(<username>,<pwd>)方法进行身份验证

[root@localhost bin]# ./mongo --port 9981 -u "justin" -p "51cto" --authenticationDatabase "admin"
MongoDB shell version v3.4.6
connecting to: mongodb://127.0.0.1:9981/
MongoDB server version: 3.4.6

exit
bye
[root@localhost bin]# ./mongo --port 9981
MongoDB shell version v3.4.6
connecting to: mongodb://127.0.0.1:9981/
MongoDB server version: 3.4.6
use admin
switched to db admin
db.auth("justin","51cto")
1
exit
bye
[root@localhost bin]#


4. 根据需要创建其他用户
当管理员用户进行身份验证通过之后,可使用db.createUser()创建其他用户。可以为用户分配任何内置角色或用户定义的角色。

myUserAdmin用户只具有管理用户和角色的权限。如果使用myUserAdmin尝试执行任何其他操作,例如从ywbz数据库中的foo集合读取数据,MongoDB将返回错误。

以下操作将用户 csdp添加到在ywbz数据库中并给予ywbz数据库的readWrite角色以及在reporting数据库中读取角色。

注意:创建用户的数据库(在本示例中为ywbz)是该用户的身份验证数据库。虽然用户将对该数据库进行身份验证,但用户可以在其他数据库中担任角色; 即用户的认证数据库不会限制用户的权限。

[root@localhost bin]# ./mongo --port 9981 -u "justin" -p "51cto" --authenticationDatabase "admin"
MongoDB shell version v3.4.6
connecting to: mongodb://127.0.0.1:9981/
MongoDB server version: 3.4.6
> use ywbz
switched to db ywbz
> db.createUser(
... {
... user:"csdp",
... pwd:"51cto",
... roles:[{role:"readWrite",db:"ywbz"},      #用户csdp在数据库ywbz中执行读写操作权限
... {role:"read",db:"reporting"}]                 #用户csdp在数据库reporting中有读操作权限
... }
... )
Successfully added user: {
    "user" : "csdp",
    "roles" : [
        {
            "role" : "readWrite",
            "db" : "ywbz"
        },
        {
            "role" : "read",
            "db" : "reporting"
        }
    ]
}
> exit
bye
[root@localhost bin]# 

MongoDB启用身份验证

您可能感兴趣的文档:

--结束END--

本文标题: MongoDB启用身份验证

本文链接: https://www.lsjlt.com/news/39664.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mongodb身份验证失败如何解决
    在MongoDB中,身份验证失败可能是由于以下几个原因造成的:1. 用户名或密码错误:请确保输入的用户名和密码正确,并且区分大小写。...
    99+
    2023-08-24
    mongodb
  • PHP 身份验证
    HTTP 身份验证向客户端发送特殊的 HTTP 标头,并要求提供身份验证代码以访问该页面。 它是一种 PHP 内置方法,用于验证用户是否执行特定任务。PHP 有两种 HTTP 身份验证方法,Basi...
    99+
    2024-02-27
  • Mongodb中的身份验证方式有哪些
    本篇文章给大家分享的是有关Mongodb中的身份验证方式有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1. 介绍不管数据库是在多安全的环...
    99+
    2024-04-02
  • Kerberos身份验证问题
    Kerberos是一种网络身份验证协议,用于验证用户和服务器之间的身份。它使用票据传输技术,通过在客户端和服务器之间传递票据来实现身...
    99+
    2023-09-08
    Kerberos
  • 亚马逊身份证验证器
    亚马逊身份证验证器通常会在计算机或移动设备上运行,通过摄像头和麦克风来获取用户的身份信息,例如他们的脸部特征、指纹、虹膜等。然后,这些信息会被加密并传输到亚马逊的服务器上,以确保用户的账户安全。 有些亚马逊身份证验证器还可以使用密码和生物...
    99+
    2023-10-27
    亚马逊 身份证
  • 启用skywalking身份安全认证
    目录 1.  Nginx部署 1.1更新系统软件包 1.2安装EPEL存储库 1.3安装Nginx 2.  修改 Nginx 配置文件 2.1.     字段解释 3. 创建存储用户名和密码的文件 3.1 安装htpasswd工具 3.2...
    99+
    2023-09-06
    nginx 运维 服务器
  • VB.NET如何验证LDAP用户身份
    这篇文章主要为大家展示了“VB.NET如何验证LDAP用户身份”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“VB.NET如何验证LDAP用户身份”这篇文章吧。首先,我要讲的LDAP不是微软的Ac...
    99+
    2023-06-17
  • 亚马逊身份验证器怎么用
    以下是如何使用亚马逊身份验证器的步骤: 在您的设备上安装 Amazon Echo Dot 或其他 Echo 设备。 连接到 Echo 设备并打开设备的 Amazon Connect Settings。 点击设备设置中的“安全性”选项卡,...
    99+
    2023-10-27
    亚马逊 身份验证
  • SSL证书如何验证网站身份
    SSL证书通过验证网站的身份来确保用户与网站之间的通信安全。验证网站身份的方式包括以下几种: 证书颁发机构(CA)验证:CA是负...
    99+
    2024-04-17
    SSL证书
  • MySQL新身份验证插件caching_sha2_password
    同事反馈了一个问题,MySQL客户端连接数据库的时候,提示这个错误, ERROR 2059 (HY000): Plugin caching_sha2_password could not be loa...
    99+
    2023-09-16
    mysql 数据库 java
  • 亚马逊验证身份信息
    如果您错过了验证身份的步骤,您可以尝试以下方法来解决问题: 检查您的电子邮件和账户通知:亚马逊通常会发送验证相关的电子邮件或在您的卖家中心账户中提供通知。检查您的电子邮件收件箱、垃圾邮件箱和亚马逊卖家中心账户,确保没有错过任何验证通知。...
    99+
    2023-10-27
    亚马逊 身份 信息
  • Node.js OAuth:身份验证的未来
    在当今数字时代,身份验证和授权对于保护用户数据和在线应用程序的安全至关重要。Node.js OAuth 是一种流行的框架,它通过提供一种标准化且安全的方法来处理第三方应用程序的认证和授权,极大地简化了应用程序开发。 什么是 OAuth...
    99+
    2024-02-19
    Node.js OAuth 身份验证 授权 安全
  • 使用 PHP Curl 执行 HTTP 身份验证
    本文介绍如何在 Ubuntu 中使用 PHP cURL 执行 HTTP 身份验证。 php-curl 简介 cURL(客户端 URL)是一个命令行实用程序,用于发送或接收数据和文件。 它使用 ...
    99+
    2024-02-27
  • 亚马逊服务器身份验证
    AWS Ignite旨在确保只有拥有AWS Token的用户才能访问受保护的资源,包括AWS VIP 服务、存储空间和数据库。此外,AWS Ignite还保护您的数据和应用程序,使其免受未经授权的访问和数据泄露。 要使用AWS Ignit...
    99+
    2023-10-27
    亚马逊 身份验证 服务器
  • 带 cookie 身份验证的 Golang Websocket (Gorilla)
    在Web开发中,身份验证是一个必不可少的功能,而基于cookie的身份验证是一种常见的方式。Golang作为一种高效、简洁的编程语言,拥有强大的Web开发能力。本文将介绍如何使用Gor...
    99+
    2024-02-11
  • ASP.NET Core中Cookie验证身份用法详解
    目录添加配置ASP.NET Core 1.xASP.NET Core 2.x创建身份认证CookieASP.NET Core 1.xASP.NET Core 2.xSigning o...
    99+
    2024-04-02
  • Asp.net core中怎么使用cookie验证身份
    今天就跟大家聊聊有关Asp.net core中怎么使用cookie验证身份,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。ASP.NET Core Identity 是一个完整的全功能...
    99+
    2023-06-17
  • Java如何实现身份证号码验证
    小编给大家分享一下Java如何实现身份证号码验证,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体如下:package xxx;import ...
    99+
    2023-05-31
    java
  • jQuery如何使用正则验证15/18身份证
    小编给大家分享一下jQuery如何使用正则验证15/18身份证,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!最好的jQuery正...
    99+
    2024-04-02
  • Java身份证验证方法实例详解
    Java身份证验证方法实例详解身份证号码验证 1、号码的结构 公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。排列顺序从左至右依次为:六位数字地址码,      八位数字出生日...
    99+
    2023-05-31
    java 身份证 验证
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作