Postgresql www.elarion.com [email_address] Never stop improving quality
Presentation Template Role Database Roles Role Attributes Role Membership Function and Triggers
Database Roles Là một khái niệm hoàn toàn độc lập với tài khoản người dùng của hệ đều hành Cú pháp tạo và xóa Database Roles: CREATE ROLE name DROP ROLE name Presentation Template
Role Attributes (1/5) Database Role có một số thuộc tính như sau : Login  Cú pháp : CREATE ROLE name LOGIN CREATE USER name Hai cú pháp trên tương đương nhau nhưng CREATE USER mặc định là có thuộc tính LOGIN cho nên không cần khai báo nữa , còn CREATE ROLE thì không vì vậy phải cần khai báo thêm thuộc tính LOGIN
Role Attributes (2/5) Superuser Cú pháp : CREATE ROLE name SUPERUSER Đây là thuộc tính cho phép sử dụng tất cả các chức năng trong Postgresql , thuộc tính này rất nguy hiểm vì vậy nên sử dụng một cách cẩn thận khi phân quyền Để bảo mật hơn thì nên thêm thuộc tính NOREPLICATION  vì nếu không có thuộc tính này thì tự động sẽ có một chế độ sao chép quyền của một Superuser có sẵn
Role Attributes (3/5) Create database objects Cú pháp : CREATE ROLE name CREATEDB Thuộc tính này cho phép role này có thể tạo , xóa , sửa database Nếu là Superuser thì không phải khai báo thược tính này vì Superuser đã bao gồm bên trong
Role Attributes (4/5) Create roles Cú pháp : CREATE ROLE name CREATEROLE Thuộc tính này cho phép tạo , xóa , sửa role cũng như cấp quyền hoặc thu hồi những thành viên của role đó Thuộc tính này không đủ để thực hiện các chức năng trên đối với Superuser
Role Attributes (5/5) Initiating streaming replication and backups Cú pháp : CREATE ROLE name REPLICATION LOGIN Thuộc tính này cho phép khởi tạo một luồng sao chép và backup. Role này luôn luôn có thuộc tính LOGIN Password Cú pháp : CREATE ROLE name PASSWORD ‘ String’ Cho phép tạo role có password và được mã hóa md5
Role Membership (1/6) Role Membership giúp quản lý các Role một cách dễ dàng , bằng cách này quyền sẽ được cấp hoặc lấy lại từ một nhóm , và các thành viên của nhóm đó cũng bị ảnh hưởng Cú pháp : CREATE ROLE name Cú pháp tương tự tạo role nhưng không có thuộc tính LOGIN , Postgresql sẽ hiểu là một nhóm
Role Membership (2/6) Cú pháp cấp quyền cho role GRANT group_role TO  role1,role2… Cú pháp thu hồi quyền từ role REVOKE group_role FROM  role1,role2 ...
Role Membership (3/6) Inherits rights from parnet roles Đây là thuộc tính cho phép các role thuộc một nhóm kế thừa thuốc tính của nhóm Ví dụ : CREATE ROLE joe LOGIN INHERIT CREATE ROLE admin NOINHERIT CREATE ROLE wheel NOINHERIT GRANT admin TO joe GRANT wheel TO admin
Role Membership (4/6) Ngay lập tức sau khi joe đăng nhập , quyền sẽ được cấp cho joe và thêm vào đó là joe cũng được cấp thêm quyền từ admin , vì joe thừa kế từ admin , Tuy nhiên , quyền cấp cho wheel sẽ không có hiệu lực , thậm chí joe là thành viên dán tiếp của wheel , vì admin có thuộc tính NOINHERIT , nó không cho phép thừa kế quyền từ wheel, sau đó : SET ROLE admin Lệnh này sẽ cấp quyền cho admin mà không cấp cho joe , sau đó :
Role Membership (5/6) SET ROLE wheel Hệ thống sẽ cấp quyền cho wheel và không cấp quyền cho một trong hai joe hoặc admin Nhưng cũng có thể phục hồi bằng cách : SET ROLE joe SET ROLE NONE RESET ROLE SET ROLE luôn chấp nhận chọn bất cứ một role nào mà cơ bản và có thể đăng nhập
Role Membership (6/6) Xóa Role Cú pháp : DROP ROLE name
Presentation Template Questions & Answers ?
Presentation Template Thanks for your attention!

