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

ความปลอดภัย ความสมบูรณ์ และการอนุญาตใน DBMS


ความปลอดภัยของฐานข้อมูล (Database Security)

มีหลายชั้น แต่ประเด็นหลักคือ:

การยืนยันตัวตน (Authentication)

ยืนยันว่าผู้เข้าถึงเป็นบุคคลที่ถูกต้อง สามารถทำได้ที่ระดับ OS หรือระดับฐานข้อมูล ใช้ระบบต่างๆ เช่น retina scanner, biometrics เพื่อป้องกันการเข้าถึงโดยไม่ได้รับอนุญาต

การอนุญาต (Authorization)

สิทธิ์ที่ Database Administrator มอบให้ ผู้ใช้เห็นเฉพาะข้อมูลที่ได้รับอนุญาตเท่านั้น

ประเภทของสิทธิ์ (Permissions):

  • Primary Permission: ให้สาธารณะและโดยตรง
  • Secondary Permission: ให้กลุ่ม และสืบทอดให้สมาชิกกลุ่ม
  • Public Permission: ให้ผู้ใช้ทุกคน
  • Context sensitive permission: ให้เฉพาะผู้ใช้บางกลุ่มที่เกี่ยวกับข้อมูลละเอียดอ่อน

ระดับการอนุญาต (Authorization Categories):

  • System Administrator: สิทธิ์สูงสุด สามารถรันคำสั่ง DBA เช่น restore, upgrade
  • System Control: สิทธิ์ควบคุมสูงสุด บำรุงรักษาได้ แต่เข้าถึงข้อมูลโดยตรงไม่ได้
  • System Maintenance: ระดับต่ำกว่า System Control บำรุงรักษาภายใน instance
  • System Monitor: ตรวจสอบและ snapshot ฐานข้อมูล

ความสมบูรณ์ของข้อมูล (Database Integrity)

ความถูกต้อง ความสม่ำเสมอ และความสมบูรณ์ของข้อมูล บังคับด้วย 3 constraints:

  • Entity Integrity: เกี่ยวกับ Primary Key ทุกตารางต้องมี PK ที่ระบุแถวได้อย่างเดียวและไม่เป็น NULL
  • Referential Integrity: เกี่ยวกับ Foreign Key คีย์ของ relation หนึ่งที่ถูกอ้างอิงใน relation อื่น
  • Domain Integrity: ทุกคอลัมน์ต้องมี domain ที่กำหนดไว้ชัดเจน