1/ Khái niệm Mỗi CSDL có 1 hay nhiều users được chỉ định quyền truy xuất dữ liệu.. Người quản trị có thể cấp quyền truy xuất CSDL bằng cách tạo một tài khoản user đăng nhập login và gán
Trang 1GVPT: NGUYỄN THỊ MỸ DUNG
SỐ TC: 2
SỐ TIẾT: LT: 20; TH: 20
1
Biên soạn: Nguyễn Thị Mỹ Dung
Trang 2Chương 1: Tổng quan về SQL Server (LT: 2)
Chương 2: Tạo và quản trị CSDL (LT: 6; TH: 6) Chương 3: Transact-SQL và truy vấn dữ liệu (LT: 6: TH: 8)
Chương 4: Lập trình với Transact-SQL (LT: 4: TH: 4)
Chương 5: Bảo Mật và Phân Quyền (LT: 2;
TH: 2)
Chương 6: Kết nối CSDL (Tự học)
Trang 3I Giới thiệu
II Login, User Account, User Roles
III Kế hoạch phân quyền và bảo mật
IV Kết nối CSDL
Biên soạn: Nguyễn Thị Mỹ Dung 3
Trang 41/ Khái niệm
Mỗi CSDL có 1 hay nhiều users được chỉ định quyền truy xuất dữ liệu Người quản trị có thể cấp quyền truy xuất CSDL bằng cách tạo một tài khoản (user) đăng nhập (login) và gán quyền cho user trên CSDL Các quyền:
- Cấp phát quyền truy cập vào CSDL;
- Cấp phát quyền sử dụng các câu lệnh, các đối tượng CSDL;
- Thu hồi quyền của người dùng
Trang 52/ Các thành phần trong bảo mật CSDL
- Người dùng cơ sở dữ liệu (Database user):
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, Mỗi một người dùng được xác định thông qua tên người dùng (User ID) hoặc nhóm người dùng (User Group)
- Các đối tượng cơ sở dữ liệu (Database objects): bảng, khung nhìn, thủ tục, hàm được gọi
là các đối tượng cơ sở dữ liệu
- Đặc quyền (Privileges): Là tập những thao
tác được cấp phát cho người dùng trên các đối tượng cơ sở dữ liệu
Biên soạn: Nguyễn Thị Mỹ Dung 5
Trang 61/ Login và user
SQL Server cho phép truy nhập vào hệ thống thông qua các login Chỉ khi có quyền ở mức độ nhất định bạn mới có thể tạo thêm login
- Login: tên hệ thống (duy nhất) được SQL Server cấp phép truy cập hệ thống
- User: tên gắn với 1 login name cụ thể được SQL cấp phép truy xuất 1 DB xác định
Như vậy:
- Một login name có nhiều user, một user được tạo
ở DB nào thì chỉ được phép truy xuất DB đó
- Để tạo nhiều user phải tạo LOGIN NAME trước, sau đó mở DB tương ứng và lần lượt tạo từng USER
Trang 72/ Authentication
SQL Server xác thực các đăng nhập bằng hai cơ chế: windows authentication, SQL Server authentica-tion
- Nếu chọn windows , bạn cần cung cấp một windows account và SQL Server sẽ chỉ lưu tên của account đó trong danh sách login
- Nếu chọn SQL Server , bạn cần cung cấp login name và password và cả hai đều được lưu trong SQL Server
Lưu ý: login sử dụng windows authentication, SQL
đăng nhập, hệ thống sẽ không xác thực cho bạn
Biên soạn: Nguyễn Thị Mỹ Dung 7
Trang 83/ Server role
Role thực chất là tập hợp một nhóm các quyền và đại diện bằng một tên để thuận tiện cho việc quản lý Server role là nhóm các quyền ở mức server mà login được cấp sẽ có thể thực hiện một số thao tác nhất định ở mức server
Login khi mới được tạo sẽ có role public, role này thực chất không có quyền gì ngoài quyền truy nhập vào server
4/ Database role
DB tập hợp các quyền truy nhập vào DB thành từng nhóm để dễ tạo lập và sửa đổi Khi user là role public, user chỉ có thể nhìn thấy tên database mà không có quyền gì khác
Trang 9Phân chia quyền hạn quản trị và sử dụng Hệ quản trị CSDL SQL Server
Hình thành theo cơ cấu
Người đăng nhập (login)
Người dùng (user)
Quyền hạn (permission)
Nhóm quyền (role)
Người đăng nhập được thể hiện là mỗi một người dùng với một số quyền hạn ứng với một dữ liệu
Biên soạn: Nguyễn Thị Mỹ Dung 9
Trang 101 Đăng nhập (login)
a/ Tạo người đăng nhập
SP_ADDLOGIN [ @login = ] <'Têndangnhap'>
[,@password =] <'pass'>, [,@defdb =] <'TênCSDL'>
[ , @deflanguage = ] <'Ngônngữ'>
[ , @sid =] <'Mã nhận dạng Login'>
[ ,@encriptopt = 'skip_encription' ] mã hóa pass [,…]
VD: Tạo tài khoản tên USER01', mat khau ‘01' vào CSDL 'QLDeTaiSV‘
SP_ADDLOGIN 'USER01','01','QLDETAISV'