Kiểm soát truy cập phân cấp

Tạo cơ sở dữ liệu PostgreSQL

Darryl Reeves

Industry Assistant Professor, New York University

Kiểm soát truy cập với schema

  • Schema - vùng chứa có tên cho đối tượng DB
  • Có thể dùng schema để kiểm soát truy cập
Tạo cơ sở dữ liệu PostgreSQL

Ví dụ: dùng schema trong DB finances

  • Cấp quyền vợ/chồng vào DB finances
  • Schema public dùng mặc định
  • Hai schema mới: mespouse
CREATE SCHEMA me;
CREATE SCHEMA spouse;
CREATE TABLE me.account (...);
CREATE TABLE spouse.account (...);
Tạo cơ sở dữ liệu PostgreSQL

Cấp quyền trên 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;

Đã triển khai kiểm soát truy cập theo schema

Tạo cơ sở dữ liệu PostgreSQL

Sử dụng group

  • Group - một loại role đại diện cho một hay nhiều user
  • Có thể áp dụng kiểm soát truy cập ở mức 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;
Tạo cơ sở dữ liệu PostgreSQL

Truy cập dữ liệu chung và riêng

  • Bật truy cập chia sẻ cho schema public
  • Schema cá nhân kiểm soát quyền truy cập dữ liệu
Tạo cơ sở dữ liệu PostgreSQL

Hãy luyện tập!

Tạo cơ sở dữ liệu PostgreSQL

Preparing Video For Download...