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>
GV: Lê Thị Minh Nguyện
Email:
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
•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,…
•<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
•Sửa đổi chứng thực
Hệ quản trị Cơsở dữ liệu 6
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
•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
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
(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
(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
đó.
User có thể được cấp một số quyền truy cập sau:
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
•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>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>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.
•<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
•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
•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>
•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>
•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
•Object permission (Đối
tượng): Kiểm sốt một User /
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 ]
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 ]
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 ] ) ]
•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>
<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
•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
<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