AN NINH CƠ SỞ DỮ LIỆU
Vấn đề về an ninh dữ liệu đã được nghiên cứu trong nhiều năm, tập trung vào
các vấn đề như: an ninh vật lý, điều khiển truy cập, mã hoá dữ liệu. An ninh dữ liệu
không chỉ bao gồm những tính chất như: độc lập dữ liệu, truy cập chia sẻ, toàn vẹn dữ
liệu mà còn có các tính chất sau: tính riêng tư, kiên định, sẵn sàng.
Các nghiên cứu về an ninh CSDL dựa trên những vấn đề như: an ninh vật lý, an ninh
trên hệ điều hành, an ninh trong hệ quản trị CSDL, và mã hoá dữ liệu. Ví dụ như việc
kiểm soát các truy cập, việc suy diễn trong một hệ quản trị CSDL cũng góp phần đảm
bảo tính bí mật, toàn vẹn, sẵn sàng của hệ thống đó. Hầu hết các mối đe doạ an ninh
của hệ CSDL bắt nguồn từ bên ngoài hệ thống. Các hệ thống hiện nay xác nhận người
dùng qua thông tin đăng nhập người dùng: tài khoản, mật khẩu. Sau khi hoàn thành
thủ tục đăng nhập, các tiến trình ứng dụng mới được tiến hành. Chúng hoạt động dưới
xác nhận của người dùng vừa hoàn thành thủ tục đăng nhập, gọi là người dùng hợp lệ.
Tuy nhiên người dùng hợp lệ cũng có thể làm thất thoát thông tin. Một số phương thức
xâm nhập hệ thống khai thác thông tin: xâm phạm quyền truy cập, suy luận logic và
kết nhập thông tin. Trong đó suy diễn logic là khi hacker sử dụng nhiều dữ liệu sẵn có
để suy luận dẫn những thông tin bí mật. Kết nhập thông tin gần giống với suy luận
logic. Bản thân dữ liệu đơn lẻ không mang thông tin bí mật, nhưng khi ta tập hợp
nhiều thông tin đơn lẻ đó ta sẽ có được những thông tin quan trọng bí mật. Ngoài ra
còn có các phương thức như: giả danh người dùng hợp lệ, vượt qua các cơ chế điều
khiển truy cập, duyệt thông tin, cài phần mềm ngoài mong muốn của người dùng.
1
1. Giới thiệu chung
1.1. Cơ sở dữ liệu
Theo wikipedia cơ sở dữ liệu (CSDL) được hiểu theo cách định nghĩa kiểu kĩ
thuật thì nó là một tập hợp thông tin có cấu trúc. Tuy nhiên, thuật ngữ này thường
dùng trong công nghệ thông tin và nó thường được hiểu rõ hơn dưới dạng một tập hợp
liên kết các dữ liệu, thường đủ lớn để lưu trên một thiết bị lưu trữ như đĩa hay băng.
Dữ liệu này được duy trì dưới dạng một tập hợp các tập tin trong hệ điều hành hay
được lưu trữ trong các hệ quản trị cơ sở dữ liệu.
Hiểu một cách đơn giản CSDL là tập hợp các dữ liệu liên quan đến nhau và các
chương trình truy cập đến dữ liệu. CSDL giúp cho các tiến trình xử lí dữ liệu được
thực hiện một cách thuận tiện và hiệu quả.
1.2. An ninh cơ sở dữ liệu
Thông tin được xem như nguồn tài nguyên có giá trị và quan trọng trong các
doanh nghiệp. Các hệ thống thông tin đã trở thành công cụ đắc lực phục vụ công tác
kinh doanh tại các doanh nghiệp, trong đó CSDL đóng vai trò quan trọng và sống còn
của công ty. Sự mất mát thông tin nhiều khi ảnh hưởng tới doanh thu cũng như kế
hoạch phát triển lâu dài.
Dữ liệu trong các doanh nghiệp bao gồm: các báo cáo tài chính, nhiều dữ liệu
khác là cơ sở cho sự thành công của các hoạt động trong doanh nghiệp. Chúng có thể
là những bí mật trong thương mại. Khái niệm về an toàn CSDL rất rộng, bảo vệ thông
tin như là: tránh mất mát thông tin, để lộ, truy cập trái phép, phá huỷ, sửa đổi…
An toàn CSDL liên quan tới việc đảm bảo tính bí mật, toàn vẹn và sẵn sàng của
dữ liệu.
- Bí mật: bảo vệ thông tin không bị truy cập trái phép một cách trực tiếp hay
gián tiếp, cố ý hay vô ý. Hơn nữa, chúng ta cũng tính cả khả năng thông tin bị lộ bởi
người dùng truy cập trái phép, hoạt động như một “kênh thông tin” chuyển các thông
tin bí mật tới những người không được cấp quyền.
- Toàn vẹn: bảo vệ thông tin không bị sửa đổi một cách ác ý hay vô tình, bao
gồm chèn dữ liệu sai, phá huỷ dữ liệu.
- Tính sẵn sàng: đảm bảo dữ liệu luôn sẵn sàng khi người dùng đăng nhập hợp
lệ cần sử dụng.
2
Các biện pháp giúp bảo vệ CSDL: điều khiển luồng thông tin, điều khiển suy
diễn, điều khiển truy cập. Đối với các biện pháp này, người ta có thể bổ sung thêm kỹ
thuật mã hoá. Mã hoá dữ liệu tức là các dữ liệu đã lưu trữ dưới dạng mã bí mật. Những
thông tin mã hóa này chỉ người có thẩm quyền mới mở và hiểu được nó.
2. Điều khiển truy cập
2.1. Định nghĩa
Điều khiển truy cập là trách nhiệm đảm bảo tất cả các truy cập đối tượng hệ
thống tuân theo kiểu cách và quy luật về bảo vệ dữ liệu. Một hệ thống điều khiển truy
cập gồm người sử dụng và các quá trình. Các chủ thể này khai thác dữ liệu, chương
trình thông qua các phép toán. Về chức năng hệ thống điều khiển truy cập có 2 phần:
- Tập các chính sách và luật truy cập: Đặt ra kiểu cách khai thác thông tin lưu
trữ trong hệ thống. Có thể là do người, quá trình.
- Tập các thủ tục điều khiển: Tập này kiểm soát các câu hỏi, cho phép hay từ
chối yêu cầu khai thác của các câu hỏi.
2.2. Chính sách an toàn
Chính sách an toàn liên quan đến việc thiết kế và quản lý các hệ thống cấp
quyền khai thác. Một cách thông thường nhất để đảm bảo an toàn dữ liệu là định tên
các đối tượng tham gia vào hệ thống và xác định quyền truy cập cho các đối tượng.
- Tên (identifier): Việc đặt tên là gán cho đối tượng một tên, hay một số theo
cách duy nhất. Không có sự trùng lặp giữa các tên.
- Uỷ quyền (authoirization): Là quyền khai thác một phép toán của một chủ thể
trên một đối tượng.
2.3. Giới hạn truy cập
Để trả lời cho câu hỏi bao nhiêu thông tin cung cấp cho một đối tượng là đủ?
Do vậy cần xác định giới hạn truy cập. Có hai chính sách cơ bản:
- Chính sách tối thiểu: Các đối tượng được sử dụng lượng tối thiểu các thông
tin cần thiết cho hoạt động. Đảm bảo với chính sách này thì người dùng đã có thể truy
cập vào dữ liệu, tạo thuận lợi cho truy cập.
- Chính sách tối đa: Chính sách này dựa vào nguyên tắc cung cấp lượng dữ liệu
nhiều nhất. Đối tượng được phép truy cập lên dữ liệu với quyền tối đa nào đó, như vậy
đảm bảo thông tin không bị xâm phạm vượt quá mức cho phép.
3
Có hai kiến trúc là hệ thống đóng và mở. Trong hệ thống đóng, chỉ các yêu cầu có
quyền khai thác mới được truy cập vào dữ liệu. Ngược lại, hệ thống mở nhấn mạnh
việc chia sẻ thông tin. Hệ thống này chỉ ngăn cấm các yêu cầu bị cấm.
Hình 1: Hệ thống đóng
Hình 2: Hệ thống mở
2.4. Quản lí quyền truy cập
Chính sách quản lý quyền truy cập có thể được dùng trong điều khiển tập trung
hoặc phân tán. Việc chọn điều khiển tập trung hoặc phân tán là một chính sách an toàn.
Tuy vậy cũng có thể kết hợp các điều khiển quản lý để có chính sách phù hợp:
- Phân quyền ra các cấp: Cơ chế điều khiển được thực hiện tại nhiều trạm điều
khiển tập trung có trách nhiệm điều khiển các trạm.
4
- Chọn quyền sở hữu: Khi mô tả quan hệ người ta mô tả người sở hữu và đảm
bảo quyền khai thác dữ liệu của họ trên bảng.
- Quyết định tập thể: Có tài nguyên do một tập thể sở hữu, do vậy khi có yêu
cầu truy cập nào thì cần phải có sự đồng ý của cả nhóm.
2.5. Các chính sách điều khiển truy cập
Chính sách này thiết lập khả năng và chỉ ra cách để các chủ thể trong hệ thống
và các đối tượng được nhóm lại, để dùng chung các điều khiển truy cập. Ngoài ra, các
chính sách còn cho phép thiết lập việc chuyển giao quyền truy cập.
2.6. Chính sách phân cấp
Chính sách này cũng có thể coi là chính sách điều khiển luồng thông tin vì nó
ngăn ngừa luồng thông tin đi về các đối tượng có độ ưu tiên thấp hơn. Hệ thống có các
mức phân loại như sau:
•
Top secret (TS)
•
Secret (S)
•
Confidential(C)
•
Unclassified (U)
2.7. Ma trận điều khiển truy cập (Access Control Matrix –ACM)
ACM là một công cụ hình thức cơ bản để thể hiện trạng thái bảo vệ hệ thống một cách
chi tiết và chính xác. Nó sẽ cung cấp thông tin chi tiết và chính xác rằng, tại thời điểm
đang xét, một tài nguyên nào đó có thể được truy cập bởi một NSD nào đó với những
quyền cho phép cụ thể xác định nào đó. Cụ thể là, mô hình được đặc trưng bởi bộ ba
(S,O,R) trong đó:
- S={s1,s2, …, sn}: tập hợp các chủ thể (subjects) có thể yêu cầu truy cập đến tài
nguyên, ví dụ như NSD (users) hay các tiến trình kích hoạt bởi NSD
− O={o1,o2, …, om}: tập hợp các đối tượng truy cập (objects) tức là các tài
nguyên, phổ biến là các tệp dữ liệu lưu trữ.
− R={r1,r2, …, rk}: tập các quyền cụ thể xác định sẵn mà mỗi phần tử của S có
thể có đối với mỗi phần tử của O
5
Trên lý thuyết, sự thiết lập của ma trận truy cập (ACM) là rất hữu lý. Tuy nhiên
nếu cài đặt trực tiếp một ma trận như vậy lại là không thể vì nó vừa quá lớn, vừa quá
lãng phí. Trong thực tế, một ma trận như vậy cho một hệ điều hành kiểu Unix sẽ lớn
không thể tưởng tượng được: cần nhớ rằng bất kỳ tệp dữ liệu nào cũng sẽ chiếm một
cột của bảng này. Lãng phí cũng rất lớn do đa phần các ô của bảng sẽ rỗng do hầu hết
tài nguyên ở dạng chỉ dành cho một người sử dụng hoặc một nhóm nhỏ người sử dụng,
tức là chỉ một số ít dòng của bảng. Đó là chưa kể với kích thước quá lớn, khả năng lưu
trữ toàn bộ ma trận tại bộ nhớ trong là rất thấp, do đó các thao tác truy cập, tìm kiếm
sẽ lâu, đến mức không thể chấp nhận được đối với thực tế ứng dụng của các hệ điều
hành.Vì vậy, người ta cần nghiên cứu các cách cái đặt gián tiếp ACM để mang lại tính
khả thi cao hơn.
Các giải pháp để cài đặt ACM một cách khả thi đều dựa trên nguyên tắc chung
là phân rã ma trận để tiện lưu trữ và truy xuất đồng thời biểu diễn các thành phần này
bằng các khái niệm biểu hiện (đối tượng quản lý của hệ điều hành) thích ứng với phạm
vi mới. Cụ thể có các giải pháp phổ biến sau:
- Phân rã theo cột: tạo nên đối tượng quản lý là các danh sách điều khiển truy
cập (access control list: ACL). Các ACL sẽ được gắn vào các đối tượng tài nguyên
(object), cung cấp danh sách các NSD và quyền có thể truy cập đến đối tượng.
- Phân rã theo dòng: tạo nên các danh sách khả năng (capability list), được gắn
với các chủ thể (người sử dụng), cung cấp danh sách các tài nguyên mà chủ thể có thể
sử dụng với quyền truy cập cụ thể tương ứng.
- Thông qua các biểu diễn gián tiếp khác, ví dụ như khóa, nhóm, vai trò...
Tất cả các giải pháp này đều cố gắng tạo ra một môi trường hoạt động có ngữ nghĩa sử
dụng thuận tiện nhất.
File 1
File 2
6
File 3
File 4
Alice
Read, write, execute, own
execute
Bob
Read
Read, write, execute, own
read
write
Alice →{(file 1,{Read, write, execute, own}), (file 2, execute), (file 3, read), (file 4,
write)} CL
File 1 →{(Bob, read), (Alice, {Read, write, execute, own})} ACL
3. Các phương pháp điều khiển truy cập
3.1. Điều khiển truy cập tùy quyền
Điều khiển truy cập tùy quyền (Discretionary Acess Control - DAC) là sự thể hiện của
nguyên lý: quyền truy cập (right) cho từng cặp (chủ thể, đối tượng) có thể được xác
định riêng rẽ và có thể quyết định bởi chủ thể chủ nhân của đối tượng (owner).
Điều khiển truy cập DAC là một thể loại điều khiển truy cập được sử dụng sớm và phổ
biến nhất trong các hệ điều hành từ thời buổi sơ khai. Nó không có một định nghĩa
chặt chẽ, chính xác vì không phải do một tác giả đưa ra mà hình thành một cách tự
nhiên trong thực tế. Cho đến nay DAC vẫn là mô hình được ưa dùng phổ biến trong
các hệ điều hành hiện đại. Đặc trưng gắn liền với nó là sự sử dụng khái niệm chủ nhân
của mỗi đối tượng, tức là chủ thể có quyền cấp và kiểm soát khả năng truy cập của các
chủ thể khác đối với đối tượng này. Có thể thấy, mô hình này khá gắn bó với tiếp cận
cài đặt ACL đối với ACM (sử dụng danh sách quyền truy cập ACL). Bản thân quyền
làm chủ cũng là một thứ quyền có thể cấp phát được. Do đó các quyền truy cập có thể
lan truyền trên các chủ thể.
Điều khiển truy cập tùy nghi tạo nên sự linh hoạt mềm dẻo tối đa cho việc quản lý
quyền truy cập. Tuy nhiên sự phân tán cao độ của việc quản lý, cũng như sự cho phép
dễ dãi trong việc cấp phát quyền, có thể tạo ra sự lan truyền quyền một cách không
mong muốn, tức ra tạo ra những vấn đề an toàn bảo mật. Sự mềm dẻo dễ dãi này rất dễ
bị khai thác, và hệ thống dễ bị tổn thương và không thể chống lại những nguồn và hình
thức tấn công như: Trojan horse, mã độc, lỗi phần mềm, người sử dụng nội bộ có ý đồ
xấu. Nguyên nhân chủ yếu như đã nói, hệ thống không thể kiểm soát được luồng thông
tin (information flow) về điểu khiển truy cập, do đó những kẻ chỉ là khách vãng lai
hoặc vai trò thứ yếu trong hệ thống cũng có thể dần dần thu hoạch được những quyền
truy cập đối với những đối tượng quan trọng của hệ thống.
7
3.2. Điều khiển truy cập bắt buộc
Ngược với DAC, điều khiển truy cập bắt buộc (Mandatory Access Control – MAC),
không cho phép các cá nhân chủ thể toàn quyền quyết định sự truy cập cho mỗi đối
tượng mà cưỡng chế sự truy cập tất cả các đối tượng theo một chính sách chung, được
qui định bởi một cơ chế phân loại cấp bậc. Theo sự phân loại này các chủ thể được
phân loại và được gán nhãn cấp bậc, thể hiện tầm quan trọng (đặc quyền) cao hay thấp
trong hệ thống (xét trên phương diện an toàn bảo mật), và các đối tượng cũng được
phân loại và gán nhãn thể hiện tính mật, tức là cần bảo vệ, cao hay thấp. Cấp bậc của
chủ thể (security class) phải đủ cao thì mới có thể truy cập được vào một đối tượng có
một nhãn bảo mật mức nào đó (security clearance). Thông thường, Cấp của chủ thể
cần phải không thấp hơn Mức bảo mật của đối tượng. Tóm lại, một luật truy cập chung
sẽ áp dụng để ra quyết định cho tất cả các yêu cầu truy cập thay vì sự quản lý phân tán
của các chủ nhân đối tượng như ở trong mô hình DAC.
Bên cạnh việc khống chế truy cập thông qua cấp bậc của chủ thể và mức an toàn của
đối tượng, một khái niệm cũng thường được sử dụng là sự phân nhóm theo thể loại
thông tin. Thông tin trong hệ thống được phân loại theo các nhóm thể loại
(cathegories), mà cũng được áp dụng cho cả chủ thể và đối tượng. Mỗi nhãn của mỗi
chủ thể hay đối tượng sẽ có hai thành phần (cấp/mức, nhóm thể loại) trong đó nhóm
thể loại được hiểu như một tập con của tập vũ trụ tất cả dạng các thông tin có thể có.
Một cách khái quát, mỗi nhãn sẽ là một phần tử trong không gian tích đề-các (A,C)
trong đó không gian của cấp/mức A có một quan hệ thứ tự đầy đủ trên đó còn không
gian thể loại C là không gian các tập con có một dạng quan hệ thứ tự bán phần (tức là
quan hệ tập con).
Có thể thấy luật truy cập được xây dựng trên một quan hệ so sánh nhãn, mà hay được
gọi là dominate tức là “chiếm ưu thế hơn” hay “cao hơn”. Một nhãn (A,C) là ưu thế
hơn (dominate) nhãn (A’,C’) nếu và chỉ nếu A≥A’ và C⊇C’. (Lưu ý rằng nếu dấu bằng
xảy ra ở cả 2 chỗ thì cũng vẫn được chấp nhận.) Chú ý rằng, đã có một sự khái quát
gộp chung lại của khái niệm cấp bậc của chủ thể và mức bảo mật của đối tượng thông
tin. Chính vì vậy nhãn của chủ thể và nhãn của đối tượng thông tin có thể cùng đưa
vào một không gian chung để so sánh và tạo nên tính đơn giản của quy luật truy cập.
Ví dụ 7.5 Trong một hệ thống quản lý thông tin và điểm số của một khoa đại học, có 2
cấp/mức bảo mật là confidential (mật) và public (công khai), đồng thời có 2 thể loại
thông tin là studentinfo (thông tin sinh viên) và dept-info (thông tin về khoa/viện).
Như vậy có thể có các nhãn như:
8
label(Joe)=(confidential,{student-info})
label(grades)=(confidential,{student-info})
Dễ thấy luật truy nhập sẽ cho phép Joe được đọc dữ liệu grades vì nhãn của Joe không
hề thua kém nhãn của grades.
Để biểu diễn quan hệ “ưu hơn” trong một hệ thống thực tế, người ta có thể vẽ một đồ
thị có hướng của các nhãn (như là nút đồ thị) mà các cạnh giữa chúngthể hiện quan hệ
“ưu hơn” nếu có. Tuy nhiên để tránh phức tạp người ta có thể dấu không vẽ những
cạnh thể hiện tính bắc cầu mặc dù hiển nhiên quan hệ “ưu hơn” là một quan hệ bắc
cầu. Biểu diễn dạng đồ thị như vậy còn gọi là lưới.
3.3. Điều khiển truy cập dựa trên vai trò
Thực tế ứng dụng của điều khiển truy nhập đã làm nảy sinh một tiếp cận thiết kế điều
khiển truy nhập kiểu mới, có khả năng bám sát và phản ánh tốt hơn những đặc trưng
khái quát của các hệ thống thông tin doanh nghiệp, đặc biệt là các hệ thống có nghiệp
vụ riêng (ví dụ như doanh nghiệp ngân hàng tài chính). Theo tiếp cận này, việc cấp các
quyền truy nhập, khai thác tài nguyên (permission) không trực tiếp hướng tới người sử
dụng cuối mà hướng tới, lớp hay cụm những người sử dụng giống nhau trên phương
diện nhiệm vụ, vai trò xử lý thông tin. Khái niệm mới vai trò (role) được đưa ra để
khái quát tượng trưng cho một dạng, một lớp các nhiệm vụ xử lý tin. Dễ thấy trong
một hệ thống doanh nghiệp đặc thù, người ta có thể đưa ra định nghĩa của một tập các
vai trò cơ bản, bao phủ hết các dạng nghiệp vụ đặc thù mà mỗi người sử dụng có thể
phải thực hiện. Tập các vài trò thường có kích thước nhỏ hơn tập người dùng cuối rất
nhiềuvì thường mỗi vai trò sẽ có một nhóm người dùng cuối được gán thuộc cho nó.
Như vậy ý tưởng cơ bản của tiếp cận mới này là sự định nghĩa của tập hợp các vai trò
công việc cơ bản (thường mang nặng tính nghiệp vụ), tương ứng với mỗi vai trò là một
dạng nhiệm vụ xử lý thông tin cơ bản, và việc ban phát quyền sử dụng, truy nhập tài
nguyên đến các vai trò. Một người dùng cuối tuy không được ban phát quyền truy
nhập một cách trực tiếp, nhưng vẫn được hưởng các quyền thích hợp do “ăn theo”
những vai trò mà người dùng này được gán cho. Chú ý rằng một người dùng có thể có
một hoặc nhiều vai trò khác nhau.
Mô hình mới này được goi là mô hình điều khiển truy nhập hướng vai trò (Role-Based
Access Control – RBAC). Cách tiếp cận của nó rất phù hợp với mô hình doanh nghiệp
có nghiệp vụ đặc trưng, vì vậy các khái niệm của nó rất gần với trực giác, bám sát
được các yêu cầu về quản lý sử dụng tài nguyên phản ánh đúng trách nhiệm, quyền
hạn và năng lực của các dạng vị trí (vai trò) công việc trong doanh nghiệp.
9
Chú ý rằng trong RBAC, sự gắn quyền vào vai trò (role-permission assignment)
thường là lâu dài, trong khi đó ở DAC sự gắn quyền trực tiếp đến người dùng cuối
(user-permission assignment) có thể mang tính ngắn hạn và thay đổi thường xuyên
(không bám sát đặc thù công việc, mà bám vào nhu cầu cụ thể có thể thay đổi hàng
ngày). Vì vậy RBAC thể hiện hàng loạt các ưu điểm vì phù hợp hơn với quản lý trong
hệ thống thông tin doanh nghiệp. Hiển nhiên, nó có khả năng diễn tả cao các chính
sách tổ chức của doanh nghiệp: phân công theo vai trò là cơ sở cho sự sự tách biệt các
nhiệm vụ cũng như tạo ra cơ chế đại diện ủy nhiệm. RBAC cũng hỗ trợ khả năng đảm
bảo đặc quyền tối thiểu hợp lý (Least previledge) và khai quá hóa thông tin dữ liệu
(data abstraction). Đồng thời RBAC rất mềm dẻo và tiện lợi kinh tế cho việc đáp ứng
nhanh các thay đổi về chính sách bảo mật. Một yêu cầu bảo mật mới sẽ chỉ dẫn đến
thay đổi cách thức gán quyền truy nhập vào các vai trò, chứ không dẫn đến sự thay đổi
cụ thể trực tiếp vào dữ liệu điều khiển người sử dụng.
Mô hình RBAC là độc lập với các mô hình DAC và MAC. Mô hình này là trung tính
với chính sách (policy neutral): chính cách cấu hình các vai trò trong hệ thống sẽ xác
định, thể hiện chính sách muốn áp đặt vào hệ thống. Không nên hiểu khái niệm vai trò
(RBAC) là tương tự với nhóm người dùng (user group, RBAC). Nhóm người dùng
đơn giản là một tập thể người dùng (cùng làm việc, hay cùng chia sẻ điều gì đó) nhưng
mỗi người dùng vẫn có thể có các quyền khai thác khác nhau. Vai trò có thể coi là khái
niệm trung gian giữa một tập các người dùng và một tập các quyền khai thác.
4. Demo mô hình DAC trên SQL server
4.1. Cơ sở lí thuyết
GRANT: truyền những quyền trên các đối tượng dữ liệu của mình cho những người
dùng khác
GRANT <danh sách các quyền>
ON <các đối tượng dữ liệu>
TO <danh sách các người dùng>
/* Lan truyền quyền
GRANT
ON <relation>
To <user>
[WITH GRANT OPTION] */
10
REVOKE: lấy lại (hủy bỏ) những quyền trên các đối tượng dữ liệu của mình từ
những người dùng khác
REVOKE <danh sách các quyền>
ON <các đối tượng dữ liệu>
FROM <danh sách các người dùng>
Điều khiển truy cập tùy quyền bằng VIEW (quan hệ ảo). Người dùng A là chủ của
quan hệ R. A muốn gán cho người dùng B quyền truy xuất trên R nhưng chỉ muốn cho
B xem một số thuộc tính nhất định. A có thể tạo view V của R chỉ chứa những thuộc
tính đó và sau đó gán cho B quyền SELECT trên V.
4.2. Thực nghiệm
- Bước 1: tạo CSDL “QUẢN LÍ BÁN HÀNG”
- Bước 2: tạo ra 3 login ID với 3 user tương ứng như sau:
Login ID
caohoc
cntt
ccbb
User
lanhuong
K27
keomit
Password
123456
123456
123456
- Bước 3: kiểm tra các quyền của K27 trên CSDL.
- Bước 4: + thực hiện gán quyền của user lanhuong cho user K27
+ tạo ra view HANG với 2 thuộc tính MaHH, TenHH.
+ gán quyền trên View với lan truyền quyền
- Bước 5: kiểm tra lại các quyền của K27, keomit
- Bước 6: thực hiện thu hồi quyền
- Bước 7: kiểm tra các quyền của K27 và keomit
11
Ghi chú
owner