8/14/2555

การให้ สิทธิ์

การให้สิทธิ์ในหารใช้หรือยกเลิกการใช้ข้อมูลแก่ผู้ใช้คนใดคนหนึ่งนั้น ระบบจัดการฐานข้อมูลมีกลไกที่จะระบุสิทธิ์เหล่านี้โดยผู้ที่มีอำนาจในการให้ สิทธิ์แก่ผู้ใช้อื่น ๆ เช่น ในระบบจัดการฐานข้อมูลเชิงสัมพันธ์บางประเภทมีคำสั่งที่ใช้ในการระบุการให้ สิทธิ์การใช้ข้อมูลเพื่อควบคุมความปลอดภัยของข้องมูลเพื่อให้เข้าใจถึงกลไก ที่ใช้ในการให้สิทธิ์แก่ผู้ใช้ ตัวอย่างคำสั่ง SQL ที่ใช้ใน ORACLE 8 มีดังนี้ คือ
 

คำสั่งที่ใช้ คือ
 
GRANT
 
ความหมายของ Option อาจจะเป็นดังนี้
Connect           หมายถึง            การกำหนดให้ผู้ใช้นั้น ๆ สามารถเข้าใช้งานในระบบได้ (log on) โดยสามารถใช้งานในระบบตามสิทธิ์ที่ได้ถูกกำหนดให้
Resource         หมายถึง            การกำหนดให้ผู้ใช้นั้น ๆ สามารถสร้างรีเลชั่นใหม่ (ตาราง) รวมถึงการทีดัชนี (Index)
DBA                 หมายถึง            การกำหนดให้ผู้ใช้นั้น ๆ เป็นผู้จัดการฐานข้อมูล ซึ่งเป็นผู้กำหนดสิทธิ์ให้ผู้ใช้
 
สมมุติให้กำหนดผู้ใช้ใหม่ ชื่อ CHAI และมีรหัสผ่าน คือ STUDENT 1 คำสั่ง SQL ที่ใช้ คือ
                       
GRANT CONNECT
                   TO CHAI
                   IDENTIFIED BY STUDENT 1;
 
2.      การให้สิทธิ์ในการใช้ฐานข้อมูล
อาจทำได้ ดังนี้ คือ
2.1     การให้สิทธิ์ในการเพิ่มหรือลบข้อมูลรีเลชั่นหนึ่ง ๆ
สมมุติว่า ผู้ใช้ A2 ได้สิทธิ์ในการเพิ่มหรือลบข้อมูลในรีเลชั่น EMPLOYEE และคำสั่ง SQL ทีใช้ในการให้สิทธิ์ดังกล่าว เป็นดังนี้ คือ
 
GRANT INSERT, DELETE ON EMPLOYEE, DEP TO A2;
 
            จากตัวอย่างนี้ จะเห็นว่าผู้ใช้ A1 สามารถใช้สิทธ์ผู้ใช้ A2 หรือคนอื่น ๆ ในการเพิ่มปรือลบข้อมูลได้ แต่ผู้ใช้ A2 ไม่ได้รับอนุญาตที่จะให้สิทธิ์ดังกล่าวให้ผู้ใช้คนอื่น ๆ ต่อไป
 
2.2     การให้สิทธิ์ในการเรียกดูข้อมูล
สมมุติผู้ใช้ A3 ได้สิทธิ์ในการเรียกดูข้อมูลจากรีเลชั้น EMPLOYEE และ DEP และอนุญาตให้ผู้ใช้ A3 ให้สิทธิ์กับผู้ใช้คนอื่นได้ (PROPAGATION OF PRIVILEGES) สมมุติในที่นี้คือ A4 คำสั่ง SQL ที่ใช้ในการให้สิทธิ์ดังกล่าวเป็นดังนี้ คือ
 
GRANT SELECT ON EMPLOYEE, DEP TO A3
              WITH GRANT OPTION;
 
ข้อความ “WITH GRANT OPTION” หมายความว่า A3 สามารถมอบสิทธิ์ในการเรียกดูข้อมูลจารรีเลชั่นทั้ง สองแก่ผู้ใช้อื่น เช่น A4 โดยใช้คำสั่ง ดังนี้
 
GRANT SELECT ON EMPLOYEE, DEP TO A4;
 
2.3     การให้สิทธิ์ในการสร้างดัชนี
สมมุติผู้ใช้ A3 ได้สิทธิ์ในการสร้างดัชนีของรีเล ชั่น EMPLOYEE คำสั่ง SQL ที่ใช้คือ
 
GRANT INDEX ON EMPLOYEE TO A3;
 
            สมมุติให้ผู้ใช้ A2 ได้รับสิทธิ์ในการปรับปรุงค่าของแอททริบิวต์ SALARY ในรีเลชั่น EMPLOYEE คำสั่งใน SQL ที่ใช้เป็นดังนี้
 
GRANT UPDATE ON EMPLOYEE (SALARY) TO A2;
           
2.4 การยกเลิกสิทธิ์ในการเรียกดูข้อมูล
ผู้ที่มีอำนาจ่ในการให้ สิทธิ์การเรียกดูข้อมูลแก่ผู้ใช้คนอื่น ๆ สามารถที่จะยกเลิกสิทธิ์ดังกล่าวได้สมมุติว่าผู้ใช้ A1 ต้องการยกเลิกสิทธิ์ในการเรียกดูข้อมูลจากรีเล ชั่น EMPLOYEE จากผู้ใช้ A3 คำสั่ง SQL ที่ใช้ในการยกเลิกสิทธิ์ เป็นดังนี้คือ
 
            REVOKE SELECT ON EMPLOYEE FROM A3;
 
            เมื่อใช้คำสั่งนี้ ระบบจัดการฐานข้อมูลจะยกเลิกสิทธิในการเรียกดูข้อมูลจากรีเลชั่น EMPLOYEE จากผู้ใช้ A4 ซึ่งได้รับสิทธิ์จาก A3 มาอีกทอดหนึ่งโดยอัตโน

0 ความคิดเห็น:

แสดงความคิดเห็น