Role

  • 1.
    Postgresql www.elarion.com [email_address]Never stop improving quality
  • 2.
    Presentation Template RoleDatabase Roles Role Attributes Role Membership Function and Triggers
  • 3.
    Database Roles Làmột khái niệm hoàn toàn độc lập với tài khoản người dùng của hệ đều hành Cú pháp tạo và xóa Database Roles: CREATE ROLE name DROP ROLE name Presentation Template
  • 4.
    Role Attributes (1/5)Database Role có một số thuộc tính như sau : Login Cú pháp : CREATE ROLE name LOGIN CREATE USER name Hai cú pháp trên tương đương nhau nhưng CREATE USER mặc định là có thuộc tính LOGIN cho nên không cần khai báo nữa , còn CREATE ROLE thì không vì vậy phải cần khai báo thêm thuộc tính LOGIN
  • 5.
    Role Attributes (2/5)Superuser Cú pháp : CREATE ROLE name SUPERUSER Đây là thuộc tính cho phép sử dụng tất cả các chức năng trong Postgresql , thuộc tính này rất nguy hiểm vì vậy nên sử dụng một cách cẩn thận khi phân quyền Để bảo mật hơn thì nên thêm thuộc tính NOREPLICATION vì nếu không có thuộc tính này thì tự động sẽ có một chế độ sao chép quyền của một Superuser có sẵn
  • 6.
    Role Attributes (3/5)Create database objects Cú pháp : CREATE ROLE name CREATEDB Thuộc tính này cho phép role này có thể tạo , xóa , sửa database Nếu là Superuser thì không phải khai báo thược tính này vì Superuser đã bao gồm bên trong
  • 7.
    Role Attributes (4/5)Create roles Cú pháp : CREATE ROLE name CREATEROLE Thuộc tính này cho phép tạo , xóa , sửa role cũng như cấp quyền hoặc thu hồi những thành viên của role đó Thuộc tính này không đủ để thực hiện các chức năng trên đối với Superuser
  • 8.
    Role Attributes (5/5)Initiating streaming replication and backups Cú pháp : CREATE ROLE name REPLICATION LOGIN Thuộc tính này cho phép khởi tạo một luồng sao chép và backup. Role này luôn luôn có thuộc tính LOGIN Password Cú pháp : CREATE ROLE name PASSWORD ‘ String’ Cho phép tạo role có password và được mã hóa md5
  • 9.
    Role Membership (1/6)Role Membership giúp quản lý các Role một cách dễ dàng , bằng cách này quyền sẽ được cấp hoặc lấy lại từ một nhóm , và các thành viên của nhóm đó cũng bị ảnh hưởng Cú pháp : CREATE ROLE name Cú pháp tương tự tạo role nhưng không có thuộc tính LOGIN , Postgresql sẽ hiểu là một nhóm
  • 10.
    Role Membership (2/6)Cú pháp cấp quyền cho role GRANT group_role TO role1,role2… Cú pháp thu hồi quyền từ role REVOKE group_role FROM role1,role2 ...
  • 11.
    Role Membership (3/6)Inherits rights from parnet roles Đây là thuộc tính cho phép các role thuộc một nhóm kế thừa thuốc tính của nhóm Ví dụ : CREATE ROLE joe LOGIN INHERIT CREATE ROLE admin NOINHERIT CREATE ROLE wheel NOINHERIT GRANT admin TO joe GRANT wheel TO admin
  • 12.
    Role Membership (4/6)Ngay lập tức sau khi joe đăng nhập , quyền sẽ được cấp cho joe và thêm vào đó là joe cũng được cấp thêm quyền từ admin , vì joe thừa kế từ admin , Tuy nhiên , quyền cấp cho wheel sẽ không có hiệu lực , thậm chí joe là thành viên dán tiếp của wheel , vì admin có thuộc tính NOINHERIT , nó không cho phép thừa kế quyền từ wheel, sau đó : SET ROLE admin Lệnh này sẽ cấp quyền cho admin mà không cấp cho joe , sau đó :
  • 13.
    Role Membership (5/6)SET ROLE wheel Hệ thống sẽ cấp quyền cho wheel và không cấp quyền cho một trong hai joe hoặc admin Nhưng cũng có thể phục hồi bằng cách : SET ROLE joe SET ROLE NONE RESET ROLE SET ROLE luôn chấp nhận chọn bất cứ một role nào mà cơ bản và có thể đăng nhập
  • 14.
    Role Membership (6/6)Xóa Role Cú pháp : DROP ROLE name
  • 15.
  • 16.
    Presentation Template Thanksfor your attention!