1. Trang chủ
  2. » Giáo án - Bài giảng

Chương 14 SECURITY

54 700 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Cấu trúc

  • Chương 14 SECURITY

  • Mục tiêu

  • Một số khái niệm

  • Khái quát về tính bảo mật trong SQL Server

  • Login ID và user ID

  • Slide 6

  • Authentication &Authorization

  • Tạo tài khoản đăng nhập Login ID

  • Tạo tài khoản đăng nhập của Windows

  • Tạo tài khoản của SQL server

  • Xem các login ID

  • Tạo user cho DB hiện hành

  • Slide 13

  • Role là gì?

  • Vai trò của role

  • Ví dụ minh hoạ

  • Ví dụ

  • Slide 18

  • Slide 19

  • Slide 20

  • Các loại User Roles

  • Fixed Server Roles

  • Slide 23

  • Slide 24

  • Slide 25

  • Database roles

  • Slide 27

  • Slide 28

  • Slide 29

  • Thêm thành viên vào DB role

  • sp_addrolemember

  • Custom Database Roles

  • Tạo DB role tuỳ biến

  • Vai trò của Application Roles

  • Application Roles

  • Application Role

  • Slide 37

  • Slide 38

  • sp_addapprole

  • sp_setapprole

  • Ví dụ

  • Các loại quyền (Permissions)

  • Object Permissions (Quyền về đối tượng)

  • Statement Permissions Quyền về lệnh

  • Implied Permissions Quyền ngầm định

  • Data Control Language

  • Slide 47

  • Slide 48

  • Data Control Language (Contd.)

  • Slide 50

  • Giải quyết xung đột các quyền

  • Slide 52

  • Slide 53

  • Slide 54

Nội dung

