a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 數(shù)據(jù)庫 > MongoDB > 正文

基于Docker的MongoDB實現(xiàn)授權訪問的方法

2024-09-07 00:22:39
字體:
來源:轉載
供稿:網友

基于Docker部署一個數(shù)據(jù)庫實例通常比直接在服務器上安裝數(shù)據(jù)庫還要簡單,Gevin在開發(fā)環(huán)境中經常使用基于docker的數(shù)據(jù)庫服務,docker也漸漸成為Gevin在Linux上安裝MongoDB的首選方式,由于MongoDB默認是不用通過認證就能直接連接的,出于安全考慮,在公網上部署MongoDB時,務必設置authentication機制,以避免類似 "黑客贖金" 問題的發(fā)生。

那么,基于Docker拉起的MongoDB,如何實現(xiàn)通過用戶名密碼訪問指定數(shù)據(jù)庫呢?方法很簡單,但前提是要了解MongoDB授權訪問的機制,參考資料如下:

Enable Auth
Authentication
Role-Based Access Control

只要了解MongoDB授權訪問機制,直接按下面步驟一步步執(zhí)行就可以了。

1、創(chuàng)建MongoDB實例

為了少寫幾個命令,Gevin使用Docker Compose來創(chuàng)建MongoDB實例:

version: '2'services: mongo:  # restart: always  image: mongo:3.2  command: [--auth]  ports:   - "37017:27017"  volumes:   - /data/db

運行如下命令:

docker-compose up -d#----------# Result:#----------# Creating mongodb_mongo_1docker-compose ps#----------# Result:#----------#   Name        Command     State      Ports# --------------------------------------------------------------------------# mongodb_mongo_1  /entrypoint.sh --auth  Up   0.0.0.0:37017->27017/tcp

2、創(chuàng)建用戶管理員

首先要進入MongoDB容器內部,連上MongoDB,并切換到 admin 數(shù)據(jù)庫,這步可以通過下面命令完成:

docker exec -it mongodb_mongo_1 mongo admin#----------# Result:#----------# MongoDB shell version: 3.2.12# connecting to: admin# 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

然后創(chuàng)建一個user administrator:

db.createUser({   user: 'mongo-admin',   pwd: 'admin-initial-password',   roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] });#----------# Result:#----------Successfully added user: {  "user" : "mongo-admin",  "roles" : [    {      "role" : "userAdminAnyDatabase",      "db" : "admin"    }  ]}

3、創(chuàng)建訪問指定數(shù)據(jù)庫的用戶

創(chuàng)建了user administrator后,需要退出mongodb,并重新連接,然后用user administrator 訪問admin數(shù)據(jù)庫,并為目標數(shù)據(jù)庫創(chuàng)建目標用戶,其具體步驟如下:

(1)重新連接MongoDB數(shù)據(jù)庫

退出容器,重新用下面命令進入容器即可:

docker exec -it mongodb_mongo_1 mongo admin#----------# Result:#----------MongoDB shell version: 3.2.12connecting to: admin

(2)授權登錄admin

db.auth("mongo-admin","admin-initial-password")

(3)創(chuàng)建訪問指定數(shù)據(jù)庫的用戶

# Step1: switch to the specified database:use octblog# Step2: create a userdb.createUser( {  user: "gevin",  pwd: "gevin",  roles: [ { role: "readWrite", db: "octblog" },       { role: "readWrite", db: "octblog-log" } ] })#----------# Result:#----------#Successfully added user: {#  "user" : "gevin",#  "roles" : [#    {#      "role" : "readWrite",#      "db" : "octblog"#    },#    {#      "role" : "readWrite",#      "db" : "octblog-log"#    }#  ]#}
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 91麻豆精品国产91久久久更新资源速度超快 | 成人黄色免费网站 | 亚洲成年 | 美国特级a毛片免费网站 | 一区二区亚洲 | 国产免费高清 | 91精品国产一区二区三区蜜臀 | 91性高湖久久久久久久久_久久99 | 中文字幕一区二区三区不卡 | 欧美系列第一页 | 精品国产高清一区二区三区 | 久久久久久久一区 | 在线免费观看av片 | 亚洲国产精品99久久久久久久久 | 色视频网站在线观看 | 欧美一级一区 | 精品欧美一区二区三区在线观看 | 日韩欧美在线综合 | 九九热在线免费观看 | 亚洲h | 欧美最猛性xxxxx亚洲精品 | 四虎影院免费网址 | 日韩高清国产一区在线 | 日韩在线一区二区 | 精品国产一区二区三区在线观看 | 日本不卡视频 | 日韩久久久一区二区 | 色久视频 | 中文字幕一区二区三区精彩视频 | 国产成人高清视频 | 在线天堂中文在线资源网 | 久久不射电影网 | 亚洲精品久久久 | 狠狠躁天天躁夜夜添人人 | 亚洲人在线播放 | 99精品欧美一区二区三区 | 国产精品久久久久久一区二区三区 | 色爽av| 久久久久久久国产精品 | 亚洲精品久久久久久一区二区 | 欧美一级一区 |