งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

Security and Integrity

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "Security and Integrity"— ใบสำเนางานนำเสนอ:

1 Security and Integrity
Security : means protecting the data against unauthorized users. Integrity : means protecting it against authorized users. Internal Security - View Mechanism - Authorization Subsystem Security External Security - Login, Hardware Control

2 วิธีการที่ 1 DBA จะสร้างบัญชีผู้ใช้ (user account) ไว้ ซึ่งจะเก็บรายชื่อของผู้ที่มีสิทธิ เข้ามาใช้งานฐานข้อมูลได้ และมีการกำหนดให้ผู้ใช้แต่ละคนสามารถตั้งรหัสลับ (password) เป็นของตนเอง ดังนั้นคนที่จะเข้ามาใช้ระบบได้ นอกจากจะต้องมีชื่ออยู่ในบัญชีผู้ใช้แล้ว ผู้ใช้คนนั้นจะต้องสามารถป้อนรหัสลับของตนเองได้ถูกต้องด้วย จึงจะสามารถเข้าสู่ระบบได้ เพื่อเป็นการป้องกันไม่ให้ ผู้อื่นที่ไม่มีรายชื่อในบัญชีผู้ใช้ สามารถเข้ามาในระบบฐานบัญชีนี้ได้

3 วิธีการที่ 2 เป็นระดับของการป้องกันที่ DBA สามารถใช้คำสั่งผ่านทาง DBMS ด้วยคำสั่ง SQL ทำการสร้างวิว (view) ข้อมูลให้กับผู้ใช้แต่ละคน ให้สามารถใช้ข้อมูลได้เพียงบางส่วน ตามที่ DBA จะเป็นผู้กำหนดเพื่อเป็นการจำกัดการเข้าถึงข้อมูลของผู้ใช้ และนอกจากนี้ยังมีคำสั่งในการกำหนดสิทธิการเข้าถึงข้อมูลใด ๆ และการยกเลิกสิทธิดังกล่าวได้โดยตรง ด้วยคำสั่ง GRANT และ REVOKE ตามลำดับ

4 วิธีการที่ 3 ได้แก่การเข้ารหัสข้อมูล (Encryption) ซึ่งการป้องกันในระดับนี้ DBMS จะเป็นตัวจัดการอยู่แล้ว เนื่องจากข้อมูลที่เก็บอยู่ในฐานข้อมูลนั้นจะอยู่ในรูปแบบที่มีการเข้ารหัสเอาไว้ ผู้ที่จะอ่านข้อมูลในฐานข้อมูลได้รู้เรื่อง จะต้องเข้ามาโดยผ่าน DBMS เท่านั้น ผู้ที่จะเข้ามาใช้งานฐาน ข้อมูลโดยไม่ผ่าน DBMS จะไม่สามารถอ่านข้อมูลนั้นได้รู้เรื่อง

5 CREATE VIEW viewname (attributes list)
การสร้างวิวด้วยคำสั่ง SQL เราสามารถสร้างวิวได้ด้วยคำสั่ง SQL ซึ่งรูปแบบของคำสั่งการสร้างวิว จะมีดังนี้ CREATE VIEW viewname (attributes list) AS query

6 การกำหนดสิทธิการเข้าถึงข้อมูลใดและการยกเลิกสิทธิ
การสร้างวิวเปรียบเหมือนเป็นการสร้างรีเลชั่นสมมติจากรีเลชั่นจริงในฐานข้อมูล ซึ่งจะเป็นเพียงการซ่อนข้อมูลบางส่วน ให้ผู้ใช้เห็นเฉพาะข้อมูลบางส่วนที่เราต้องการให้เห็นเท่านั้น แต่ถ้าเราต้องการกำหนดว่าจะให้ใครสามารถใช้ข้อมูลในรีเลชั่นใดได้บ้าง และใช้ได้ในระดับใด เช่นดูได้อย่างเดียวแต่ห้ามปรับปรุงแก้ไข หรือปรับปรุงแก้ไขได้แต่ห้ามลบ ฯลฯ จะสามารถทำได้โดยการใช้คำสั่ง GRANT และถ้าจะยกเลิกสิทธิดังกล่าวจะทำได้โดยใช้คำสั่ง REVOKE

7 GRANT เป็นคำสั่ง SQL คำสั่งหนึ่งที่ใช้ในการกำหนดสิทธิให้แก่ผู้ใช้แต่ละคน ว่าจะให้ใครมีสิทธิในการจัดการข้อมูลในตารางหรือวิวใดได้บ้าง ซึ่งการจัดการข้อมูลนี้จะหมายถึงการเรียกใช้ข้อมูลเพื่อดู (SELECT) การเพิ่ม (INSERT) การลบ (DELETE) หรือ การแก้ไขปรับปรุง (UPDATE) รูปแบบของคำสั่ง GRANT เป็นดังนี้ GRANT privilege list ON relation or view name TO user list

