Tải bản đầy đủ (.pdf) (52 trang)

SQL BẢO MẬT PHÂN QUYỀN

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.4 MB, 52 trang )

MICROSOFT SQL SERVER

BẢO MẬT & PHÂN QUYỀN
GV: Nguyễn Thị Cẩm Hương

FACULTY OF INFORMATION TECHNOLOGY


MICROSOFT SQL SERVER

TẦM QUAN TRỌNG CỦA
BẢO MẬT
• Mục đích chính: bảo vệ dữ liệu
• Bảo mật: các cơng cụ điều khiển việc truy cập dữ liệu
• Rủi ro có thể xảy ra: someone gain unauthorized

access

FACULTY OF INFORMATION TECHNOLOGY


MICROSOFT SQL SERVER

BẢO MẬT TRONG SQL SERVER
• Bảo mật trong SQL Server gồm 3 lớp:
• Login security: kiểm sốt ai có thể log vào SQL Server
• Database access security: kiểm sốt ai có thể truy cập

vào một DB cụ thể trên server
• Permission security: kiểm sốt một user có thể thực hiện
thao tác gì trên DB



FACULTY OF INFORMATION TECHNOLOGY


MICROSOFT SQL SERVER

BẢO MẬT TRONG CSDL

FACULTY OF INFORMATION TECHNOLOGY


MICROSOFT SQL SERVER

LOGIN SECURITY
• Có 2 loại chứng thực:
• Windows Authentication
• Users chỉ cần được cấp account trong Windows server
• SQL Server dựa vào Windows để chứng thực cho user
• Cách kết nối này gọi là kết nối tin tưởng, dựa vào ủy nhiệm
bảo mật của windows

• 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.
• Thơng tin đăng nhập được lưu trong bảng sysxlogins của CSDL
master
FACULTY OF INFORMATION TECHNOLOGY


MICROSOFT SQL SERVER


LOGIN SECURITY-CHẾ ĐỘ CHỨNG THỰC
• Mixed Security Mode
• Windows authentication mode
• Thay đổi chế độ chứng thực:
• Launch SQL Server Management Studio.
1. Ơ Object Explorer chọn server.
2. Right-click trên server, chọn Properties.
3. Dưới ‘‘Select a page’’, chọn Security.
4. Mục ‘‘Server authentication,’’ chọn
authentication thích hợp
FACULTY OF INFORMATION TECHNOLOGY


MICROSOFT SQL SERVER

LOGINS
• Windows logins:
• Thích hợp với tài khoản user hay group lưu trữ trong
Aactive Directory hay local Security Accounts Manager
(SAM) database.

• SQL logins:
• Dùng cho các đối tượng khơng có tài khoản windows
• Dựa vào thơng tin lưu trữ và quản lý tài khoản của SQL
Server

FACULTY OF INFORMATION TECHNOLOGY



MICROSOFT SQL SERVER

TẠO LOGINS trong
Management studio
1. Ở Object Explorer, chọn server.
2. Mở thư mục Security.
3. R_Click Logins và chọn ‘‘New Login.’’
4. Tại hộp thoại Login–New , nhập tên login muốn tạo
hoặc click Search button chọn account Windows
5. Nếu tạo SQL Login, chọn ‘‘SQL Server authentication’’
6. Khi chọn ‘‘SQL Server authentication,’’ ta có thể chọn
khơng kiểm tra password policies
7. Chọn CSDL và ngôn ngữ mặc định
FACULTY OF INFORMATION TECHNOLOGY


MICROSOFT SQL SERVER

TẠO LOGINS sử dụng T-SQL
CREATE LOGIN [name] {WITH <options> | FROM <source>}
VD:
CREATE LOGIN Bill WITH PASSWORD = ‘P@ssw0rd’
HASHED
- Hashed values?

SELECT LOGINPROPERTY(’bill’, ‘passwordhash’)
FACULTY OF INFORMATION TECHNOLOGY


MICROSOFT SQL SERVER


