mongodb-dba-workshop

Authorization

ต้องทำในส่วนของ Authentication ก่อนนะครับ

1. เข้าใช้งานด้วย username และ password ของ globalUserAdmin

  1. เข้าใช้งาน mongo shell ด้วยการใช้ username และ password ที่เราสร้างไว้
mongosh -u globalUserAdmin -p  localhost:27017
  1. สลับมาใช้งาน admin database
use admin
  1. สร้าง User ที่สามารถดูข้อมูลบน sample_mflix database ได้อย่างเดียว
db.createUser(
  {
    user: "analystUser",
    pwd: passwordPrompt(),        
    roles: [
      { role: "read", db: "sample_mflix" },
    ]
  }
  1. กรอกตั้งรหัสผ่านของ เมื่อมีการถาม
  2. เสร็จแล้วออกจาก mongo shell ด้วยการใช้คำสั่ง quit() หรือ ctrl + D

2. ทดสอบเข้าใช้งาน

  1. เข้าใช้งาน mongo shell ด้วยการใช้ username และ password ที่เราสร้างไว้
mongosh "mongodb://analystUser@localhost:27017/sample_mflix?authSource=admin"
  1. รันคำสั่งเพื่อแสดง collection ที่อยู่ใน sample_mflix database
show collections
  1. ทดสอบ query document ใน collection
db.movies.findOne()
  1. ออกจาก mongoshell session
quit()

3. ลบ Built-In Role ออกจาก database user

  1. เข้าใช้งาน mongo shell ด้วย username และ password ของ globalUserAdmin
mongosh --username globalUserAdmin
  1. สลับมาใช้งาน admin database
use admin
  1. เช็คข้อมูลของ analystUser
db.getUser("analystUser")
  1. ลบ read role ออกจาก sample_mflix โดยใช้คำสั่งด้านล่าง
db.revokeRolesFromUser(
    "analystUser",
    [
      { role: "read", db: "sample_mflix" }
    ]
)
  1. เช็คข้อมูลของ analystUser อีกครั้ง
db.getUser("analystUser")
  1. ออกจาก mongo shell
quit()