Kiểm soát cấp quyền tập trung

Một phần của tài liệu Giáo trình Cơ sở dữ liệu phân tán (Trang 66 - 67)

KIỂM SOÁT DỮ LIỆU NGỮ NGHĨA

6.2.1Kiểm soát cấp quyền tập trung

Ba tác nhân chính liên quan đến việc kiểm soát cấp quyền là: Người sử dụng; các thao tác được gắn vào ứng dụng và các đối tượng CSDL sẽ được các thao tác tác động vào. Một cấp quyền (authorijation) có thể xem là bộ ba (người sử dụng, loại thao tác và định nghĩa đối tượng, nó xác định rằng người sử dụng có quyền thực hiện thao tác thuộc loại này trên đối tượng. Để kiểm soát được quyền, đòi hỏi DBMS phải định nghĩa người sử dụng, các đối tượng và các quyền.

Khai báo người sử dụng thường phải có cá tên (user name) và mật khẩu (password), cả hai giá trị này đều phải được trình ra khi đăng nhập vào hệ thống.

Các đối tượng cần được bảo vệ là các tập con của CSDL. Hệ thống quan hệ có thể bảo vệ được các đối tượng ở nhiều mức chi tiết: đối tượng có thể được định nghĩa bằng kiểu của chúng (như khung nhìn, quan hệ, bộ, thuộc tính) cũng như bằng nội dung của chúng thông qua tự chọn. ở 4.1 cũng được đưa ra và một cơ chế bảo vệ, đó là che khuất các tập con của quan hệ (bộ, hoặc thuộc tính) đối với những người sử dụng không được phép.

Quyền biểu thị mối liên hệ giữa người sử dụng và một đối tượng với một tập các thao tác cụ thể . Một thao tác là một câu lệnh bậc cao như SELECT, INSERT,

UPDATE hoặc DELETE,… Trao quyền hoặc thu hồi quyền có thể được định nghĩa bởi câu lệnh sau:

GRANT<Kiểu thao tác> ON <Đối tượng> TO <Người sử dụng> REVOKE<Kiểu thao tác> FROM <Đối tượng> TO <Người sử dụng>

Từ khoá public dùng để cho phép mọi người đều được quyền, việc trao và thu hồi quyền chỉ được thực hiện bởi người quản trị.

Một các trao quyền phức tạp nhưng linh hoạt hơn là kiểm soát phi tập trung – người tạo ra đối tượng sẽ là chủ nhân và có quyền trao quyền cho những người được phép sử dụng các đối tượng đó. Trao quyền cho người sử dụng có nghĩa là cho họ được quyền sử dụng lện GRANT. Trao quyền kiểu này sẽ tạo ra một cây phân cấp. Việc thu hồi quyền ở 1 cấp nào đó sẽ được thực hiện chỉ sau khi quyền của các cấp con của nó đã được thu hồi.

Quyền của các chủ thể trên các đối tượng được lưu trong hồ sơ cơ cấu (nghĩa là thư mục) dưới dạng các qui tắc cấp quyền. Có nhiều cách đê làm việc đó. Cách hay nhất là dùng ma trận cấp quyền với hàng tiêu đề cột là trên đối tượng tiêu đề hàng là tên chủ thể, ô tương ứng là các thao tác được phép. Chẳng hạn, một thao tác được phép cho cặp <Người sử dụng, đối tượng> = <Jones, EMP> có thể là:

SELECT *

WHERE TITLE = “Syst.Anol” FROM EMP

Cho phép Jones chỉ được truy xuất đến các bộ của các phần trên viền hệ thống. Hình 4.4 cho ví dụ về ma trận cấp quyền trong đó đối tượng gồm là hai quan hệ EMP và ASG và một thuộc tính là ENAME, còn người sử dụng là Casey, Jones và Smith.

EMP ENAME ASG

Casey UPDATE UPDATE UPDATE

Jones SELECT SELECT SELECT WHERE RESP ≠ “Manager”

Smith NONE SELECT NONE

Hình 6.4: Ví dụ về ma trận cấp quyền

Một phần của tài liệu Giáo trình Cơ sở dữ liệu phân tán (Trang 66 - 67)