[DB2] Restrictive Database

หลายคนอาจจะสงสัยว่า Restrictive Database ตัว Option นี้มันมาทำให้ชีวิตเราสบายขึ้น หรือ แย่ลงกันนะ มาลองดูที่ผมอธิบายครับ

  • ปกติแล้วตัว DB2 เวลาสร้าง Database ขึ้นมา มันจะสร้าง Public เข้ามาด้วยครับ ซึ่งจะมีสิทธิต่างๆ ให้มาโดย Default ครับ
  • ตัว DB2 เองพวก User ที่เข้าจัดการ Database ตัว DB2 มันไม่ได้จัดการนะครับ งานในส่วนนี้เป็นหน้าที่ของ OS ที่ติดตั้ง DB2 ครับ อย่างพวก AIX Linux Windows
  • ดังนั้นถ้ามี User ใหม่เกิดขึ้นบนเครื่อง Database Server มันได้สิทธิเข้าจัดการ DB2 ได้อัตโนมัติ เพราะสิทธิ Public ครับ อันตรายใช่เล่นเลยนะครับ
  • ดังนั้นทาง IBM DB2 เลยตัดปัญหาว่า เพิ่ม Option Restrictive เข้าไปครับเวลาสร้าง DB ให้มันไปตัดสิทธิของ Public ออกให้หมด

Restrictive Database สร้างอย่างไร ?

  • สร้างโดยการเติม Option Restrictive ต่อท้ายเข้าไปเลยครับ
  • การตรวจสอบสามารถใชั Query นี้ตรวจสอบครับ
  • หากยังเป็น Non-Restrictive Database อันนี้เราจะพบว่ายังมีข้อมูลของ PUBLIC ค้างอยู่ครับ รวมๆประมาณ 900 กว่าข้อ (ทดสอบบน DB2 11.5.4 นะครับ)

ข้อดีของ Restrictive Database

  • ไม่มี Public ทำให้มีความปลอดภัยมากขึ้น เพราะการเข้าถึงฐานข้อมูลทุกอย่างต้องมีการกำหนดสิทธิการเข้าถึงครับ

ข้อเสีย Restrictive Database

  • หาแหล่งข้อมูลยากมากครับ บางครั้งหลังจะสร้างฐานข้อมูลด้วย Option นี้ไปแล้ว พบว่า Application ของเราอยู่ๆ
  • แหล่งข้อมูล หรือ คำแนะนำของ Restrictive Database มีน้อยมากครับที่เจอมีเพียงเล่มเดียวเองครับ A practical guide to restrictive databases - IBM Community
  • การจะแก้ปัญหาต้องไล่ดู Log เท่านั้นครับ เป็นการที่ถึกอยู่พอสมควรเลยครับ
  • มันเปลี่ยนไประหว่าง Restrictive กับ Non-Restrictive ไม่ได้นะครับ ต้อง Drop DB และสร้างใหม่เลยครับ


Discover more from naiwaen@DebuggingSoft

Subscribe to get the latest posts to your email.