phân quyền trong - docshare01.docshare.tipsdocshare01.docshare.tips/files/21588/215883867.pdfhai...

20
P hân Quyền Trong Product of Group 12 - K09406 Môn học: An Toàn và Bảo Mật Hệ Thống Thông Tin Gv: Ths. Trương Hoài Phan

Upload: others

Post on 26-Feb-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Phân Quyền Trong - docshare01.docshare.tipsdocshare01.docshare.tips/files/21588/215883867.pdfHai Phương pháp ứng với hai loại chứng thực: •Tạo một Windows account

Phân Quyền Trong

Product of Group 12 - K09406

Môn học: An Toàn và Bảo Mật Hệ Thống Thông TinGv: Ths. Trương Hoài Phan

Page 2: Phân Quyền Trong - docshare01.docshare.tipsdocshare01.docshare.tips/files/21588/215883867.pdfHai Phương pháp ứng với hai loại chứng thực: •Tạo một Windows account

1. Giới thiệu

2. Quản lí việc đăng nhập

3. Quản lí người dùng

4. Quản lí phân quyền

5. Demo

Copyright Group 12 - K09406

Page 3: Phân Quyền Trong - docshare01.docshare.tipsdocshare01.docshare.tips/files/21588/215883867.pdfHai Phương pháp ứng với hai loại chứng thực: •Tạo một Windows account

Bảo mật trong SQL server gồm ba 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ể đăng nhập vào Database của SQL server.

◦ Permission security: Kiểm soát một user có thể thực hiện thao tác gì trên Database.

1. Giới thiệu

Copyright Group 12 - K09406

Page 4: Phân Quyền Trong - docshare01.docshare.tipsdocshare01.docshare.tips/files/21588/215883867.pdfHai Phương pháp ứng với hai loại chứng thực: •Tạo một Windows account

1. Giới thiệu

Copyright Group 12 - K09406

Page 5: Phân Quyền Trong - docshare01.docshare.tipsdocshare01.docshare.tips/files/21588/215883867.pdfHai Phương pháp ứng với hai loại chứng thực: •Tạo một Windows account

Hai chế độ chứng thực:

◦ Mixed security Mode: Kết nối với SQL server 2008 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

2. Quản lí việc đăng nhập

Copyright Group 12 - K09406

Page 6: Phân Quyền Trong - docshare01.docshare.tipsdocshare01.docshare.tips/files/21588/215883867.pdfHai Phương pháp ứng với hai loại chứng thực: •Tạo một Windows account

Thao tác: Chuyển đổi chế độ chứng thực

2. Quản lí việc đăng nhập

Copyright Group 12 - K09406

Page 7: Phân Quyền Trong - docshare01.docshare.tipsdocshare01.docshare.tips/files/21588/215883867.pdfHai Phương pháp ứng với hai loại chứng thực: •Tạo một Windows account

Tạo Login Account

Hai Phương pháp ứng với hai loại chứng thực:

• Tạo một Windows account bằng hai cách:

Thao tác trực tiếp trên giao diện: chọn Sercurity.Login.New login

Dùng lệnh: sp_grantlogin ‘login’

• Tạo mới một SQL logon account bằng hai cách:

Thao tác trực tiếp trên giao diện: chọn Sercurity.Login.New login

Dùng lệnh: sp_addlogin ‘login’, ‘password’, ‘database_name’

2. Quản lí việc đăng nhập

Copyright Group 12 - K09406

Page 8: Phân Quyền Trong - docshare01.docshare.tipsdocshare01.docshare.tips/files/21588/215883867.pdfHai Phương pháp ứng với hai loại chứng thực: •Tạo một Windows account

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 troy cập một/ nhiều Database.

o SQL Server lưu các user của Database trong table sysusers.

o Một Login account có thể trở thành user của nhiều Database với

những quyền hạn và mang nhiều user name khác nhau. Mặc định

user name trùng tên với Login account.

3. Quản lí người dùng

Copyright Group 12 - K09406

Page 9: Phân Quyền Trong - docshare01.docshare.tipsdocshare01.docshare.tips/files/21588/215883867.pdfHai Phương pháp ứng với hai loại chứng thực: •Tạo một Windows account

Hai User đặc biệt:

◦ dbo: một user có tất cả các quyền trên Database.

◦ guest user: Một Login account truy xuất đến một instance của SQL

Server 2008, nhưng không có user account để truy xuất 1 Database cụ

thể, thì có thể được truy xuất đến Database như một người khách (guest

user)

3. Quản lí người dùng

Copyright Group 12 - K09406

Page 10: Phân Quyền Trong - docshare01.docshare.tipsdocshare01.docshare.tips/files/21588/215883867.pdfHai Phương pháp ứng với hai loại chứng thực: •Tạo một Windows account

◦ Khai báo một user

Dùng icon <tên Database>.User trong giao diện.

Dùng thuộc tính của Login account trong giao diện.

Dùng lệnh sp_grantdbaccess loginname.

◦ Gán user là thành viên của Database

Dùng thuộc tính của Database role trong giao diện.

Dùng thuộc tính của Login account trong giao diện.

Dùng lệnh sp_addrolemember database_role, database_user_account

3. Quản lí người dùng

Copyright Group 12 - K09406

Page 11: Phân Quyền Trong - docshare01.docshare.tipsdocshare01.docshare.tips/files/21588/215883867.pdfHai Phương pháp ứng với hai loại chứng thực: •Tạo một Windows account

