Bài giảng Cơ sở dữ liệu: Bảo mật và quản lý người dùng cung cấp cho người học một số kiến thức: Login security, database accesssecurity, permission security, permission security - quản lý roles,... Mời các bạn cùng tham khảo nội dung chi tiết.
BẢO MẬT VÀ QUẢN LÝ NGƯỜI DÙNG Mục đích bảo mật: nhằm bảo vệ CSDL khỏi truy xuất trái phép Các mức bảo mật SQL SERVER: bảo mật SQL Server gồm lớp Mức xác thực đăng nhập (Authentication/Login Security): mức ngồi cùng, kiểm sốt xem log vào server Database access security: kiểm soát xem user truy cập vào Database cụ thể server Permission security: kiểm sốt user thực thao tác Database LOGIN SECURITY Login: Dùng để kết nối vào hệ thống SQL SERVER Các login có quyền kết nối vào server chưa hẳn có quyền truy cập vào Database Thơng tin đăng nhập lưu bảng sysxlogins CSDL master loại đăng nhập LOGIN SECURITY Windows Authentication: login vào server với tư cách Windows account Cách tạo new Windows login: Cách 1: Dùng Studio Manager: Chọn Security.Login.NewLogin Cách 2: Dùng lệnh: sp_grantlogin ‘login_name’ SQL Server Authentication: cần cung cấp name password Trình cài đặt SQL Server tự động tạo login có name sa, password null Cách tạo new SQL Server login: Dùng Studio Manager: Chọn Security.Login.NewLogin Dùng lệnh: sp_addlogin ‘login_name’, ‘password’ LOGIN SECURITY Windows Authentication mode: Kết nối với SQL Server Windows Authentication Việc kiểm tra an toàn kết nối ủy nhiệm cho Windows Mixed Security Mode: Kết nối với SQL Server Windows Authentication SQL Server Authentication Để chuyển đổi chế độ chứng thực: DATABASE ACCESS SECURITY Các login có quyền truy nhập vào server chưa hẳn có quyền truy nhập vào CSDL chứa Để truy cập vào Database login phải đính (mapped) với user Database Mỗi Database có danh sách user phép truy cập vào sở liệu DATABASE ACCESS SECURITY SQL Server lưu user CSDL bảng sysusers Mỗi login user nhiều CSDL với quyền hạn mang user name khác Mặc định, user name trùng tên với login account Ví dụ: login có tên chaunnq CSDL có user chaunnq (có quyền đọc) gắn với login chaunnq CSDL có user chaunnq (có quyền đọc/ghi) gắn với login chaunnq DATABASE ACCESS SECURITY Tạo user CSDL Dùng Studio Management: Security.Users.New User Dùng lệnh sp_grantdbaccess ‘login name’, ‘user name’ Ví dụ: USE QLCH exec sp_grantdbaccess ‘chaunnq’, ‘CHAU’ Xóa user CSDL Dùng Studio Management: Security.Users.Delete Uset Dùng lệnh sp_revokedbaccess ‘user name’ Ví dụ: USE QLCH exec sp_revokedbaccess ‘CHAU’ PERMISSION SECURITY Để kiểm sốt user làm CSDL, dùng Roles Object/Statement Permission: Cấp quyền cho user thao tác object statement PERMISSION SECURITY: QUẢN LÝ ROLES Khái niệm ROLE tương tự khái niệm GROUP Role công cụ để cung cấp quyền cho nhóm user thay phải thực user Cách thức cấp quyền cho user thông qua Role: Gán quyền cho Role Xếp user vào Role Nếu khơng muốn trì quyền hạn cho user=>loại user khỏi role Có loại Role: Database Role: sử dụng để cung cấp mức khác để truy cập CSDL Server Role: sử dụng phép hạn chế user thực thao tác (operation) CSDL PERMISSION SECURITY: QUẢN LÝ ROLES Database Roles: có loại Fixed Database Roles: role có sẵn hệ thống User defined Roles: người dùng tạo Để có quyền tạo role, bạn phải thành viên db_secutityadmin, db_owner sysadmin PERMISSION SECURITY :USER DEFINED ROLE Dùng T-SQL để tạo user defined role B1: Định nghĩa role (Tạo role mới) B2: Gán quyền statement object cho role B3: Gán user thành viên role Định nghĩa role sp_addrole ‘rolename’, ‘role_owner’ Ví dụ: sp_addrole ‘teacher’ Cấp quyền cho role teacher GRANT SELECT ON NHANVIEN to teacher PERMISSION SECURITY:USER DEFINED ROLE Thêm user vào role sp_addrolemember ‘role_name’, ‘user_name’ Ví dụ: sp_addrolememer ‘teacher’, ‘chaunnq’ Xóa role: sp_droprole ‘role_name’ Ví dụ: sp_droprole ‘teacher’ PERMISSION SECURITY: OBJECT AND STATEMENT PERMISSION Kiểm soát user/role thực hành động object cụ thể CSDL Object nhỏ column Các object: column, row, table, data type, constraint, defaut, rule, index, view, stored procedure, trigger Statement Permission: điều khiển xem user phép hay ko phép tạo, xóa object (CREATE, DROP) Object Permission: điều khiển user phép thao tác liệu (INSERT, DELETE, UPDATE) object PERMISSION SECURITY: OBJECT AND STATEMENT SECURITY GRANT (Lệnh cấp quyền): Nếu bạn cấp quyền cho user, user lại thành viên role user có quyền bạn cấp + quyền role DENY (Lệnh từ chối): ngăn không cho user sử dụng quyền khơng cho phép user có hội thừa hưởng quyền với tư cách thành viên role Ví dụ: Bạn deny quyền SELECT user, user thuộc role có quyền SELECT user khơng thể dùng quyền SELECT REVOKE: thu hồi lại quyền cấp DATABASE ROLES Public role: có tất CSDL khơng thể bị xóa tất user thuộc public role Db_owner: cho phép user có quyền CSDL Db_securityadmin: cho phép user quản lý roles nhóm users role Db_accessadmin: cung cấp cho user quyền thêm xóa user khác CSDL db_ddladmin: ...Mục đích bảo mật: nhằm bảo vệ CSDL khỏi truy xuất trái phép Các mức bảo mật SQL SERVER: bảo mật SQL Server gồm lớp Mức xác thực đăng nhập... truy nhập vào server chưa hẳn có quyền truy nhập vào CSDL chứa Để truy cập vào Database login phải đính (mapped) với user Database Mỗi Database có danh sách user phép truy cập vào sở liệu ... log vào server Database access security: kiểm sốt xem user truy cập vào Database cụ thể server Permission security: kiểm soát user thực thao tác Database LOGIN SECURITY Login: Dùng để kết nối vào