Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB

สร้างผู้ใช้ใน MongoDB v3

การสร้าง User ใน MongoDB เวอร์ชัน 3.x

MongoDB 3.x ใช้เมธอด db.createUser() พร้อมระบบ Role-Based Access Control (RBAC) ที่แยกสิทธิ์ชัดเจน

รูปแบบคำสั่ง

use admin
db.createUser({
    user: "yourUserName",
    pwd: "yourPassword",
    roles: [
        { role: "yourPermission", db: "yourDatabase" }
    ]
});

ตัวอย่าง: สร้างผู้ใช้ Robert มีสิทธิ์ readWrite บนฐานข้อมูล sample

> use admin
switched to db admin
> db.createUser(
...     {
...         user: "Robert",
...         pwd: "robert",
...         roles: [ { role: "readWrite", db: "sample" } ]
...     }
... );
Successfully added user: {
    "user" : "Robert",
    "roles" : [
        {
            "role" : "readWrite",
            "db" : "sample"
        }
    ]
}

Built-in Roles หลัก

Roleสิทธิ์
readอ่านข้อมูลในฐานข้อมูลที่ระบุ
readWriteอ่าน/เขียนข้อมูลในฐานข้อมูลที่ระบุ
dbAdminงานบริหารจัดการฐานข้อมูล (Index, Stats, เป็นต้น)
userAdminจัดการ User และ Role ในฐานข้อมูลนั้น
dbOwnerรวม readWrite + dbAdmin + userAdmin
rootสิทธิ์สูงสุด ทุกฐานข้อมูล (เฉพาะใน admin)

ข้อสังเกตสำคัญ

  • ต้องรัน use admin ก่อนสร้าง User (User จะถูกเก็บในฐานข้อมูล admin)
  • ฟิลด์ db ใน roles ระบุว่า Role นั้นใช้ได้กับฐานข้อมูลไหน
  • MongoDB 3.0+ ใช้ SCRAM-SHA-1 เป็นค่าเริ่มต้น (3.6+ ใช้ SCRAM-SHA-256)