1 1 Chương 14 Chương 14 SECURITY SECURITY Bảo mật trong cơ sở dữ liệu Bảo mật trong cơ sở dữ liệu 2 M M ục tiêu ục tiêu  Trong phần này, chúng ta sẽ học về: Trong phần này, chúng ta sẽ học về:  Các tính chất bảo mật của SQL Server Các tính chất bảo mật của SQL Server  Tạo tài khoản đăng nhập (user login) Tạo tài khoản đăng nhập (user login)  Phân biệt tài khoản đăng nhập (user login) và tài Phân biệt tài khoản đăng nhập (user login) và tài khoản người dùng (user ID) khoản người dùng (user ID)  Các loại User Roles: Các loại User Roles: • Fixed Server Roles Fixed Server Roles • Database Roles Database Roles  Các loại quyền bảo mật( Security Permissions) Các loại quyền bảo mật( Security Permissions)  Nhóm lệnh DCL : GRANT, DENY, REVOKE Nhóm lệnh DCL : GRANT, DENY, REVOKE  Giải quyết xung đột giữa các quyền Giải quyết xung đột giữa các quyền 3 Một số khái niệm Một số khái niệm  Authentication: là 1 quy trình dùng để xác nhận Authentication: là 1 quy trình dùng để xác nhận một ai đó có phải thực sự chính là họ không. một ai đó có phải thực sự chính là họ không. Thường quy trình này liên quan đến username Thường quy trình này liên quan đến username và password. Authentication tương đương với và password. Authentication tương đương với việc trình hộ chiếu ở cổng soát vé của sân bay. việc trình hộ chiếu ở cổng soát vé của sân bay.  Authorization dùng để tìm xem một người sau Authorization dùng để tìm xem một người sau khi đã được nhận dạng có quyền được sử dụng khi đã được nhận dạng có quyền được sử dụng tài nguyên không? Authorization tương đương tài nguyên không? Authorization tương đương với việc kiểm tra vé để được phép lên máy bay. với việc kiểm tra vé để được phép lên máy bay. 4 Kh Kh ái quát về tính bảo mật trong ái quát về tính bảo mật trong SQL SQL Server Server  M M ỗi ỗi database n database n ên có 1 hệ thống bảo mật ên có 1 hệ thống bảo mật đáng tin cậy ( đáng tin cậy ( reliable security system reliable security system ) để ) để giám sát mọi hoạt động cũng như các giám sát mọi hoạt động cũng như các thông tin cần được xem và chỉnh sửa thông tin cần được xem và chỉnh sửa  Một hệ thống bảo mật đáng tin cậy ph Một hệ thống bảo mật đáng tin cậy ph ải ải bảo bảo đám được việc bảo vệ dữ liệu bất kể việc user đám được việc bảo vệ dữ liệu bất kể việc user đã dùng cách nào để truy xuất vào database. đã dùng cách nào để truy xuất vào database. SQL áp dụng các quyền bảo mật vào c SQL áp dụng các quyền bảo mật vào c ác ác mức: mức: mức database, mức các đối tượng và mức c mức database, mức các đối tượng và mức c ác ác cột của bảng cột của bảng 5 Login ID và user ID Login ID và user ID  Cần phân biệt Login ID và user ID: Cần phân biệt Login ID và user ID:  Người dùng muốn truy xuất vào Microsoft Người dùng muốn truy xuất vào Microsoft SQL Server, thì phải có login ID và password. SQL Server, thì phải có login ID và password. Nhưng login ID chính nó không cho phép Nhưng login ID chính nó không cho phép nguời dùng quyền truy xuất đến các DB. nguời dùng quyền truy xuất đến các DB.  User ID nhận dạng người dùng trong 1 DB. User ID nhận dạng người dùng trong 1 DB. Tất cả các quyền và chủ quyền của các đối Tất cả các quyền và chủ quyền của các đối tượng trong DB đều được điều khiển bởi user tượng trong DB đều được điều khiển bởi user ID. Ví dụ user ID là xyz trong DB sales khác ID. Ví dụ user ID là xyz trong DB sales khác với user ID cũng tên là xyz trong DB với user ID cũng tên là xyz trong DB inventory. inventory. 6 Login ID và user ID Login ID và user ID  Một login ID phải kết hợp với 1 user ID trong mỗi Một login ID phải kết hợp với 1 user ID trong mỗi DB để truy xuất dữ liệu trong DB. Nếu login ID DB để truy xuất dữ liệu trong DB. Nếu login ID không được kết hợp tường minh với 1 user ID không được kết hợp tường minh với 1 user ID thì nó sẽ kết hợp với user ID là guest. Nếu DB thì nó sẽ kết hợp với user ID là guest. Nếu DB không có user ID guest thì không thể truy xuất không có user ID guest thì không thể truy xuất vào DB được vào DB được  sa sa là 1 tài khoản đăng nhập (login account) được là 1 tài khoản đăng nhập (login account) được ánh xạ tự động với user ID ánh xạ tự động với user ID dbo dbo trong mọi DB. trong mọi DB.  Guest là user ID đặc biệt Guest là user ID đặc biệt  Việc quản trị sẽ dễ dàng hơn nếu login ID và Việc quản trị sẽ dễ dàng hơn nếu login ID và user ID giống nhau nhưng điều này không bắt user ID giống nhau nhưng điều này không bắt buộc. buộc. 7 Authentication &Authorization Authentication &Authorization  Tài khoản đăng nhập (Login ID) sẽ được Tài khoản đăng nhập (Login ID) sẽ được ánh xạ với tài khoản user ( user ID) để cho ánh xạ với tài khoản user ( user ID) để cho phép user được quy phép user được quy ền truy xu ền truy xu ất trong 1 ất trong 1 DB. Quá trình này gọi là DB. Quá trình này gọi là authorization authorization (hay (hay permission validation). User sẽ không thể permission validation). User sẽ không thể truy xuất vào DB ngay cả khi họ có tài truy xuất vào DB ngay cả khi họ có tài khoản đăng nhập (login ID ) hợp lệ. khoản đăng nhập (login ID ) hợp lệ. 8 Tạo tài khoản đăng nhập Login ID Tạo tài khoản đăng nhập Login ID  Hai dạng login ID: Hai dạng login ID:  Dùng tài khoản đăng nhập của chính Windows Dùng tài khoản đăng nhập của chính Windows như tài khoản đăng nhập vào SQL server. như tài khoản đăng nhập vào SQL server.  Tạo 1 tài khoản đăng nhập của riêng SQL server Tạo 1 tài khoản đăng nhập của riêng SQL server  Login ID đặc biệt: Login ID đặc biệt:  Tài khoản administrator của Windows Tài khoản administrator của Windows  Tài khoản thuộc nhóm administrator của SQL Tài khoản thuộc nhóm administrator của SQL server ( sa thuộc nhóm này) server ( sa thuộc nhóm này)   Có quyền truy cập đến mọi CSDL Có quyền truy cập đến mọi CSDL 9 Tạo tài khoản đăng nhập của Tạo tài khoản đăng nhập của Windows Windows  Dùng lệnh: Dùng lệnh: sp_grantlogin sp_grantlogin [ [ @loginame @loginame = = ] ] ' ' login login ‘ ‘  Ví dụ: muốn có thể đăng nhập vào SQL Ví dụ: muốn có thể đăng nhập vào SQL server bằng account của Windows là server bằng account của Windows là user1, ta dùng lệnh sau: user1, ta dùng lệnh sau: sp_grantlogin ‘user1’ sp_grantlogin ‘user1’  Dùng Enterprise Manager: Dùng Enterprise Manager:  Security\Logins, nhấp phải chọn New Security\Logins, nhấp phải chọn New Login, chọn Authentication Windows Login, chọn Authentication Windows 10 Tạo tài khoản của SQL server Tạo tài khoản của SQL server  Chỉ có người quản tri (administrator) mới có Chỉ có người quản tri (administrator) mới có quyền tạo login ID mới. quyền tạo login ID mới.  Dùng lệnh Dùng lệnh sp_addlogin sp_addlogin [ [ @loginame = @loginame = ] ] ' ' login login ' ' [ [ , , [ [ @passwd = @passwd = ] ] ' ' password password ' ' ] [ ] [ , , [ [ @defdb = @defdb = ] ] ' ' database database ' ' ] ]  Ví dụ: Ví dụ: EXEC sp_addlogin ‘student1', 'Password', EXEC sp_addlogin ‘student1', 'Password', 'master‘ 'master‘  Dùng Enterprise Manager: Dùng Enterprise Manager:  Security\Logins, nhấp phải chọn New Login, Security\Logins, nhấp phải chọn New Login, chọn Authentication SQL server chọn Authentication SQL server [...]... bảo mật (security account):    có thể là bất kỳ user hợp lệ nào của SQL server Có thể là 1 role nào đó của SQL Server có thể là bất kỳ user hay group nào của Windows đã được gán quyền truy cập vào DB hiện hành  Dùng lệnh sp_addrolemember để thêm 1 tài khoản vào 1 role, khi đó thành viên có thể kế thừa bất kỳ quyền nào của role đó sp_addrolemember [ @rolename = ] 'role' , [ @membername = ] 'security_ account'... sp_addrolemember [ @rolename = ] 'role' , [ @membername = ] 'security_ account' 30 sp_addrolemember  Cú pháp sp_addrolemember [ @rolename = ] 'role' , [ @membername = ] 'security_ account' sp_droprolemember [ @rolename = ] 'role' , [ @membername = ] 'security_ account' 31 Custom Database Roles  Người dùng có thể cần có thêm một số quyền mà các quyền này chưa được xác định trong bất kỳ role database cố định nào... từng user riêng lẻ Có 3 loại database roles: • Fixed • Custom • Application 26 Fixed Database Roles DatabaseRole Mô tả db_owner Có tất cả các quyền trong DB db_accessadmin Thêm hay xóa các user ID db_securityadmin Quản lý tất cả các role và permission trong DB,có thể thay đổi chủ quyềnower (ownership) db_ddladmin Có thể thực hiện tất cả các lệnh DDL nhưng không thể sử dụng các lệnh GRANT, REVOKE hay... thành viên trong nhóm sẽ có quyền như nhau Nếu chức năng của nhóm thay đổi, ta chỉ đơn giản thay đổi quyền của nhóm, khi đó những thay đổi này sẽ được tự động áp dụng cho tất cả các thành viên trong nhóm 14 Vai trò của role   Để dễ quản lý 1 DB, nên xác định 1 tập hợp các role dựa theo yêu cầu công việc và gán mỗi role những quyền hạn (permission) khác nhau Sau đó, chỉ cần chuyển các user vào các role... xác lập lượng bộ nhớ mà SQL server có thể dùng khi truyền thông tin qua mạng 22 Fixed Server Roles     setupadmin: có quyền thực thi replication và quản trị các thủ tục (extended stored procedures) securityadmin: điều hành bảo mật như tạo login và gán quyền processadmin: có quyền kết thúc các tiến trình được gọi không hợp lệ dbcreator: tạo và chỉnh sửa database 23 Fixed Server Roles   diskadmin:... sẽ gán các user vào role 32 Tạo DB role tuỳ biến  Dùng lệnh sp_addrole [ @rolename = ] 'role' [ , [ @ownername = ] 'owner' ]  Bằng Enterprise Manager  Chỉ có những thành viên của role sysadmin, db_securityadmin và db_owner mới có quyền chạy lệnh này  Ví dụ: tạo 1 role mới tên Managers cho CSDL hiện hành EXEC sp_addrole 'Managers' 33 Vai trò của Application Roles    Hệ thống bảo mật trong SQL . 1 1 Chương 14 Chương 14 SECURITY SECURITY Bảo mật trong cơ sở dữ liệu Bảo mật trong cơ sở dữ liệu 2 M M ục tiêu ục. sau khi người quản , sau khi người quản trị cho phép 5 tài khoản Windows bao gồm giáo trị cho phép 5 tài khoản Windows bao gồm giáo sư John, Sarah, Diane và 2 sinh viên Betty và sư John, Sarah,. sp_revokedbaccess 'CorporateGeorgeW EXEC sp_revokedbaccess 'CorporateGeorgeW ' ' 14 Role là gì? Role là gì?  Role là một công cụ cực mạnh cho phép ta tập Role là một công cụ cực

Ngày đăng: 12/05/2014, 12:04

TỪ KHÓA LIÊN QUAN

w