美文网首页
Mongodb 集群启用密码验证1.md

Mongodb 集群启用密码验证1.md

作者: 平凡的运维之路 | 来源:发表于2019-10-02 14:48 被阅读0次

简介

  • 以及公司对安全重视,增加用户密码登录
  • 对于搭建好的mongodb副本集加分片集群,为了安全,启动安全认证,使用账号密码登录。
  • 默认的mongodb是不设置认证的。只要ip和端口正确就能连接,这样是不安全的。

具体操作

第一步关键 创建拥有添加删除用户权限的帐号
  • 创建用户,需要在分片上和对应mongos还有config的主节点上面
登录到mongos切换到admin库,如果不切换默认是在test库,会导致程序无法连接到mongodb 切记

db.createUser({
 user:"useradmin",
 pwd:"test110",
 roles: [ { role: "root",db:"admin"}]
}) 

db.auth("useradmin","test110")//认证该用户

开启分片集群权限验证
  • 首先生成一个添加keyFile文件----->用于认证使用

  • 1.在分片集群环境中,副本集内成员之间需要用keyFile认证,mongos与配置服务器,副本集之间也要keyFile认证,集群所有mongod和mongos实例使用内容相同的keyFile文件。

  • 2.进行初始化,修改副本集时,都从本地例外登录进行操作

  • 3.由于启用了认证,需要建立一个管理员帐号,才能从远程登录。建立管理员帐户,利用管理员账户从远程登录后,需要建立一个可以操作某个数据库的用户,客户端就用这个用户访问数据库。

  • 4.分片集群中的管理员帐号需要具备配置服务器中admin和config数据库的读写权限,才能进行分片相关操作

  • 5.集群中每个分片有自己的admin数据库,存储了集群的各自的证书和访问权限。如果需要单独远程登录分片,可以按照3.2的办法建立用户

  • 操作步骤

openssl rand -base64  test110 > ./keyFile.key
chmod 600 ./keyFile.key   #权限必须是600
scp ./keyFile.key   #到对应的在分片和Configserver的config配置文件路径下

  • Shard和Configserver配置文件添加相关配置信息
#开启权限验证
auth=true
keyFile=/home/mongodb/config/keyFile.key
  • mongos配置文件中添加如下配置
#指向keyFile
keyFile=/usr/local/mongodb/key/keyFile.key

  • 快速添加
echo "keyFile=/home/mongodb/config/keyFile.key"  >>  config*
echo "keyFile=/home/mongodb/config/keyFile.key"  >>  mongos*
echo "keyFile=/home/mongodb/config/keyFile.key"  >>  shard1*
echo "keyFile=/home/mongodb/config/keyFile.key"  >>  shard2*
echo "keyFile=/home/mongodb/config/keyFile.key"  >>  shard3*

echo "auth=true"  >>  config*
echo "auth=true"  >>  shard1*
echo "auth=true"  >>  shard2*
echo "auth=true"  >>  shard3*
测试登录
  • 测试
mongo 192.168.128.10 -u admin -p test110

  • 对应的业务程序升级增加配置配置用户名和密码,并验证业务是否正常。
还原回退操作
  • 把如下配置还原

Shard和Configserver配置文件取消添加相关配置信息
#开启权限验证
auth=true
keyFile=/home/mongodb/config/keyFile.key

mongos配置文件中添加取消如下配置
#指向keyFile
keyFile=/usr/local/mongodb/key/keyFile.key

  • 快速回退
sed -i '/keyFile/d'    config*
sed -i '/keyFile/d'    mongos*
sed -i '/keyFile/d'    shard1*
sed -i '/keyFile/d'    shard2*
sed -i '/keyFile/d'    shard3*
sed -i '/auth=true/d'   config*
sed -i '/auth=true/d'   mongos*
sed -i '/auth=true/d'   shard1*
sed -i '/auth=true/d'   shard2*
sed -i '/auth=true/d'   shard3*
  • 重启mongodb服务,验证功能是否正常。

相关文章

  • Mongodb 集群启用密码验证1.md

    简介 以及公司对安全重视,增加用户密码登录 对于搭建好的mongodb副本集加分片集群,为了安全,启动安全认证,使...

  • MongoDB 触发器,监听库/表变更记录

    MongoDB 3.6版本之后支持Change Stream,,当MongoDB开启集群(副本集)时可以启用。此文...

  • Ubuntu设置key登录 禁止root

    增加用户 设置密码 创建目录 授权 设置key登录 禁止密码验证 启用密钥验证 禁止root用户登录 指定公钥数据...

  • datagrip连接mongodb 和常用查询

    DATAGRIP连接mongodb: 1、创建连接 2、下载驱动配置集群地址 账号密码 数据库名 MongoDB ...

  • ES 安全

    为集群设置密码 设置ES 启动ES,集群名为esclu,数据目录为node0_data,启用xpack.secur...

  • 管理ElasticSearch集群

    集群身份认证与用户鉴权 如何为集群启用X-Pack Security 如何为内置用户设置密码 设置 Kibana与...

  • Mongodb基本操作

    1.启动(需要密码验证): /usr/local/mongodb/bin/mongod --dbpath=/usr...

  • MongoDB简单认证

    认证 验证是验证客户身份的过程。当启用访问控制(即授权)时,MongoDB要求所有客户端进行身份验证以确定其访问权...

  • 数据库安全 —— 身份验证

    目录: 认证方法 认证机制 内部身份验证 分片集群的认证 前言:身份验证是验证客户端身份的过程。当启用访问控制(即...

  • [server-notes] mongodb 在 CentOS

    默认情况下,mongodb没有启用访问控制,因此存在没有默认的用户或密码。要启用访问控制,请使用命令行选项-aut...

网友评论

      本文标题:Mongodb 集群启用密码验证1.md

      本文链接:https://www.haomeiwen.com/subject/lyaayctx.html