Tải bản đầy đủ (.pdf) (7 trang)

Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 9 - Lê Thị Minh Nguyện

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.2 MB, 7 trang )

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>

Ch

ư

ơng 9.


An toàn dữ liệu



GV: Lê Thị Minh Nguyện
Email:


Nội dung



1. Khái niệm
2. Phân loại sự cố


3. Các cơ chế an tồn dữ liệu
4. Kiểm sốt quyền truy cập CSDL
5. Phân quyền


6. Quản lý quyền người dùng
7. Quản lý phân quyền


8. Khung nhìn (view) như các cơ chế bảo vệ
9. Mã hóa dữ liệu


Hệ quản trị Cơsở dữ liệu 2


1. Khái niệm



•An tồn dữ liệu: nhằmchống lại sự xâm nhập trái phép từ bên
trong và bên ngoài hệ thống. Các tácnhân tácđộng từbên ngoài
gây hư hỏng hệquản trị cơ sở dữ liệu, sai lệch, mất mát dữ liệu,
cấu trúc dữ liệu,…


3. Các cơ chế an toàn dữ liệu




</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

3.1. C

ơ

chế chứng thực


•Hai chế độ chứng thực


•<b>Mixed security Mode:</b>Kết nối với
SQL server bằng cách dùng
Windows Authentication hoặc SQL
server Authentication


•<b>Windows authentication mode:</b>


Chỉ có thể kết nối với SQL server
bằng Windows Authentication


Hệ quản trị Cơsở dữ liệu 5


3.1. C

ơ

chế chứng thực



•Sửa đổi chứng thực


Hệ quản trị Cơsở dữ liệu 6


3.2. Cơ chế phân quyền



Hệ quản trị Cơsở dữ liệu 7
1. Quyền chứng thực


2. Quyền người sử dụng sử dụng 1 hoặc nhiều CSDL


3. Các quyền cụ thể sử dụng bảo vệ CSDL



3.3. Cơ chế mã hóa



•Mã hóa những dữ liệu nhạy cảm như: ???
•Các kỹ thuật mã hóa


•Mã hóa bằng mật khẩu


•Mã hóa đối xứng


•Mã hóa bất đối xứng


•Mã hóa chứng nhận


</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

4. Kiểm sốt quyền truy cập CSDL



Xét cơ sở dữ liệu bán hang gồm các table PhongBan,
SanPham, DonHang, CTDonHang, KhachHang, ChiNhanh và
bảng NhanVien(MaNV, HoLot, TenNV, NgayVaoLam,
MaNQL, MaPB, Luong, HoaHong).Khi đó, mỗi phát biểu sau
chỉ ra một mức độ truy cập tới CSDL trên và có thể được
trao cho một nhóm user:


Hệ quản trị Cơsở dữ liệu 9


4. Kiểm soát quyền truy cập CSDL (tt)



(1)User được phép truy xuất khơng điều kiện tới tồn bộ CSDL và
thực hiện bất kỳ thao tác nào trên CSDL đó.



(2)User khơng được phép truy xuất tới bất kỳ bộ phận nào của CSDL
(3)User có thể đọc một bộ phận của CSDL nhưng không được thay


đổi nội dung của bộ phận đó.


(4) User có thể đọc đúng một bộ trong bảng NhanVien nhưng khơng
được sửa đổi bộ này.


(5)User có thể đọc đúng một bộ trong bảng NhanVien và sửa đổi
nhưng không phải tất cả giá trị của bộ này


(6)User có thể đọc các thuộc tính MaNV, TenNV, MaPB nhưng trong
mỗi bộ chỉ được sửa giá trị của các thuộc tính MaPB


Hệ quản trị Cơsở dữ liệu 10


4. Kiểm sốt quyền truy cập CSDL (tt)



(7) User có thể áp dụng các phép tốn thống kê cho thuộc tính
Luong (như tính lương trung bình của từng phịng ban) nhưng
khơng được đọc hay sửa đổi các giá trị cá biệt.


