Bai giang chuong 7

Download Report

Transcript Bai giang chuong 7

KHOA CÔNG NGHỆ THÔNG TIN
Chương 7
BẢO MẬT TRONG SQL
LOGO
I. THAY ĐỔI CHẾ ĐỘ CHỨNG THỰC
CỦA WINDOWS
Có hai chế độ xác thực
–Windows Authentication: không cần tài khoản và mật khẩu
–Mixed mode: có thể đăng nhập ở hai chế độ có hoặc không
tài khoản.
•Thực hiện cấu hình lúc Cài đặt:
- Đảm bảo đầy đủ các quyền với SQL
- Tài khoản đăng nhập là SA (SysAdmin): tài khoản toàn
quyền làm việc với tất cả các đối tượng và các lệnh SQL
• Thay đổi sau khi đã cài đặt:
Ví dụ: Đăng nhập SQL Server bằng tài khoản Sa với mật
khẩu Sa123.
(Đây là tài khoản có đầy đủ các quyền)
Thay đổi chế độ chứng thực
Khởi động lại services
II. TẠO MỚI LOGIN VÀ USER
1.



Khái niệm login và users
Login: Là tài khoản mà người sử dụng dùng để kết nối với
SQL Server
–Một login có thể có quyền truy cập 0-n database
–Trong mỗi database, một login sẽ ứng với một user
User: Là người sử dụng cơ sở dữ liệu, thực thi các thao tác
trên cơ sở dữ liệu như tạo bảng, truy xuất dữ liệu,...
Role: Nhóm các user/login
2. Các Role trong Database
Các quyền của role (Login+user)
Ví dụ: Tạo một tài khoản Login tên là Dao, password:
dao123, có quyền Role là db_owner.
-Mở Tên Server
-Mở Securty
-Mở Login: Kích
phải tại
Login\NewLogin
3. Thay đổi quyền cho Login
III. CẤP VÀ PHÁT QUYỀN CHO USER
1. Các loại cấp phát quyền cho User

- Cấp phát quyền cho người dùng trên các đối
tượng Database: là các quyền đọc/ ghi trên table/view,
thực hiện thủ tục,… cụ thể: là các quyền
SELECT, INSERT, DELETE, UPDATE, EXEC, …
- Cấp phát quyền cho người dùng thực thi các câu
lệnh: là cấp phát quyền thực thi các câu lệnh: create
database | create table | create view | create rule | create
procedure | backup database | …
2. Một số thao tác cấp phát quyền cho User
Ví dụ: Tạo các quyền cho người dùng như sau:
Tên
Login
Password
Tên
CSDL
Tên
User
Các quyền user
Database
Table
DungAL
Dung123
QLSV
Dung
Grant Select,
Deny Insert,
Deny Delete,
Deny Update
Deny Select (DiemMH)
Daohta
Dao123
QLSV
Dao
Grant Select
Grant Insert
Grant Update
Deny Select (DiemHP)
Deny Update (DiemHP)
Grant: có quyền
Deny: Không có quyền (cấm)
B1. Tạo Login
B2. Tạo User mới với quyền
B4. Khởi động lại Services
B5. Đặng nhập với tài khoản mới
IV. CẤP PHÁT QUYỀN CHO USER
(bằng lệnh)
1. Lệnh tạo Login mới
Login sp_addLogin
[ @loginame = ] ‘login_name’
[ , [ @passwd = ] 'password' ]
[ , [ @defdb = ]‘default_database’ ]
Lệnh tạo User mới cho Login
Cú pháp :
Create user user_name
For | From Login login_name
Ví dụ:
Exec Login sp_addlogin ‘Dao’,’123456’,’QLSV’
Ví dụ :
Create user dev01 for login Dao
Create user dev02 from login Dao
•Xóa user :
–Cú pháp: drop user user_name –Ví dụ: drop user dev01 15
2.
Cấp phát quyền cho người dùng trên các đối tượng
Database:
Các quyền đọc/ ghi trên table/view, thực hiện thủ tục,…
GRANT ALL [PRIVILEGES]|
[(danh_sách_cột)] ON tên_bảng | tên_khung_nhìn
|ON tên_bảng | tên_khung_nhìn [(danh_sách_cột)]
|ON tên_thủ_tục
|ON tên_hàm
| các_quyền_cấp_phát
TO danh_sách_người_dùng | nhóm_người_dùng
[WITH GRANT OPTION ]
3. Cấp phát quyền cho người dùng thực thi các câu
lệnh:
Cấp phát quyền thực thi các câu lệnh: create database |
create table | create view | create rule | create procedure |
backup database | …
Cú pháp:
GRANT { ALL|<Danh sách câu lệnh}
TO Tên User | Nhóm User [,...n]
Dao
Ví dụ:
Cấp phát quyền Tạo Table, Tạo View cho người dùng Tên
GRANT CREATE TABLE, CREATE VIEW TO Anhdao
Bài tập
1. Thay đổi chế độ chứng thực: Mixed mode
2. Thay đổi mật khẩu cho tài khoản SA là Dung123
3. Tạo tài khoản tên Admin2, mật khẩu là Ad123, có quyền
Role là db_DataWriter, db_DataReader.
4. Tạo danh sách các tài khoản sau
STT
Tên Login
Password
Tên CSDL
1
Doannv
Doan123
QLSV
2
Nhungpt
Nhung123
QLSV
3
Dungnv
Dung123
QLSV
4
Hungnv
Hung123
QLSV
Bài 5. Phân quyền cho các User tương ứng với các tài khoản ở
câu 4.
TT
Tên
Login
Quyền user
Quyền login
Database
Table
Column
1
Doannv
Full Permission
2
Nhungpt
BackUp
Operater
+ BackUp
+BackUp Log
+Select
3
Dungnv
Public
Db_DataReader
Db_DataWrtier
+Connect
+BackUp
+Select
- Select
DIEMTHI
DiemMH
4
Hungnv
Public
Db_owner
Db_ddladmin
+Connect
+Alter Any User
+Select
+Create Funtion
+Create Procedure
+Create Table
All Table
AllColumn