Bài 6:
BẢO MẬT TRONG SQL SERVER 2008
Các nội dung đã học trong bài trước
Hàm người dùng định nghĩa
View
Hệ thống bài cũ
Bảo mật trong SQL Server 2008 2
1. Bảo mật CSDL
2. Login ID
3. Người dùng CSDL
Bảo mật trong SQL Server 2008 3
3. Người dùng CSDL
4. Quyền & Vai trò
Bảo mật trong SQL Server 2008 4
Quản trị viên CSDL là người chịu trách nhiệm về hiệu
năng, tính toàn vẹn dữ liệu và bảo mật cho CSDL. Đồng
thời người quản trị có vai trò lập kế hoạch, phát triển,
khắc phục sự cố xảy ra với CSDL.
Các tác vụ quản trị thường thực hiện
Bảo mật, tạo tài khoản người dùng và phân quyền (học
trong bài này)
Lập các chiến lược sao lưu CSDL để phục hồi khi gặp sự cố
(học trong bài sau)
Tạo lịch sao lưu CSDL tự động
(học trong bài sau)
…..
Vai trò của người quản trị CSDL
Quản trị viên CSDL là người chịu trách nhiệm về hiệu
năng, tính toàn vẹn dữ liệu và bảo mật cho CSDL. Đồng
thời người quản trị có vai trò lập kế hoạch, phát triển,
khắc phục sự cố xảy ra với CSDL.
Các tác vụ quản trị thường thực hiện
Bảo mật, tạo tài khoản người dùng và phân quyền (học
trong bài này)
Lập các chiến lược sao lưu CSDL để phục hồi khi gặp sự cố
(học trong bài sau)
Tạo lịch sao lưu CSDL tự động
(học trong bài sau)
…..
Bảo mật trong SQL Server 2008 5
Bảo mật CSDL
UserUser
User
User
Xác thực
Windows
(Windows Login
ID)
Quyền
(Permission)
Quyền
(Permission)
Bảo mật SchemaSchema
Các đối
tượng CSDL
CSDLKết nối và đăng
nhập
Bảo mật trong SQL Server 2008 6
GroupGroupGroup
User
Xác thực SQL
Server (SQL Server
Login ID)
Vai trò (Role)Vai trò
(Role) Quyền
Các câu lệnh
SQL DDL
Các câu lệnh
SQL DDL
Xử lý truy cập tới CSDL trên SQL Server
SQL Server sử dụng Quyền và Vai trò để bảo mật CSDL
Quyền (Permission)
Quy định các hành động (action) người dùng có thể thực
hiện trên CSDL hoặc các đối tượng CSDL cụ thể
Vai trò (Role)
Là tập quyền được gán cho người dùng.
Mỗi người dùng hoặc nhóm người dùng được gán các
quyền và vai trò nhất định để truy cập tới CSDL.
SQL Server dựa vào Quyền, và vai trò cấp cho người
dùng/nhóm người dùng để xác định các đối tượng, câu
lệnh SQL… người đùng được phép tác động trên CSDL
Bảo mật CSDL
SQL Server sử dụng Quyền và Vai trò để bảo mật CSDL
Quyền (Permission)
Quy định các hành động (action) người dùng có thể thực
hiện trên CSDL hoặc các đối tượng CSDL cụ thể
Vai trò (Role)
Là tập quyền được gán cho người dùng.
Mỗi người dùng hoặc nhóm người dùng được gán các
quyền và vai trò nhất định để truy cập tới CSDL.
SQL Server dựa vào Quyền, và vai trò cấp cho người
dùng/nhóm người dùng để xác định các đối tượng, câu
lệnh SQL… người đùng được phép tác động trên CSDL
Bảo mật trong SQL Server 2008 7
Nhấp chuột phải vào Server chọn Properties
Thay đổi chế độ xác thực
Hai chế độ:
Windows
Authentication
mode
Mixed Mode:
Chọn chế độ
này, người
dùng có thể
đăng nhập sử
dụng Windows
Login ID hoặc
SQL Server
Login ID
Bảo mật trong SQL Server 2008 8
Hai chế độ:
Windows
Authentication
mode
Mixed Mode:
Chọn chế độ
này, người
dùng có thể
đăng nhập sử
dụng Windows
Login ID hoặc
SQL Server
Login ID
Mixed
Mode
T-SQL
Được dùng để quản trị Login ID, người dùng CSDL, quyền,
vai trò
Management Studio
Sử dụng Management Studio để thực hiện tất cả các cấu
hình bảo mật
Hai cách
cấu hình bảo mật SQL Server
T-SQL
Được dùng để quản trị Login ID, người dùng CSDL, quyền,
vai trò
Management Studio
Sử dụng Management Studio để thực hiện tất cả các cấu
hình bảo mật
Bảo mật trong SQL Server 2008 9
Bảo mật trong SQL Server 2008 10
Người dùng kết nối tới CSDL SQL Server sử dụng Login
ID
Hai loại Login ID
SQL Server Login ID
Windows Login ID
Login ID
Người dùng kết nối tới CSDL SQL Server sử dụng Login
ID
Hai loại Login ID
SQL Server Login ID
Windows Login ID
Bảo mật trong SQL Server 2008 11
Tạo Windows Login ID
Chọn Check Box Windows authenticaton
Tạo SQL Login ID
Chọn Check Box SQL Server authenticaton
Sinh viên tìm hiểu thêm về các tùy chọn trong SGK
Tạo Login ID
Tạo Windows Login ID
Chọn Check Box Windows authenticaton
Tạo SQL Login ID
Chọn Check Box SQL Server authenticaton
Sinh viên tìm hiểu thêm về các tùy chọn trong SGK
Bảo mật trong SQL Server 2008 12
Tạo Windows Login ID
Tạo Login ID sử dụng T-SQL
CREATE LOGIN <tên đăng nhập> FROM WINDOWS
[WITH [DEFAULT_DATABASE = <Tên cơ sở dữ liệu>]
[, DEFAULT_LANGUAGE = <Ngôn ngữ>]]
Tạo SQL Login ID
CREATE LOGIN <Tên đăng nhập>
WITH PASSWORD = 'password‘ [MUST_CHANGE]
[, DEFAULT_DATABASE = <Tên cơ sở dữ liệu>]
[, DEFAULT_LANGUAGE = <Ngôn ngữ>]
[, CHECK_EXPIRATION = {ON|OFF}
[, CHECK_POLICY = {ON|OFF}
Bảo mật trong SQL Server 2008 13
CREATE LOGIN <Tên đăng nhập>
WITH PASSWORD = 'password‘ [MUST_CHANGE]
[, DEFAULT_DATABASE = <Tên cơ sở dữ liệu>]
[, DEFAULT_LANGUAGE = <Ngôn ngữ>]
[, CHECK_EXPIRATION = {ON|OFF}
[, CHECK_POLICY = {ON|OFF}
Ví dụ tạo SQL Login ID
CREATE LOGIN JohnDoe WITH PASSWORD = 'pt8806FG$B',
DEFAULT_DATABASE = AP
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
(#, %, &, …)
Password
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
(#, %, &, …)
Bảo mật trong SQL Server 2008 14
Sửa/Xóa Login ID
Sửa Login ID
Bảo mật trong SQL Server 2008 15
Xóa
Sửa
Sinh viên tham khảo thêm cách sử dụng câu lệnh T-SQL
để sửa/xóa Login ID trong sách giáo khoa
Bảo mật trong SQL Server 2008 16
Mỗi CSDL có một danh sách người dùng được xác thực
để truy cập đến CSDL đó.
Khi tạo một database user
User chỉ có quyền chọn ngữ cảnh CSDL. Không có quyền
thực thi các thao tác trên CSDL và trên các đối tượng của
CSDL đó
Để có thể thực hiện các thao tác này user phải được cấp
quyền đối tượng và quyền CSDL.
Người dùng CSDL – Database User
Mỗi CSDL có một danh sách người dùng được xác thực
để truy cập đến CSDL đó.
Khi tạo một database user
User chỉ có quyền chọn ngữ cảnh CSDL. Không có quyền
thực thi các thao tác trên CSDL và trên các đối tượng của
CSDL đó
Để có thể thực hiện các thao tác này user phải được cấp
quyền đối tượng và quyền CSDL.
Bảo mật trong SQL Server 2008 17
Cú pháp tạo Database User
Tạo/Sửa xóa Database User
CREATE USER <Tên user>
[{FOR|FROM} LOGIN <Tên đăng nhập>]
[WITH DEFAULT_SCHEMA = <Tên schema>]
Cú pháp sửa Database User
ALTER USER <Tên user> WITH
[NAME = <Tên user mới>]
[, DEFAULT_SCHEMA = <Tên schema>]
Bảo mật trong SQL Server 2008 18
ALTER USER <Tên user> WITH
[NAME = <Tên user mới>]
[, DEFAULT_SCHEMA = <Tên schema>]
Cú pháp xóa Database User
DROP USER <Tên user>
Chú ý: Câu lệnh CREATE user tạo một user mới trong
CSDL hiện thời. Do đó bạn phải chọn ngữ cảnh CSDL
trước khi thực thi câu lệnh
Tạo Database User với tên User và Login ID trùng nhau
Ví dụ tạo Database User
CREATE USER JohnDoe
Tạo Database User cho một Windows User Account
CREATE USER SusanRoberts FOR LOGIN [AccountingSusanRoberts]
Bảo mật trong SQL Server 2008 19
CREATE USER SusanRoberts FOR LOGIN [AccountingSusanRoberts]
Đổi tên User
ALTER USER SusanRoberts WITH NAME = SusanStanley
Bảo mật trong SQL Server 2008 20
Các quyền chuẩn của các đối tượng SQL Server
Quyền
Quyền Các thao tác được phép
thực hiện
Đối tượng áp dụng
SELECT Truy xuất dữ liệu Bảng, View, Hàm giá trị bảng
UPDATE Cập nhật dữ liệu Bảng, View, Hàm giá trị bảng
INSERT Thêm dữ liệu mới Bảng, View, Hàm giá trị bảng
Bảo mật trong SQL Server 2008 21
INSERT Thêm dữ liệu mới Bảng, View, Hàm giá trị bảng
DELETE Xóa dữ liệu Bảng, View, Hàm giá trị bảng
EXECUTE Thực thi một Stored
Procedure hay một hàm
Stored procedure, Hàm vô
hướng và hàm kết hợp
REFERENCES Tạo các đối tượng tham chiếu
tới đối tượng này
Bảng, View, Hàm
ALL Có tất cả các quyền đối với
đối tượng
Bảng, View, Hàm , Stored
Procedure
Vai trò là một tập các quyền
Có thể dùng để gán cho một người dùng hoặc một nhóm
người dùng.
SQL Server đã xây dựng sẵn các Vai trò mặc định gồm
Vai trò Server mặc định
Vai trò CSDL mặc định
Bạn có thể tự định nghĩa thêm các Vai trò mới
Mỗi Vai trò được gán một tập quyền
Ví dụ Vai trò dbcreator có thể thực thi các câu lệnh
CREATE/ALTER/DROP DATABASE, RESTORE DATABASE
Vai trò -Role
Vai trò là một tập các quyền
Có thể dùng để gán cho một người dùng hoặc một nhóm
người dùng.
SQL Server đã xây dựng sẵn các Vai trò mặc định gồm
Vai trò Server mặc định
Vai trò CSDL mặc định
Bạn có thể tự định nghĩa thêm các Vai trò mới
Mỗi Vai trò được gán một tập quyền
Ví dụ Vai trò dbcreator có thể thực thi các câu lệnh
CREATE/ALTER/DROP DATABASE, RESTORE DATABASE
Bảo mật trong SQL Server 2008 22
Vai trò Server mặc định bao gồm những người dùng
quản trị Server
Vai trò Server mặc định
Vai trò Mô tả
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
BUILTINAdministrators đều là thành viên của vai trò này.
Bảo mật trong SQL Server 2008 23
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
BUILTINAdministrators đề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.
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 toàn bộ các bảng trong
CSDL
Vai trò CSDL mặc định
Db_datawriter Có thể thêm, xóa, cập nhật dữ liệu trên toà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 toà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
Bảo mật trong SQL Server 2008 24
Sử dụng trang Server
Role trong Login
Properties để chọn và
gán vai trò Server cho
một Login ID
Hai cách gán
vai trò Server cho một Login ID
Sử dụng Server Role
Properties để thêm Login
ID vào danh sách thành
viên của vai trò Server
Bảo mật trong SQL Server 2008 25
Gán vai trò CSDL cho Login ID
Danh sách tất cả CSDL trên Server
- Chọn/bỏ chọn các Check Box để cấp
quyền truy cập CSDL cho LoginID
Bảo mật trong SQL Server 2008 26
Danh sách tất cả các Vai trò CSDL của
dòng CSDL đang được chọn
- Chọn hoặc bỏ chọn Check Box để
thêm Login ID vào các Vai trò
Gán Vai trò CSDL
cho một Database User
Nút chọn Schema mặc định
cho Database User
Bảo mật trong SQL Server 2008 27
Các Vai trò CSDL
- Chọn/bỏ chọn Check box để
gán/loại bỏ User cho Vai trò
CSDL tương ứng.
Gán quyền truy cập các đối tượng CSDL
cho một Login ID
Click vào đây để thêm các
thực thể có thể bảo mật vào
danh sách bên dưới
Danh sách các thực thể có thể
bảo mật
Bảo mật trong SQL Server 2008 28
Danh sách các quyền mà User được
cấp để làm việc với thực thể có thể
bảo mật được chọn trong danh sách ở
trên
Chọn/bỏ chọn Check Box Grant: Cấp/thu hồi quyền
Chọn/bỏ chọn Check Box With Grant: Cho phép/không cho phép user cấp quyền cho user khác
Chọn Check Box Deny: Từ chối quyền người dùng trên thực thể có thể bảo mật được chọn
Làm việc với Quyền CSDL
Danh sách user/Vai trò được
quyền truy cập CSDL
Bảo mật trong SQL Server 2008 29
Danh sách các quyền mà
user/Vai trò được chọn được
phép thực hiện trên CSDL
Tạo Vai trò tự định nghĩa
Vai trò tự định nghĩa
Chỉ định schema và các
thành viên của Vai trò
Cấp quyền cho Vai trò trên
các thực thể có thể bảo
mật
Bảo mật trong SQL Server 2008 30
Cú pháp câu lệnh tạo vai trò
Vai trò tự định nghĩa
CREATE ROLE role_name [AUTHORIZATION owner_name]
Cú pháp câu lệnh xóa vai trò
DROP ROLE role_name
Ví dụ câu lệnh tạo Vai trò
CREATE ROLE InvoiceEntry
Ví dụ câu lệnh cấp quyền cho Vai trò
Bảo mật trong SQL Server 2008 31
Ví dụ câu lệnh cấp quyền cho Vai trò
GRANT INSERT, UPDATE
ON Invoices
TO InvoiceEntry
GRANT INSERT, UPDATE
ON InvoiceLineItems
TO InvoiceEntry
Chú ý:
Câu lệnh CREATE ROLE sẽ tạo một Vai trò cho cơ sở dữ liệu hiện thời
Tên Vai trò chứa tối đa 128 kí tự bao gồm các chữ cái, biểu tượng, số
và không chứa kí tự
Bảo mật CSDL
Người dùng kết nối tới SQL Server sử dụng Login ID
Hai cách SQL Server sử dụng để xác thực người dùng
Windows Authentication
SQL Server Authentication
SQL Server dựa vào Quyền, và vai trò cấp cho người dùng
để xác định các đối tượng, câu lệnh SQL người đùng được
phép tác động trên CSDL
Quyền: SELECT, UPDATE, DELETE…
Vai trò: là một tập các quyền để gán cho một người dùng
hoặc một nhóm người dùng.
Tổng kết
Bảo mật CSDL
Người dùng kết nối tới SQL Server sử dụng Login ID
Hai cách SQL Server sử dụng để xác thực người dùng
Windows Authentication
SQL Server Authentication
SQL Server dựa vào Quyền, và vai trò cấp cho người dùng
để xác định các đối tượng, câu lệnh SQL người đùng được
phép tác động trên CSDL
Quyền: SELECT, UPDATE, DELETE…
Vai trò: là một tập các quyền để gán cho một người dùng
hoặc một nhóm người dùng.
Bảo mật trong SQL Server 2008 32

Bài 6: Bảo mật trong SQL SERVER 2008 - Giáo trình FPT

  • 1.
    Bài 6: BẢO MẬTTRONG SQL SERVER 2008
  • 2.
    Các nội dungđã học trong bài trước Hàm người dùng định nghĩa View Hệ thống bài cũ Bảo mật trong SQL Server 2008 2
  • 3.
    1. Bảo mậtCSDL 2. Login ID 3. Người dùng CSDL Bảo mật trong SQL Server 2008 3 3. Người dùng CSDL 4. Quyền & Vai trò
  • 4.
    Bảo mật trongSQL Server 2008 4
  • 5.
    Quản trị viênCSDL là người chịu trách nhiệm về hiệu năng, tính toàn vẹn dữ liệu và bảo mật cho CSDL. Đồng thời người quản trị có vai trò lập kế hoạch, phát triển, khắc phục sự cố xảy ra với CSDL. Các tác vụ quản trị thường thực hiện Bảo mật, tạo tài khoản người dùng và phân quyền (học trong bài này) Lập các chiến lược sao lưu CSDL để phục hồi khi gặp sự cố (học trong bài sau) Tạo lịch sao lưu CSDL tự động (học trong bài sau) ….. Vai trò của người quản trị CSDL Quản trị viên CSDL là người chịu trách nhiệm về hiệu năng, tính toàn vẹn dữ liệu và bảo mật cho CSDL. Đồng thời người quản trị có vai trò lập kế hoạch, phát triển, khắc phục sự cố xảy ra với CSDL. Các tác vụ quản trị thường thực hiện Bảo mật, tạo tài khoản người dùng và phân quyền (học trong bài này) Lập các chiến lược sao lưu CSDL để phục hồi khi gặp sự cố (học trong bài sau) Tạo lịch sao lưu CSDL tự động (học trong bài sau) ….. Bảo mật trong SQL Server 2008 5
  • 6.
    Bảo mật CSDL UserUser User User Xácthực Windows (Windows Login ID) Quyền (Permission) Quyền (Permission) Bảo mật SchemaSchema Các đối tượng CSDL CSDLKết nối và đăng nhập Bảo mật trong SQL Server 2008 6 GroupGroupGroup User Xác thực SQL Server (SQL Server Login ID) Vai trò (Role)Vai trò (Role) Quyền Các câu lệnh SQL DDL Các câu lệnh SQL DDL Xử lý truy cập tới CSDL trên SQL Server
  • 7.
    SQL Server sửdụng Quyền và Vai trò để bảo mật CSDL Quyền (Permission) Quy định các hành động (action) người dùng có thể thực hiện trên CSDL hoặc các đối tượng CSDL cụ thể Vai trò (Role) Là tập quyền được gán cho người dùng. Mỗi người dùng hoặc nhóm người dùng được gán các quyền và vai trò nhất định để truy cập tới CSDL. SQL Server dựa vào Quyền, và vai trò cấp cho người dùng/nhóm người dùng để xác định các đối tượng, câu lệnh SQL… người đùng được phép tác động trên CSDL Bảo mật CSDL SQL Server sử dụng Quyền và Vai trò để bảo mật CSDL Quyền (Permission) Quy định các hành động (action) người dùng có thể thực hiện trên CSDL hoặc các đối tượng CSDL cụ thể Vai trò (Role) Là tập quyền được gán cho người dùng. Mỗi người dùng hoặc nhóm người dùng được gán các quyền và vai trò nhất định để truy cập tới CSDL. SQL Server dựa vào Quyền, và vai trò cấp cho người dùng/nhóm người dùng để xác định các đối tượng, câu lệnh SQL… người đùng được phép tác động trên CSDL Bảo mật trong SQL Server 2008 7
  • 8.
    Nhấp chuột phảivào Server chọn Properties Thay đổi chế độ xác thực Hai chế độ: Windows Authentication mode Mixed Mode: Chọn chế độ này, người dùng có thể đăng nhập sử dụng Windows Login ID hoặc SQL Server Login ID Bảo mật trong SQL Server 2008 8 Hai chế độ: Windows Authentication mode Mixed Mode: Chọn chế độ này, người dùng có thể đăng nhập sử dụng Windows Login ID hoặc SQL Server Login ID Mixed Mode
  • 9.
    T-SQL Được dùng đểquản trị Login ID, người dùng CSDL, quyền, vai trò Management Studio Sử dụng Management Studio để thực hiện tất cả các cấu hình bảo mật Hai cách cấu hình bảo mật SQL Server T-SQL Được dùng để quản trị Login ID, người dùng CSDL, quyền, vai trò Management Studio Sử dụng Management Studio để thực hiện tất cả các cấu hình bảo mật Bảo mật trong SQL Server 2008 9
  • 10.
    Bảo mật trongSQL Server 2008 10
  • 11.
    Người dùng kếtnối tới CSDL SQL Server sử dụng Login ID Hai loại Login ID SQL Server Login ID Windows Login ID Login ID Người dùng kết nối tới CSDL SQL Server sử dụng Login ID Hai loại Login ID SQL Server Login ID Windows Login ID Bảo mật trong SQL Server 2008 11
  • 12.
    Tạo Windows LoginID Chọn Check Box Windows authenticaton Tạo SQL Login ID Chọn Check Box SQL Server authenticaton Sinh viên tìm hiểu thêm về các tùy chọn trong SGK Tạo Login ID Tạo Windows Login ID Chọn Check Box Windows authenticaton Tạo SQL Login ID Chọn Check Box SQL Server authenticaton Sinh viên tìm hiểu thêm về các tùy chọn trong SGK Bảo mật trong SQL Server 2008 12
  • 13.
    Tạo Windows LoginID Tạo Login ID sử dụng T-SQL CREATE LOGIN <tên đăng nhập> FROM WINDOWS [WITH [DEFAULT_DATABASE = <Tên cơ sở dữ liệu>] [, DEFAULT_LANGUAGE = <Ngôn ngữ>]] Tạo SQL Login ID CREATE LOGIN <Tên đăng nhập> WITH PASSWORD = 'password‘ [MUST_CHANGE] [, DEFAULT_DATABASE = <Tên cơ sở dữ liệu>] [, DEFAULT_LANGUAGE = <Ngôn ngữ>] [, CHECK_EXPIRATION = {ON|OFF} [, CHECK_POLICY = {ON|OFF} Bảo mật trong SQL Server 2008 13 CREATE LOGIN <Tên đăng nhập> WITH PASSWORD = 'password‘ [MUST_CHANGE] [, DEFAULT_DATABASE = <Tên cơ sở dữ liệu>] [, DEFAULT_LANGUAGE = <Ngôn ngữ>] [, CHECK_EXPIRATION = {ON|OFF} [, CHECK_POLICY = {ON|OFF} Ví dụ tạo SQL Login ID CREATE LOGIN JohnDoe WITH PASSWORD = 'pt8806FG$B', DEFAULT_DATABASE = AP
  • 14.
    Không để trốngtrườ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 (#, %, &, …) Password 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 (#, %, &, …) Bảo mật trong SQL Server 2008 14
  • 15.
    Sửa/Xóa Login ID SửaLogin ID Bảo mật trong SQL Server 2008 15 Xóa Sửa Sinh viên tham khảo thêm cách sử dụng câu lệnh T-SQL để sửa/xóa Login ID trong sách giáo khoa
  • 16.
    Bảo mật trongSQL Server 2008 16
  • 17.
    Mỗi CSDL cómột danh sách người dùng được xác thực để truy cập đến CSDL đó. Khi tạo một database user User chỉ có quyền chọn ngữ cảnh CSDL. Không có quyền thực thi các thao tác trên CSDL và trên các đối tượng của CSDL đó Để có thể thực hiện các thao tác này user phải được cấp quyền đối tượng và quyền CSDL. Người dùng CSDL – Database User Mỗi CSDL có một danh sách người dùng được xác thực để truy cập đến CSDL đó. Khi tạo một database user User chỉ có quyền chọn ngữ cảnh CSDL. Không có quyền thực thi các thao tác trên CSDL và trên các đối tượng của CSDL đó Để có thể thực hiện các thao tác này user phải được cấp quyền đối tượng và quyền CSDL. Bảo mật trong SQL Server 2008 17
  • 18.
    Cú pháp tạoDatabase User Tạo/Sửa xóa Database User CREATE USER <Tên user> [{FOR|FROM} LOGIN <Tên đăng nhập>] [WITH DEFAULT_SCHEMA = <Tên schema>] Cú pháp sửa Database User ALTER USER <Tên user> WITH [NAME = <Tên user mới>] [, DEFAULT_SCHEMA = <Tên schema>] Bảo mật trong SQL Server 2008 18 ALTER USER <Tên user> WITH [NAME = <Tên user mới>] [, DEFAULT_SCHEMA = <Tên schema>] Cú pháp xóa Database User DROP USER <Tên user> Chú ý: Câu lệnh CREATE user tạo một user mới trong CSDL hiện thời. Do đó bạn phải chọn ngữ cảnh CSDL trước khi thực thi câu lệnh
  • 19.
    Tạo Database Uservới tên User và Login ID trùng nhau Ví dụ tạo Database User CREATE USER JohnDoe Tạo Database User cho một Windows User Account CREATE USER SusanRoberts FOR LOGIN [AccountingSusanRoberts] Bảo mật trong SQL Server 2008 19 CREATE USER SusanRoberts FOR LOGIN [AccountingSusanRoberts] Đổi tên User ALTER USER SusanRoberts WITH NAME = SusanStanley
  • 20.
    Bảo mật trongSQL Server 2008 20
  • 21.
    Các quyền chuẩncủa các đối tượng SQL Server Quyền Quyền Các thao tác được phép thực hiện Đối tượng áp dụng SELECT Truy xuất dữ liệu Bảng, View, Hàm giá trị bảng UPDATE Cập nhật dữ liệu Bảng, View, Hàm giá trị bảng INSERT Thêm dữ liệu mới Bảng, View, Hàm giá trị bảng Bảo mật trong SQL Server 2008 21 INSERT Thêm dữ liệu mới Bảng, View, Hàm giá trị bảng DELETE Xóa dữ liệu Bảng, View, Hàm giá trị bảng EXECUTE Thực thi một Stored Procedure hay một hàm Stored procedure, Hàm vô hướng và hàm kết hợp REFERENCES Tạo các đối tượng tham chiếu tới đối tượng này Bảng, View, Hàm ALL Có tất cả các quyền đối với đối tượng Bảng, View, Hàm , Stored Procedure
  • 22.
    Vai trò làmột tập các quyền Có thể dùng để gán cho một người dùng hoặc một nhóm người dùng. SQL Server đã xây dựng sẵn các Vai trò mặc định gồm Vai trò Server mặc định Vai trò CSDL mặc định Bạn có thể tự định nghĩa thêm các Vai trò mới Mỗi Vai trò được gán một tập quyền Ví dụ Vai trò dbcreator có thể thực thi các câu lệnh CREATE/ALTER/DROP DATABASE, RESTORE DATABASE Vai trò -Role Vai trò là một tập các quyền Có thể dùng để gán cho một người dùng hoặc một nhóm người dùng. SQL Server đã xây dựng sẵn các Vai trò mặc định gồm Vai trò Server mặc định Vai trò CSDL mặc định Bạn có thể tự định nghĩa thêm các Vai trò mới Mỗi Vai trò được gán một tập quyền Ví dụ Vai trò dbcreator có thể thực thi các câu lệnh CREATE/ALTER/DROP DATABASE, RESTORE DATABASE Bảo mật trong SQL Server 2008 22
  • 23.
    Vai trò Servermặc định bao gồm những người dùng quản trị Server Vai trò Server mặc định Vai trò Mô tả 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 BUILTINAdministrators đều là thành viên của vai trò này. Bảo mật trong SQL Server 2008 23 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 BUILTINAdministrators đề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.
  • 24.
    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 toàn bộ các bảng trong CSDL Vai trò CSDL mặc định Db_datawriter Có thể thêm, xóa, cập nhật dữ liệu trên toà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 toà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 Bảo mật trong SQL Server 2008 24
  • 25.
    Sử dụng trangServer Role trong Login Properties để chọn và gán vai trò Server cho một Login ID Hai cách gán vai trò Server cho một Login ID Sử dụng Server Role Properties để thêm Login ID vào danh sách thành viên của vai trò Server Bảo mật trong SQL Server 2008 25
  • 26.
    Gán vai tròCSDL cho Login ID Danh sách tất cả CSDL trên Server - Chọn/bỏ chọn các Check Box để cấp quyền truy cập CSDL cho LoginID Bảo mật trong SQL Server 2008 26 Danh sách tất cả các Vai trò CSDL của dòng CSDL đang được chọn - Chọn hoặc bỏ chọn Check Box để thêm Login ID vào các Vai trò
  • 27.
    Gán Vai tròCSDL cho một Database User Nút chọn Schema mặc định cho Database User Bảo mật trong SQL Server 2008 27 Các Vai trò CSDL - Chọn/bỏ chọn Check box để gán/loại bỏ User cho Vai trò CSDL tương ứng.
  • 28.
    Gán quyền truycập các đối tượng CSDL cho một Login ID Click vào đây để thêm các thực thể có thể bảo mật vào danh sách bên dưới Danh sách các thực thể có thể bảo mật Bảo mật trong SQL Server 2008 28 Danh sách các quyền mà User được cấp để làm việc với thực thể có thể bảo mật được chọn trong danh sách ở trên Chọn/bỏ chọn Check Box Grant: Cấp/thu hồi quyền Chọn/bỏ chọn Check Box With Grant: Cho phép/không cho phép user cấp quyền cho user khác Chọn Check Box Deny: Từ chối quyền người dùng trên thực thể có thể bảo mật được chọn
  • 29.
    Làm việc vớiQuyền CSDL Danh sách user/Vai trò được quyền truy cập CSDL Bảo mật trong SQL Server 2008 29 Danh sách các quyền mà user/Vai trò được chọn được phép thực hiện trên CSDL
  • 30.
    Tạo Vai tròtự định nghĩa Vai trò tự định nghĩa Chỉ định schema và các thành viên của Vai trò Cấp quyền cho Vai trò trên các thực thể có thể bảo mật Bảo mật trong SQL Server 2008 30
  • 31.
    Cú pháp câulệnh tạo vai trò Vai trò tự định nghĩa CREATE ROLE role_name [AUTHORIZATION owner_name] Cú pháp câu lệnh xóa vai trò DROP ROLE role_name Ví dụ câu lệnh tạo Vai trò CREATE ROLE InvoiceEntry Ví dụ câu lệnh cấp quyền cho Vai trò Bảo mật trong SQL Server 2008 31 Ví dụ câu lệnh cấp quyền cho Vai trò GRANT INSERT, UPDATE ON Invoices TO InvoiceEntry GRANT INSERT, UPDATE ON InvoiceLineItems TO InvoiceEntry Chú ý: Câu lệnh CREATE ROLE sẽ tạo một Vai trò cho cơ sở dữ liệu hiện thời Tên Vai trò chứa tối đa 128 kí tự bao gồm các chữ cái, biểu tượng, số và không chứa kí tự
  • 32.
    Bảo mật CSDL Ngườidùng kết nối tới SQL Server sử dụng Login ID Hai cách SQL Server sử dụng để xác thực người dùng Windows Authentication SQL Server Authentication SQL Server dựa vào Quyền, và vai trò cấp cho người dùng để xác định các đối tượng, câu lệnh SQL người đùng được phép tác động trên CSDL Quyền: SELECT, UPDATE, DELETE… Vai trò: là một tập các quyền để gán cho một người dùng hoặc một nhóm người dùng. Tổng kết Bảo mật CSDL Người dùng kết nối tới SQL Server sử dụng Login ID Hai cách SQL Server sử dụng để xác thực người dùng Windows Authentication SQL Server Authentication SQL Server dựa vào Quyền, và vai trò cấp cho người dùng để xác định các đối tượng, câu lệnh SQL người đùng được phép tác động trên CSDL Quyền: SELECT, UPDATE, DELETE… Vai trò: là một tập các quyền để gán cho một người dùng hoặc một nhóm người dùng. Bảo mật trong SQL Server 2008 32