(8) User có thể đọc các thuộc tính MaNV, Luong, HoaHong và
trong mỗi bộ có thể sửa giá trị của thuộc tính HoaHong của
nhân viên nếu và chỉ nếu người đó là trưởng phịng của phịng
đó.


4. Kiểm sốt quyền truy cập CSDL (tt)



User có thể được cấp một số quyền truy cập sau:


• Quyền đọc dữ liệu


</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>

5. Phân quyền (Cấp quyền cho người dùng)


Bước 1. Tạo tài khoản đăng nhập


Bước 2. Tạo người dùng


Bước 3. Cấp quyền cho người dùng


Hệ quản trị Cơsở dữ liệu 13


B

ư

ớc 1. Tạo tài khoản đăng nhập



•Cách 1:


<b>create login tên_loginwith password = 'nhập_mật_khẩu'</b>


•Cách 2:


<b>sp_addlogin'tên_login','mật_khẩu'</b>


Hệ quản trị Cơsở dữ liệu 14


B

ư

ớc 2. Tạo ng

ư

ời dùng


•Cách 1:


<b>create user tên_userfor login tên_login</b>


•Cách 2:



<b>sp_adduser'tên_login','tên_user'</b>


Hệ quản trị Cơsở dữ liệu 15


B

ư

ớc 3. Cấp quyền cho ng

ư

ời dùng



<b>grantdanh_sách_quyềnontên_bảngto tên_user</b>
<b>[with grant option]</b>


Tuỳ chọn[with grant option]được sử dụng để cho phép người


dùng được phép cấp lại những quyền của mình cho người dùng
khác.


</div>
<span class='text_page_counter'>(5)</span><div class='page_container' data-page=5>

5. Phân quyền (tt)



•<b>Tình huống:</b>Cấp quyền xem và thêm dữ liệu trên bảng
MatHang cho người dùnghuynhsuhuynh.


•<b>Các bước thực hiện:</b>


•Bước 1: Tạo tài khoản đăng nhập


<b>create login</b>huynhsuhuynh<b>with password = ‘abc123’</b>
•Bước 2: Tạo người dùng


<b>create user</b>huynhsuhuynh<b>for login</b>huynhsuhuynh
•Bước 3: Cấp quyền


<b>grant select,insert on MatHang to</b> huynhsuhuynh


Hệ quản trị Cơsở dữ liệu 17


6. Quản lý quyền ng

ư

ời dùng



•Sau khi cấp<b>Login account</b>để truy cập vào SQL Server bạn
cần cấp cho<b>Login account</b>này quyền là mộtuser truy cập
một/ nhiều Database.


•SQL Server lưu các user của Database trong table
sysusers.


•Một <b>Login account</b> có thể trở thành user của nhiều
Databasevới những quyền hạn và mangnhiều user name
khác nhau. Mặc định user name trùng tên với Login
account.


Hệ quản trị Cơsở dữ liệu 18


6. Quản lý quyền ng

ư

ời dùng (tt)



•Hai User đặc biệt:


•dbo: một user có tất cả các quyền trên Database.


•guest user: Một<b>Login account</b>truy xuất đến một instance của
SQL Server, nhưng <b>khơng có user account</b> để truy xuất 1
<b>Database cụ thể, thì có thể được truy xuất đến Database như</b>


7. Quản lý phân quyền




•Kiểm sốt user có thể làm được gì trên database bằng sử dụng:
•Các Database role


•Cấp quyền cho user thao tác trên object và statement
•Các cơ chế cấp quyền:


•Dùng <b>login account</b>được tạo sẵn bởi hệ thống và được gán role
default như:<b>sa</b>được gán<b>sysadmin</b>


</div>
<span class='text_page_counter'>(6)</span><div class='page_container' data-page=6>

7. Quản lý phân quyền (tt)