8 1) GRANT SELECT ON TABLE WORKER TO WICHAI,PISAMAI
2) GRANT SELECT,UPDATE (HOUR_RATE) ON TABLE WORKER TO WICHAI 3) GRANT ALL ON TABLE PERS_ELECT TO WANPEN 4) GRANT SELECT ON TABLE SKILL TO PUBLIC 5) GRANT INDEX ON TABLE ASSIGN TO WISAN

9 คำสั่ง GRANT สามารถมีการให้สิทธิต่อกันเป็นทอด (cascade) ระหว่างผู้ใช้ได้ โดยการใช้คำสั่ง WITH GRANT OPTION ดังตัวอย่างต่อไปนี้ GRANT SELECT ON TABLE WORKER TO WICHAI WITH GRANT OPTION GRANT SELECT ON TABLE WORKER TO WANPEN WITH GRANT OPTION

10 REVOKE เป็นคำสั่งการยกเลิกสิทธิใด ๆ แก่ผู้ใช้ ตามที่ได้มีการใช้คำสั่ง GRANT มีรูปแบบคือ REVOKE privilege ON TABLE relation or view name FROM users list REVOKE SELECT ON TABLE WORKER FROM PISAMAI REVCKE SELECT,UPDATE ON TABLE WORKER FROM WICHAI REVOKE ALL ON TABLE PERS_ELECT FROM WANPEN REVOKE SELECT ON TABLE SKILL FROM PUBLIC

11 Integrity

12 FOREIGN KEY (ชื่อคีย์ IDENTIFILES ชื่อรีเลชั่นที่อ้างอิง
NULLS [NOT] ALLOWED DELETE OF ชื่อรีเลชั่นที่อ้างอิง ทางเลือก UPDATE OF ชื่อคีย์หลักในรีเลชั่นที่อ้างอิง ทางเลือก) CREATE TABLE CUSTOMER (CUSTOMER_NUMBER DECIMAL (3). NAME CHAR (15). ADDRESS CHAR (30). CURRENT_BALANCE DECIMAL (4,2). CREDIT_LIMIT DECIMAL (4). SLSREP_NUMBER DECIMAL (2). PRIMARY KEY (CUSTOMER_NUMBER) FOREIGN KEY (SLSEP_NUMBER IDENTIFILES SLSREP NULLS NOT ALLOWED DELETE OF SLSREP RESTRICTED UPDATE OF SLSREP.SLSREP_NUMBER CASCADES)

13 ความคงสภาพของ entity บัญญัติไว้ว่า
“attribute ทุกตัวที่เป็นส่วนของคีย์หลักจะไม่อนุญาตให้มีค่าว่าง” ทั้งนี้ความหมายของ ค่าว่าง ก็คือ ค่าที่ไม่ทราบแน่ชัด หรือค่าที่ไม่เหมาะสม หรือกล่าวอีกนัยหนึ่งก็คือค่าว่างจะเป็นค่าที่ ไม่อยู่ในกรอบของโดเมนนั่นเอง Entity Integrity Rule – “Primary key must not be null”

14 ความคงสภาพของการอ้างอิงบัญญัติไว้ว่า
“ถ้าเรามีรีเลชั่น R2 ซึ่งมี FK เป็นคีย์นอกที่อ้างถึงคีย์หลัก PK ในรีเลชั่น R1 สำหรับทุก ๆ ค่าของ FK ใน R2 จะต้อง มีค่าเท่ากับค่า PK ในทัพเพิลใดทัพเพิลหนึ่งในรีเลชั่น R1 หรือ มีค่าของ attribute ทุกตัวใน FK เป็นค่าว่าง” Referential Integrity Rule – “Foreign key must match Primary key ”

15 (ก) กระทำแบบเป็นทอดๆ (cascade) คือ การอนุญาตให้ทำได้ โดยระบบจะทำการลบ ข้อมูลที่มีคีย์นอกอ้างอิงถึงข้อมูลที่ออกคำสั่งให้ลบออกให้เอง (ข) ยอมแบบมีเงื่อนไข (restricted) คือการอนุญาตให้ลบเฉพาะเมื่อไม่ปรากฎข้อมูลที่อ้างอิงถึงข้อมูลที่ถูกข้อมูลที่ถูกออกคำสั่งให้ลบอยู่ในระบบเลย (ค) เปลี่ยนเป็นค่าว่าง (nullify) คือ การอนุญาตให้ลบโดยระบบจะทำการเปลี่ยนค่าของคีย์นอกในข้อมูลที่อ้างอิงถึงให้กลายเป็นค่าว่าง

16


ดาวน์โหลด ppt Security and Integrity

งานนำเสนอที่คล้ายกัน


Ads by Google