การควบคุมการเข้าถึงแบบลำดับชั้น

การสร้างฐานข้อมูล PostgreSQL

Darryl Reeves

Industry Assistant Professor, New York University

การควบคุมการเข้าถึงด้วย schema

  • Schema — คอนเทนเนอร์สำหรับอ็อบเจกต์ในฐานข้อมูล
  • ใช้ schema เพื่อควบคุมการเข้าถึงได้
การสร้างฐานข้อมูล PostgreSQL

ตัวอย่าง: การใช้ schema ในฐานข้อมูล finances

  • คู่สมรสเข้าถึงฐานข้อมูล finances
  • ใช้ schema public เป็นค่าเริ่มต้น
  • สร้าง schema ใหม่ 2 ชุด: me และ spouse
CREATE SCHEMA me;
CREATE SCHEMA spouse;
CREATE TABLE me.account (...);
CREATE TABLE spouse.account (...);
การสร้างฐานข้อมูล PostgreSQL

การให้สิทธิ์ระดับ schema

CREATE USER better_half WITH PASSWORD 'changeme';
GRANT USAGE ON SCHEMA spouse TO better_half;
GRANT USAGE ON SCHEMA public TO better_half;
GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA spouse;

TO better_half;
GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public

TO better_half;

การควบคุมการเข้าถึงตาม schema พร้อมใช้งานแล้ว

การสร้างฐานข้อมูล PostgreSQL

การใช้ group

  • Group — ประเภท role ที่ครอบคลุมผู้ใช้หนึ่งคนหรือมากกว่า
  • ควบคุมการเข้าถึงในระดับ group ได้
CREATE GROUP family;
GRANT USAGE ON SCHEMA public TO family;
GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA

public TO family;
ALTER GROUP family ADD USER fin
ALTER GROUP family ADD USER better_half;
การสร้างฐานข้อมูล PostgreSQL

การเข้าถึงข้อมูลแบบแชร์และรายบุคคล

  • เปิดใช้การเข้าถึง schema public ร่วมกัน
  • schema แต่ละชุดควบคุมการเข้าถึงข้อมูลรายบุคคล
การสร้างฐานข้อมูล PostgreSQL

มาฝึกกันเถอะ!

การสร้างฐานข้อมูล PostgreSQL

Preparing Video For Download...