•ROLES:


•Role là một cơng cụ cho phép cấp quyền cho một nhóm User thay vì thực
hiện trên từng user.


•Có 2 loại Roles:
•Fixed role


•User-defined Database role
•Hoặc có thể phân biệt:


•Role mức server
•Role mức Database


Hệ quản trị Cơsở dữ liệu 21


7. Quản lý phân quyền (tt)



•Object permission (Đối
tượng): Kiểm sốt một User /


role có thể thực thi hành động
gì trên một object cụ thể trong
Database.


Hệ quản trị Cơsở dữ liệu 22
•Quyền cho phép người dùng thực hiện cách hành động trong Database.


Có<b>hai loại quyền: </b>


GRANT { { ALL | permission [ ,...n ] } [
(column_name [ ,...n ] ) ]ON { table | view |
stored_procedure |extended_procedure |
user_defined_function }} TO user_name[ ,...n ]


7. Quản lý phân quyền (tt)



Hệ quản trị Cơsở dữ liệu 23
•Statement (Phát biểu): kiểm sốt một User/role có thể thực


hiện được lệnh nào sau đây:
•CREATE DATABASE


•CREATE DEFAULT


•CREATE PROCEDURE


•CREATE RULE


•CREATE TABLE



•CREATE VIEW


•BACKUP DATABASE


•BACKUP LOG


GRANT { ALL | statement [ ,...n ] }
TO user_name [,...n ]


7. Quản lý phân quyền (tt)



Hệ quản trị Cơsở dữ liệu 24
Lệnh hủy (revoke): Hủy quyền đã cấp grant hay từ chối deny
Revoking Statement Permission :


REVOKE { ALL | statement [ ,...n ] }


FROM user_name [ ,...n ]


Revoking Object Permission :


REVOKE { { ALL | permission [ ,...n ] } [ (column_name [ ,...n ] ) ]


</div>
<span class='text_page_counter'>(7)</span><div class='page_container' data-page=7>

7. Quản lý phân quyền (tt)



•Như vậy thay vì chúng ta cấp quyền cho từng user, người
quản trị có thể cấp quyền theonhóm. Và những user thuộc
nhóm quyền nào sẽ có tất cả quyền của nhóm đó. Do đó, khi
người quản trị thực hiện thêm bớt quyền sẽ dễ dàng hơn.



Hệ quản trị Cơsở dữ liệu 25
<b>Cấp quyền cho nhóm (Role)</b>


Cấp quyền cho Role (tt)


•<b>Bước 1:</b>Tạo nhóm


<i>Cách 1:</i>


<b>Create RoleTên_Nhóm</b>


<i>Cách 2:</i>


<b>Sp_AddRole'Tên_Nhóm’</b>


<b>Bước 2:</b>Cấp quyền cho nhóm


<b>Grant Quyền On Bảng To Tên_Nhóm</b>


<b>Bước 3:</b>Thêm user vào nhóm


<b>Sp_AddRoleMember'Tên_Nhóm', 'Tên_User'</b>


Hệ quản trị Cơsở dữ liệu 26


Cấp quyền cho Role (tt)



•Ví dụ cấp quyền cho nhóm xemdulieu quyền xem dữ liệu cơ sở dữ
liệu QuanLyBanHang. Trong nhóm quyền này có một user là
DangLH



Cấp quyền cho Role (tt)



<b>Bước 1:</b>Tạonhómquyền


<b>Use QuanLyBanHang</b>
<b>Create rolexemdulieu</b>
<b>Bước 2:</b>Cấp quyềncho nhóm


<b>Grant select to xemdulieu</b>


<b>Bước 3:</b>Tạologin tên DangLH, mật khẩuAbc12345


<b>Create LoginDangLHWith Password = 'Abc12345’</b>
<b>Bước 4:</b>Tạouser DangLHsử dụnglogin DangLH


</div>

<!--links-->

×