วิธีสร้างผู้ใช้และเพิ่มบทบาท MongoDB

MongoDB สร้างผู้ใช้ผู้ดูแลระบบ

การสร้างผู้ดูแลระบบผู้ใช้ใน MongoDB ทำได้โดยใช้เมธอด createUser ตัวอย่างต่อไปนี้จะแสดงวิธีดำเนินการนี้

db.createUser(
{	user: "Guru99",
	pwd: "password",

	roles:[{role: "userAdminAnyDatabase" , db:"admin"}]})

MongoDB สร้างผู้ใช้ผู้ดูแลระบบ

คำอธิบายรหัส:

  1. ขั้นตอนแรกคือการระบุ “ชื่อผู้ใช้” และ “รหัสผ่าน” ที่ต้องการสร้าง
  2. ขั้นตอนที่สองคือการกำหนดบทบาทให้กับผู้ใช้ เนื่องจากจะต้องเป็นผู้ดูแลฐานข้อมูล ซึ่งในกรณีนี้เราได้มอบหมายบทบาท “userAdminAnyDatabase” แล้ว บทบาทนี้อนุญาตให้ผู้ใช้มีสิทธิ์ผู้ดูแลระบบในฐานข้อมูลทั้งหมด MongoDB.
  3. พารามิเตอร์ db ระบุฐานข้อมูลผู้ดูแลระบบซึ่งเป็นฐานข้อมูล Meta พิเศษภายใน MongoDB ซึ่งเก็บข้อมูลสำหรับผู้ใช้รายนี้

หากดำเนินการคำสั่งสำเร็จ จะแสดงผลลัพธ์ต่อไปนี้:

Output:

MongoDB สร้างผู้ใช้ผู้ดูแลระบบ

ผลลัพธ์แสดงว่าผู้ใช้ชื่อ “Guru99” ถูกสร้างขึ้น และผู้ใช้รายนั้นมีสิทธิ์เหนือฐานข้อมูลทั้งหมดใน MongoDB.

MongoDB สร้างผู้ใช้สำหรับฐานข้อมูลเดียว

ในการสร้างผู้ใช้ที่จะจัดการฐานข้อมูลเดียว เราสามารถใช้คำสั่งเดียวกับที่กล่าวข้างต้น แต่เราจำเป็นต้องใช้ตัวเลือก “userAdmin” เท่านั้น

ตัวอย่างต่อไปนี้แสดงให้เห็นถึงวิธีดำเนินการนี้

MongoDB สร้างผู้ใช้สำหรับฐานข้อมูลเดียว

db.createUser(
{
	user: "Employeeadmin",

	pwd: "password",

	roles:[{role: "userAdmin" , db:"Employee"}]})

คำอธิบายรหัส:

  1. ขั้นตอนแรกคือการระบุ “ชื่อผู้ใช้” และ “รหัสผ่าน” ที่ต้องการสร้าง
  2. ขั้นตอนที่สองคือการกำหนดบทบาทให้กับผู้ใช้ ซึ่งในกรณีนี้เนื่องจากจะต้องเป็นผู้ดูแลระบบฐานข้อมูลจึงถูกกำหนดให้กับบทบาท "userAdmin" บทบาทนี้อนุญาตให้ผู้ใช้มีสิทธิ์ผู้ดูแลระบบเฉพาะกับฐานข้อมูลที่ระบุในตัวเลือก db
  3. พารามิเตอร์ db ระบุฐานข้อมูลที่ผู้ใช้ควรมีสิทธิ์ผู้ดูแลระบบ

หากดำเนินการคำสั่งสำเร็จ จะแสดงผลลัพธ์ต่อไปนี้:

Output:

MongoDB สร้างผู้ใช้สำหรับฐานข้อมูลเดียว

ผลลัพธ์แสดงว่าผู้ใช้ชื่อ "Employeeadmin" ถูกสร้างขึ้น และผู้ใช้รายนั้นมีสิทธิ์เฉพาะในฐานข้อมูล "Employee" เท่านั้น

การจัดการผู้ใช้

ขั้นแรกให้ทำความเข้าใจบทบาทที่คุณต้องกำหนด มีรายการบทบาททั้งหมดที่มีอยู่ใน MongoDB- ตัวอย่างเช่น มี “บทบาทการอ่าน” ซึ่งอนุญาตให้เข้าถึงฐานข้อมูลแบบอ่านอย่างเดียวเท่านั้น จากนั้นจึงมีบทบาท “อ่านเขียน” ซึ่งให้การเข้าถึงฐานข้อมูลแบบอ่านและเขียน ซึ่งหมายความว่าผู้ใช้สามารถออกการแทรก ลบ และ อัปเดตคำสั่งเกี่ยวกับคอลเลกชันในฐานข้อมูลนั้น

การจัดการผู้ใช้

db.createUser(
{
	user: "Mohan",

	pwd: "password",

	roles:[
	{
		role: "read" , db:"Marketing"},
    {
		role: "readWrite" , db:"Sales"}
	}
		  ]
})

ข้อมูลโค้ดด้านบนแสดงให้เห็นว่ามีการสร้างผู้ใช้ชื่อ Mohan และเขาได้รับมอบหมายหลายบทบาทในหลายฐานข้อมูล ในตัวอย่างข้างต้น เขาได้รับสิทธิ์อ่านอย่างเดียวในฐานข้อมูล "การตลาด" และสิทธิ์อ่านเขียนในฐานข้อมูล "การขาย"