Sử dụng CREATE LOGIN
• Tạo mới login cho user có tên TINTIN trên MYPC server:
CREATE LOGIN [MYPC\TIN] from Windows;
• Tạo mới login cho Windows group
CREATE LOGIN [MYPC\Family] from Windows;
• Tạo mới login cho SQL SERVER LOGIN cho user MISA:
CREATE LOGIN MISA
WITH PASSWORD=‘Misa12@34p@ass’;
• Đổi password:
ALTER LOGIN MISA WITH PASSWORD = ‘newpassword’,
CHECK_POLICY=OFF
• Xóa login: DROP LOGIN [MYPC\MISA];
FACULTY OF INFORMATION TECHNOLOGY


MICROSOFT SQL SERVER

LƯU Ý KHI TẠO SQL SERVER LOGIN
• Khơng để trống trường Password hoặc sử dụng các giá
trị “Password”, “Admin”, “Administrator”, “sa”, hay
“sysadmin”
• Khơng sử dụng tên máy, hoặc tên người dùng hiện thời
• Có nhiều hơn 8 kí tự
• Phải chứa ít nhất ba trong số các loại kí tự sau: Chữ cái,
viết hoa, Chữ cái viết thường, kí tự số, Các kí tự đặc
biệt (#, %, &, …)

FACULTY OF INFORMATION TECHNOLOGY



MICROSOFT SQL SERVER

QUYỀN (PERMISSION)
• Các quyền chuẩn của các đối tượng SQL Server

FACULTY OF INFORMATION TECHNOLOGY


MICROSOFT SQL SERVER

VAI TRỊ (ROLES)
• Vai trị: tập các quyền
• Dùng để gán cho một người dùng hoặc nhóm người dùng

• Các vai trị mặc định của SQL Server
• Vai trị Server mặc định (Fixed Server Role)
• Vai trị CSDL mặc định (Fixed Database Role)

• Có quyền định nghĩa thêm các vai trị mới
• Mỗi vai trị được gán một tập quyền. VD:
• Vai trị dbcreator có thể thực thi các câu lệnh:
CREATE/ALTER/DROP DATABASE/RESTORE DATABASE

FACULTY OF INFORMATION TECHNOLOGY


MICROSOFT SQL SERVER

VAI TRỊ SERVER (SERVER ROLES)

• Vai trị Server mặc định bao gồm những người
dùng quản trị Server
Mô tả

Vai trị
sysadmin

Có thể thực hiện mọi thao tác trên server. Theo mặc định,
tất cả thành viên trong nhóm Windows
BUILTIN\Administrators đều là thành viên của vai trị này.

securityadmin

Có thể quản lý ID và mật khẩu đăng nhập cho server, đồng
thời có thể cấp, từ chối và thu hồi quyền trên cơ sở dữ liệu

dbcreator

Có thể tạo, thay đổi, xóa và khơi phục cơ sở dữ liệu.





FACULTY OF INFORMATION TECHNOLOGY


MICROSOFT SQL SERVER

VAI TRỊ CSDL (Database ROLES)

Vai trị

Mơ tả

Db_owner

Có tất cả các quyền đối với CSDL

Db_accessadmin

Có quyền thêm hoặc xóa một LoginID của CSDL

Db_securityadmin

Có thê quản trị quyền đối tượng, quyền CSDL, Vai trị, các
thành viên của Vai trị

Db_datawriter

Có thể thêm, xóa, cập nhật dữ liệu trên tồn bộ các bảng
trong CSDL

Db_datareader

Có thể truy xuất dữ liệu từ tất cả các bảng trong CSDL

Db_denydatawriter

Khơng thể thêm, xóa, cập nhật dữ liệu trên tồn bộ các
bảng trong CSDL


Db_denydatareader

Khơng thể truy xuất dữ liệu từ tất cả các bảng trong CSDL

Db_backupoperator

Có thể thực hiện sao lưu CSDL và chạy các kiểm tra tính
nhất quán trên CSDL

FACULTY OF INFORMATION TECHNOLOGY


MICROSOFT SQL SERVER

TẠO MỘT LOGIN VỚI
Fixed server role
• sp_addsrvrolemember [ @loginame= ] ‘login’ , [
@rolename = ] ‘role’
--create
USE master
CREATE LOGIN Ted WITH PASSWORD = ‘P@ssw0rd’;
GO
EXEC sp_addsrvrolemember ‘Ted’, ‘securityadmin’;
GO

--drop
USE master
EXEC sp_dropsrvrolemember ‘Ted’, ‘securityadmin’;
GO

FACULTY OF INFORMATION TECHNOLOGY


MICROSOFT SQL SERVER

Database Users
- Tạo mới DB Users trong Management Studio
1. Ở Object Explorer, mở Databases.
2. Chọn CSDL (vd: Adventuresworks)
3. Mở Security.
4. R_Click Users và chọn ‘‘New User.’’
5. Nhập tên user vào User Name box. VD: Carol
6. Nhập tên user (Carol) trong ‘‘Login name’’ box, hoặc
chọn tên login bằng cách click ‘‘...’’ button.
7. Nhập tên nhánh CSDL( Sales) trong ‘‘Default
schema’’ box.
8. Click OK.
FACULTY OF INFORMATION TECHNOLOGY


MICROSOFT SQL SERVER

Tạo mới DB Users bằng T-SQL
CREATE USER name [{{FOR | FROM} source | WITHOUT
LOGIN]
[WITH DEFAULT_SCHEMA = schema_name]
- Sửa
ALTER USER <Tên user> WITH
[NAME = <Tên user mới>]
[, DEFAULT_SCHEMA = <Tên schema>]


- Xóa

DROP USER <Tên user>

FACULTY OF INFORMATION TECHNOLOGY


MICROSOFT SQL SERVER

Ví dụ
USE master;
CREATE LOGIN [AughtEight\Bob] FROM WINDOWS;
USE AdventureWorks2008;
CREATE USER BillyBob FOR LOGIN [AughtEight\Bob]
WITH DEFAULT_SCHEMA = sales;

FACULTY OF INFORMATION TECHNOLOGY


MICROSOFT SQL SERVER

CÁC THỦ TỤC THƯỜNG THAO TÁC
VỚI DABASE USER TRONG SQL
SERVER 2008

FACULTY OF INFORMATION TECHNOLOGY


MICROSOFT SQL SERVER


QUYỀN (PERMISSION)
• Có 3 loại quyền
• Object Permissions
• Statement Permissions
• Implied Permissions

• Tất cả các quyền trong SQL server tồn tại 1
trong 3 trạng thái:
• GRANTED ( cấp quyền)
• REVOKED (thu hồi)
• DENIED (từ chối).

FACULTY OF INFORMATION TECHNOLOGY


MICROSOFT SQL SERVER

OBJECT PERMISSION
• SELECT
• INSERT
• UPDATE
• DELETE
• REFERENCES
• EXECUTE

FACULTY OF INFORMATION TECHNOLOGY


MICROSOFT SQL SERVER


STATEMENT PERMISSIONS
(Quyền về lệnh)
• BACKUP DATABASE
• BACKUP LOG
• CREATE DATABASE
• CREATE DEFAULT
• CREATE FUNCTION
• CREATE PROCEDURE
• CREATE RULE
• CREATE TABLE
• CREATE VIEW
FACULTY OF INFORMATION TECHNOLOGY


MICROSOFT SQL SERVER

DATA CONTROL LANGUAGE - GRANT
• GRANT : gán quyền trên câu lệnh
GRANT { ALL | statement [ ,...n ] }
TO security_account [ ,...n ]



GRANT : gán quyền trên đối tượng
GRANT
{ ALL | permission [ ,...n ] }
{
[ ( column [ ,...n ] ) ] ON { table | view }
| ON { table | view } [ ( column [ ,...n ] ) ]

| ON { stored_procedure | extended_procedure }
| ON { user_defined_function }
}
TO security_account [ ,...n ]
[ WITH GRANT OPTION ]
[ AS { group | role } ]

FACULTY OF INFORMATION TECHNOLOGY


MICROSOFT SQL SERVER

DATA CONTROL LANGUAGE – DENY-REVOKE
• Cú pháp:
DENY [ON <object>] TO <user/role>
• Ví dụ:
Use pubs
DENY select, insert, update ON titles TO faculty

• Lệnh REVOKE dùng để thu hồi lại quyền đã đuợc cấp hay từ
chối từ 1 user của CSDL hiện hành
• Cú pháp
REVOKE [GRANT OPTION FOR]
[ON <object>]
FROM <user/role>

• Ví dụ:
REVOKE select, insert, update ON titles FROM faculty
FACULTY OF INFORMATION TECHNOLOGY



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×