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

Chương 8 Bảo mật - Security

31 509 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề Chương 8 Bảo mật - Security
Trường học Vietnam National University, Hanoi
Chuyên ngành Information Technology
Thể loại Lecture notes
Thành phố Hà Nội
Định dạng
Số trang 31
Dung lượng 238,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

– Database access security : kiểm soát ai có thể truy cập vào một DB cụ thể trên server.. Database access security Sau khi cấp login account để truy cập vào SQL Server, bạn cần cấp cho l

Trang 1

Chương 8

SECURITY

Trang 2

BẢO MẬT TRONG SQL SERVER

Bảo mậ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

Trang 3

BẢO MẬT TRONG SQL SERVER

Trang 4

nhiệm bảo mậ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

Trang 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

Trang 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

Trang 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

Trang 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.

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.

Trang 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

Trang 11

 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

Database access security

Trang 12

Hai user đặc biệt

dbo là một user có tất cả các quyền trên DB

Mặc định tất cả các thành viên thuộc sysadmin server role đều là dbo của tất

cả các DB trên server.

Một login account là thành viên của db_owner database role thì cũng có quyền

như dbo.

Khi thao tác các object trong DB, các thành viên này có thể dùng tên dbo để chỉ

owner thay cho user name.

guest user : Một login account truy suất đến 1 instance của SQL Server 2000, nhưng không có user account để truy xuất 1 DB cụ thể , thì có thể được truy xuất đến DB như một người khách

(guest user)

Bạn có thể cấp các quyền cho guest user account giống như cấp cho các user

account khác Tuy nhiên đây là user account dành cho khách vãng lai.

− Mặc định chỉ có master, tempdb, northwind, pubs database là có guest user Các

db khác không có sẵn guest user account

Database access security

Trang 13

 Khai báo một user

 Dùng icon <tên DB>.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 access security

Trang 15

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ư :

 sa được gán sysadmin fixed server role

Chỉ định 1 login account là user của một db

 mặc định có quyền thuộc public database role

Sử dụng role / Cơ chế role bao trùm

 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

Permission security

Trang 16

Role là một công cụ cho phép cấp quyền cho một

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

− Nếu không còn muốn duy trì quyền hạn cho một user

bạn chỉ cần loại user khỏi danh sách các thành viên của role

− Thường các role được định nghĩa dựa vào nhóm công

việc của một nhóm user

Permission security

ROLES

Trang 17

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

Permission security

ROLES

Trang 18

Cách gán một đăng nhập cho 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

Permission security ROLES

Trang 19

Cách gán một User vào database roles

Use Northwind EXEC Sp_addrolemember 'db_securityadmin', ' CDCN4\KeToan'

Permission security ROLES

Trang 20

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à thành viên của role

 Xoá role:

Sp_droprole rolename

Permission security ROLES

Trang 21

Statement and Object permission

Trang 22

Object permission :

Kiểm soát một user/role có thể thực hiện hành động gì trên một object cụ thể trong database Object nhỏ nhất là column

DELETE table , view

DUMP TABLE table

EXECUTE stored procedure

INSERT table , view

SELECT table, view, và column

UPDATE table, view, và column

Statement and Object permission

Trang 23

Statement and Object permission

Trang 24

Lệnh từ chối (deny)

Ngăn user sử dụng quyền và không cho phép user

có cơ hội thừa hưởng do là thành viên của một

role

Bạn deny quyền SELECT của một user, trong khi

user thuộc về một role có quyền SELECT, thì user

cũng không thể dùng quyền SELECT.

Statement and Object permission

Trang 25

Lệnh hủy (revoke)

Huỷ quyền đã cấp grant hay đã từ chối deny.

 Việc hủy quyền đã cấp của một user không ngăn

cản user thừa hưởng do là thành viên của một

role (khác với deny)

 Việc hủy quyền đã deny của một user có nghĩa

cho phép user có lại quyền nếu là thành viên của

một role có quyền đó

Statement and Object permission

Trang 26

GRANT { ALL | statement [ , n ] } TO user_name [, n ]

GRANT { { ALL | permission [

Trang 27

Denying Statement Permission :

DENY { ALL | statement [ , n ] } TO user_name

[ , n ]

DENY { { ALL | permission [

Trang 28

REVOKE { ALL | statement [ , n ] } FROM

user_name [ , n ]

REVOKE { { ALL | permission [

{TO | FROM} user_name [ , n ]

Statement and Object permission

Trang 29

GRANT CREATE DATABASE, CREATE TABLE

TO Sally

go

GRANT SELECT, UPDATE

ON Customers (CompanyName, City, Phone)

DENY UPDATE, DELETE

Statement and Object permission

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

TỪ KHÓA LIÊN QUAN