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

การสร้างผู้ใช้ MongoDB บนฐานข้อมูลที่มีอยู่พร้อมกำหนด Role

สร้างผู้ใช้ใหม่และกำหนดสิทธิ์ด้วย createUser()

ใช้คำสั่ง db.createUser() เพื่อสร้างผู้ใช้ใหม่ในฐานข้อมูลปัจจุบัน พร้อมกำหนด Role (บทบาท) และ Authentication Mechanism

คำสั่งสร้างผู้ใช้

> db.createUser({
  user: "John",
  pwd: "123456",
  roles: [{ role: "readWrite", db: "test" }],
  mechanisms: ["SCRAM-SHA-256"]
});

ผลลัพธ์

Successfully added user: {
  "user": "John",
  "roles": [{ "role": "readWrite", "db": "test" }],
  "mechanisms": ["SCRAM-SHA-256"]
}

คำสั่งแสดงรายชื่อผู้ใช้ทั้งหมด

> db.getUsers();

ผลลัพธ์

[
  {
    "_id": "test.John",
    "user": "John",
    "db": "test",
    "roles": [{ "role": "readWrite", "db": "test" }],
    "mechanisms": ["SCRAM-SHA-256"]
  }
]

Role พื้นฐานที่ใช้บ่อย

Role ระดับ Cluster (Admin Database)

  • root: สิทธิ์สูงสุดทั้งคลัสเตอร์
  • clusterAdmin: จัดการคลัสเตอร์
  • backup/restore: สำหรับการสำรอง/กู้คืนข้อมูล

ข้อแนะนำด้านความปลอดภัย

  • ใช้รหัสผ่านที่แข็งแกร่ง ไม่ใช้รหัสง่ายๆ
  • ให้สิทธิ์น้อยที่สุดที่เพียงพอ (Principle of Least Privilege)
  • ใช้ SCRAM-SHA-256 (default ใน MongoDB 4.0+)
  • เปิดใช้งาน TLS/SSL สำหรับการเชื่อมต่อ
Roleสิทธิ์
readอ่านได้อย่างเดียว
readWriteอ่านและเขียนได้
dbAdminจัดการดัชนี สถิติ ฯลฯ
userAdminจัดการผู้ใช้และ Role
dbOwnerสิทธิ์เต็มรูปแบบใน DB นั้น (รวม readWrite, dbAdmin, userAdmin)