Đặc quyền truy cập PostgreSQL

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

Darryl Reeves

Industry Assistant Professor, New York University

Vai trò và đặc quyền trong PostgreSQL

  • Người dùng là một loại vai trò
  • Cũng có thể tạo vai trò nhóm
  • Cấp quyền truy cập đối tượng DB cho vai trò
Tạo cơ sở dữ liệu PostgreSQL

Lệnh GRANT

  • Đặc quyền được chủ sở hữu “grant” cho vai trò
  • Lệnh GRANT cấp đặc quyền
  • Có thể cấp nhiều đặc quyền, gồm:
    • SELECT
    • DELETE
    • UPDATE
      GRANT p ON obj TO grantee;
      
Tạo cơ sở dữ liệu PostgreSQL

Ví dụ: CSDL tài chính cá nhân

CREATE TABLE account (
    id SERIAL PRIMARY KEY,
    short_name VARCHAR(25),
    provider_id INTEGER REFERENCES provider(id),
    balance DECIMAL
);
CREATE USER fin WITH PASSWORD '38\5)uk1+3&}*Y';
Tạo cơ sở dữ liệu PostgreSQL

Ví dụ: CSDL tài chính cá nhân

  • Người dùng fin cần truy cập bảng account
  • Quyền của fin
    • Thêm tài khoản mới
    • Cập nhật tài khoản
    • Truy vấn tài khoản
  • Superuser cấp đặc quyền
    GRANT INSERT ON account TO fin;
    
GRANT UPDATE ON account TO fin;
GRANT SELECT ON account TO fin;
Tạo cơ sở dữ liệu PostgreSQL

Đặc quyền sửa đổi bảng

  • Một số đặc quyền không thể cấp
  • Sửa bảng cần quyền sở hữu
ALTER TABLE account ADD COLUMN date_opened DATE;
ALTER TABLE account RENAME COLUMN short_name

TO nickname;
ALTER TABLE account OWNER TO fin;
Tạo cơ sở dữ liệu PostgreSQL

Ayo berlatih!

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

Preparing Video For Download...