• 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

• 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 Database: 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_ower

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

4. Quản lí phân quyền

Copyright Group 12 - K09406

Page 12: Phân Quyền Trong - docshare01.docshare.tipsdocshare01.docshare.tips/files/21588/215883867.pdfHai Phương pháp ứng với hai loại chứng thực: •Tạo một Windows account

ROLES:

• 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ó 2 loại Roles:

Fixed role

User-defined Database role

• Hoặc có thể phân biệt:

Role mức server

Role mức Database

4. Quản lí phân quyền

Database Roles

Server Roles

Copyright Group 12 - K09406

Page 13: Phân Quyền Trong - docshare01.docshare.tipsdocshare01.docshare.tips/files/21588/215883867.pdfHai Phương pháp ứng với hai loại chứng thực: •Tạo một Windows account

o User Defined Roles: bạn phải là thành viên của

db_securiadmin, hay db_owner, hay sysadmin, … để có thể

tạo role.

o Dùng T-SQL tạo role:

Bước 1: Định nghĩa một role (Một user_defined database role

được định nghĩa trong một DataBase)

sp_addrole role_name, role_owner

Bước 2: Gán quyền về statement và object cho role

Bước 3: Gán các role là thành viên của role

o Xóa role: Sp_droprole rolename

4. Quản lí phân quyền

Copyright Group 12 - K09406

Page 14: Phân Quyền Trong - docshare01.docshare.tipsdocshare01.docshare.tips/files/21588/215883867.pdfHai Phương pháp ứng với hai loại chứng thực: •Tạo một Windows account

o Quyền cho phép người dùng thực hiện cách hành động trong

Database. Có hai loại quyền:

Object permission (Đối tượng): Kiểm soát một User / role có thể thực thi hành động gì trên một object cụ thể trong Database.

4. Quản lí phân quyền

DELETE table , view

SELECT table, view, và column

INSERT table , view

EXECUTE stored procedure

UPDATE table, view, và column

DUMP TABLE table

Copyright Group 12 - K09406

Page 15: Phân Quyền Trong - docshare01.docshare.tipsdocshare01.docshare.tips/files/21588/215883867.pdfHai Phương pháp ứng với hai loại chứng thực: •Tạo một Windows account

Statement (Phát biểu): kiểm soát một User/role có thể thực hiện được lệnh nào sau đây:

CREATE DATABASE

CREATE DEFAULT

CREATE PROCEDURE

CREATE RULE

CREATE TABLE

CREATE VIEW

BACKUP DATABASE

BACKUP LOG

4. Quản lí phân quyền

Copyright Group 12 - K09406

Page 16: Phân Quyền Trong - docshare01.docshare.tipsdocshare01.docshare.tips/files/21588/215883867.pdfHai Phương pháp ứng với hai loại chứng thực: •Tạo một Windows account

Các thao tác về quyền:

◦ Lệnh Cấp Quyền (grant): Nếu bạn cấp quyền cho User và User là thành viên của một Role. Các quyền mà User có được hợp lại từ hai phía.

Granting Statement Permission :

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

Granting Object Permission :

GRANT { { ALL | permission [ ,...n ] } [ (column_name [ ,...n ] ) ]

ON { table | view | stored_procedure |extended_procedure | user_defined_function }} TO user_name [ ,...n ]

4. Quản lí phân quyền

Copyright Group 12 - K09406

Page 17: Phân Quyền Trong - docshare01.docshare.tipsdocshare01.docshare.tips/files/21588/215883867.pdfHai Phương pháp ứng với hai loại chứng thực: •Tạo một Windows account

◦ Lệnh chối từ (deny): Ngăn User sử dụng quyền và khôngcho phép User có cơ hội thừa hưởng do là thành viên củamột Role.

Denying Statement Permission :

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

Denying Object Permission :

DENY { { ALL | permission [ ,...n ] } [ ( column_name[ ,...n ] ) ]

ON { table | view | stored_procedure |extended_procedure | user_defined_function }}

TO user_name [ ,...n ]

4. Quản lí phân quyền

Copyright Group 12 - K09406

Page 18: Phân Quyền Trong - docshare01.docshare.tipsdocshare01.docshare.tips/files/21588/215883867.pdfHai Phương pháp ứng với hai loại chứng thực: •Tạo một Windows account

◦ Lệnh hủy (revoke): Hủy quyền đã cấp grant hay từ chối deny

Revoking Statement Permission :

REVOKE { ALL | statement [ ,...n ] } FROM user_name [ ,...n ]

Revoking Object Permission :

REVOKE { { ALL | permission [ ,...n ] } [ (column_name [ ,...n ] ) ]

ON { table | view | stored_procedure |extended_procedure | user_defined_function }}

{TO | FROM} user_name [ ,...n ]

4. Quản lí phân quyền

Copyright Group 12 - K09406

Page 19: Phân Quyền Trong - docshare01.docshare.tipsdocshare01.docshare.tips/files/21588/215883867.pdfHai Phương pháp ứng với hai loại chứng thực: •Tạo một Windows account

5. Demo

Copyright Group 12 - K09406

Page 20: Phân Quyền Trong - docshare01.docshare.tipsdocshare01.docshare.tips/files/21588/215883867.pdfHai Phương pháp ứng với hai loại chứng thực: •Tạo một Windows account

Phân Quyền Trong

Product of Group 12 - K09406

Q & A