Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 31 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
31
Dung lượng
238,5 KB
Nội dung
1 Chương8SECURITY 2 BẢOMẬT TRONG SQL SERVER Bảomật trong SQL Server gồm 3 lớp : – Login security : kiểm soát ai có thể log vào SQL Server. – Database access security : kiểm soát ai có thể truy cập vào một DB cụ thể trên server. – Permission security : kiểm soát một user có thể thực hiện thao tác gì trên DB. 3 BẢOMẬT TRONG SQL SERVER 4 Login security Hai loại chứng thực 1. Windows Authentication: User chỉ cần được cấp account trong Windows 2000. SQL Server sẽ dựa vào Windows 2000 để chứng thực cho user. gọi là kết nối tin tưởng. Khi kết nối đến SQL server theo cách này thì có nghĩa là được uỷ nhiệm bảomật của Windows 2. SQL Server Authentication: Người quản trị CSDL tạo ra tài khoản và password đăng nhập của SQL server. 5 – Như vậy, nếu các client không có phép log vào Windows 2000 nhưng vẫn có thể connect với SQL Server nếu có một SQL Server login account. − Thông tin đăng nhập được lưu trong bảng sysxlogins của CSDL master − Khi dùng chế độ chứng thực SQLServer, một tài khoản đăng nhập mặc định là sa , mật khẩu là null Login security 6 Login security Hai chế độ chứng thực: Mixed security Mode Kết nối với SQL server 2000 bằng cách dùng Windows Authentication hoặc SQL server Authentication Windows authentication mode Chỉ có thể kết nối với SQL server 2000 bằng Windows Authentication, Windows NT kiểm tra an toàn tất cả các kết nối đến SQL server Thao tác : Chuyển đổi chế độ chứng thực 7 8 Tạo Login account Hai phương pháp ứng với hai loại chứng thực a) Khai báo một Windows account : 2 cách – Dùng EM : Chọn Security.Login.New login – Dùng lệnh: sp_grantlogin ‘login’ b) Tạo mới một SQL login account : 2 cách – Dùng EM : Chọn Security.Login.New login – Dùng lệnh: sp_addlogin ‘login’,’password’,’database_name’ Login security 9 Login security Chú ý : Khi tạo login account, có một thao tác là chọn một default database. Việc chọn default database chỉ là thiết lập một default context cho user, chứ không phải là cấp quyền cho user trên database này. Trình cài đặt SQL Server tự động thiết lập hai Windows login account Một cho built-in Windows 2000 Administrator group Một cho SQL Server service account. Trình cài đặt cũng tự động tạo một SQL Server login account gọi là sa cho các nhà quản trị hệ thống. 10 Database access security Sau khi cấp login account để truy cập vào SQL Server, bạn cần cấp cho login account này quyền là một user truy cập một / nhiều database. – SQL Server lưu các user của mỗi database trong table sysusers . – Một login account có thể trở thành user của nhiều database với những quyền hạn và có thể mang user name khác nhau. Mặc định user name trùng tên với login account . [...]... roles server: Bằng T-SQL: sp_addsrvrolemember [@loginame=]‘login’, [rolename=] role’ Login: là ID đăng nhập vào SQL server Role : tên roles server gán cho đăng nhập 18 Permission security ROLES Cách gán một User vào database roles Use Northwind EXEC Sp_addrolemember 'db_securityadmin', ' CDCN4\KeToan' 19 Permission security ROLES User Defined Roles: Bạn phải là thành viên của db_securityadmin, hay... Permission security ROLES Hai loại role Fixed role gồm Server role và Database role do SQL Server tạo , không thay đổi được User-defined database role Hoặc có thể phân biệt : Role mức server : fixed server role do hệ thống tạo sẵn , không thay đổi được Role mức database : có 2 loại fixed database role, và user defined database role Mỗi role có phạm vi trong một database 17 Permission security. ..Database access security Khi chỉ định 1 login account là user của một DB, mặc nhiên user thuộc về public database role Bạn có thể thông qua role này để chỉnh sửa quyền của user Khi gán 1 login account là thành viên của một database role trên một DB, nó trở thành một user của database này 11 Database access security Hai user đặc biệt dbo là một user có tất cả... Database access security Khai báo một user Dùng icon .User trong EM Dùng thuộc tính của login account trong EM Dùng lệnh sp_grantdbaccess loginname Gán user là thành viên của database role : • Dùng thuộc tính của database role trong EM • Dùng thuộc tính của login account hay user account trong EM • Dùng lệnh sp_addrolemember database_role,database_user_account 13 Permission security −... database_role,database_user_account 13 Permission security − − Kiểm soá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 14 Permission security Các cơ chế cấp quyền : dùng login account được tạo sẵn bởi hệ thống và được gán role default như : Chỉ định 1 login account là user của một db mặc định có quyền thuộc public database... / Cơ chế role bao trùm sa được gán sysadmin fixed server role sysadmin bao trùm db_owner Sử dụng các lệnh Cấp quyền cho user thao tác trên object và statement như grant, deny, revoke 15 Permission security ROLES cụ cho phép cấp quyền cho một Role là một công − − − nhóm user thay vì thực hiện trên từng user Các quyền được grant, deny hay revoke trên role đều có hiệu lực với các thành viên của role... Sp_addrolemember 'db_securityadmin', ' CDCN4\KeToan' 19 Permission security ROLES User Defined Roles: Bạn phải là thành viên của db_securityadmin, hay db_owner , hay sysadmin, để có thể tạo role Dùng T-SQL tạo role B1: Định nghĩa một role (Một user_defined database role được định nghĩa trong một DB) sp_addrole role_name, role_owner B2: Gán quyền về statement và object cho role B3: Gán các user là... Object Permission : REVOKE { { ALL | permission [ , n ] } [ ( column_name [ , n ] ) ] ON { table | view | stored_procedure | extended_procedure | user_defined_function }} {TO | FROM} user_name [ , n ] 28 Statement and Object permission GRANT CREATE DATABASE, CREATE TABLE TO Sally go GRANT SELECT, UPDATE ON Customers (CompanyName, City, Phone) TO Sally go DENY CREATE DATABASE TO Sally, Andy go DENY UPDATE,