NEW
Font size
WorksheetsChương 7: Bảo mật DL
Total questions: 30
Worksheet time: 15mins
Transparent Data Encryption (TDE) có tác dụng gì?
Mã hóa dữ liệu ở mức cột
Mã hóa dữ liệu ở phía client
Mã hóa toàn bộ cơ sở dữ liệu khi lưu trên đĩa
Không liên quan đến bảo mật
Xác thực Windows Authentication trong SQL Server sử dụng:
Tài khoản SQL riêng biệt
Tài khoản Windows của hệ điều hành
Cả Windows và SQL
Không cần tài khoản
Lược đồ (Schema) trong SQL Server là gì?
Một bảng dữ liệu
Một tập hợp các đối tượng trong CSDL (bảng, view, thủ tục, …)
Một loại chỉ mục
Một dạng backup
GRANT, DENY, REVOKE lần lượt có ý nghĩa:
Cấp quyền, từ chối quyền, thu hồi quyền
Tạo quyền, sửa quyền, xóa quyền
Sao lưu quyền, cấp quyền, phục hồi quyền
Phân quyền, mã hóa, hủy quyền
Change Data Capture (CDC) khác Change Tracking (CT) ở điểm nào?
CDC chỉ lưu log đăng nhập, CT lưu thay đổi dữ liệu
CDC lưu chi tiết dữ liệu thay đổi, CT chỉ ghi nhận có thay đổi hay không
CT lưu nhiều hơn CDC
CDC và CT giống nhau
Isolation Level nào đảm bảo mức độ cách ly cao nhất trong SQL Server?
Read Uncommitted
Read Committed
Repeatable Read
Serializable
Deadlock là gì?
Khi 2 giao dịch thay đổi cùng một bảng
Khi 2 hay nhiều giao dịch chờ nhau giải phóng khóa, gây treo hệ thống
Khi một transaction chưa commit
Khi một bảng bị khóa cứng
Tạo login mới trong SQL Server cho user UserKho. Lệnh đúng:
CREATE USER UserKho
CREATE LOGIN UserKho WITH PASSWORD='123'
CREATE ROLE UserKho
GRANT UserKho
Gán user UserKho cho database QLTONKHO. Lệnh đúng:
CREATE USER UserKho FOR LOGIN UserKho
ALTER USER UserKho FOR LOGIN UserKho
GRANT UserKho TO DATABASE
CREATE ROLE UserKho
Muốn cấp quyền SELECT trên bảng VATTU cho UserKho:
GRANT SELECT ON VATTU TO UserKho
GRANT ALL ON VATTU TO UserKho
GIVE SELECT TO UserKho
ALTER VATTU SELECT TO UserKho
Muốn từ chối quyền INSERT trên bảng DONDH cho UserKho:
GRANT INSERT ON DONDH TO UserKho
REVOKE INSERT ON DONDH TO UserKho
DENY INSERT ON DONDH TO UserKho
DELETE INSERT ON DONDH TO UserKho
Muốn thu hồi quyền SELECT đã cấp trên NHACC:
GRANT SELECT ON NHACC TO UserKho
DENY SELECT ON NHACC TO UserKho
REVOKE SELECT ON NHACC FROM UserKho
DROP SELECT ON NHACC FROM UserKho
Để kiểm tra quyền của user UserKho, dùng lệnh:
sp_helprole
fn_my_permissions(NULL,'DATABASE')
sp_who
sp_helpdb
Tạo schema mới tên QLKHO trong CSDL QLTONKHO:
CREATE SCHEMA QLKHO
CREATE ROLE QLKHO
CREATE LOGIN QLKHO
CREATE USER QLKHO
Khi tạo bảng mới TEST thuộc schema QLKHO, cú pháp đúng:
CREATE TABLE TEST (...)
CREATE TABLE QLKHO.TEST (...)
CREATE TABLE dbo.QLKHO.TEST (...)
CREATE TABLE TEST.QLKHO (...)
Cấp quyền SELECT trên toàn bộ schema QLKHO:
GRANT SELECT ON SCHEMA::QLKHO TO UserKho
GRANT SELECT ON QLKHO TO UserKho
GRANT ALL ON SCHEMA QLKHO TO UserKho
GRANT SCHEMA SELECT TO UserKho
Muốn thêm user UserKho vào role db_datareader:
EXEC sp_addrolemember 'db_datareader','UserKho'
GRANT db_datareader TO UserKho
CREATE ROLE db_datareader UserKho
ALTER ROLE db_datareader TO UserKho
Role nào cho phép đọc tất cả bảng trong database?
db_datareader
db_datawriter
db_owner
db_accessadmin
Role nào cho phép toàn quyền trên database (tương tự sysadmin)?
db_owner
db_securityadmin
db_datareader
db_denydatareader
Trong DB QLTONKHO, muốn chỉ cho UserKho có quyền thêm đơn hàng vào bảng DONDH:
GRANT SELECT ON DONDH TO UserKho
GRANT INSERT ON DONDH TO UserKho
GRANT DELETE ON DONDH TO UserKho
GRANT UPDATE ON DONDH TO UserKho
Muốn user UserKho vừa có quyền cấp SELECT cho user khác, ta dùng:
GRANT SELECT ON VATTU TO UserKho WITH GRANT OPTION
GRANT SELECT ON VATTU TO UserKho WITH ADMIN OPTION
GRANT ALL ON VATTU TO UserKho
GRANT ROLE SELECT TO UserKho
Nếu muốn mã hóa toàn bộ database QLTONKHO bằng TDE, ta cần:
Tạo Master Key, Certificate, DEK và bật TDE
Chỉ cần tạo DEK
Chỉ cần tạo Certificate
Chỉ cần bật chế độ Always Encrypted
Để theo dõi các thay đổi trong bảng CTPNHAP, ta nên bật:
Change Data Capture (CDC)
Change Tracking (CT)
SQL Auditing
Tất cả đều được
Để chỉ kiểm tra có thay đổi hay không (không lưu chi tiết), ta dùng:
CDC
CT (Change Tracking)
Trigger
Auditing
Khi muốn log mọi thao tác INSERT/UPDATE/DELETE trên VATTU, ta nên dùng:
Trigger
CDC
CT
Role
Muốn theo dõi các hành động đăng nhập và thay đổi dữ liệu nhạy cảm, nên dùng:
CDC
CT
SQL Server Auditing
Trigger
Để đảm bảo transaction không đọc dữ liệu chưa commit, ta dùng Isolation Level nào?
Read Uncommitted
Read Committed
Serializable
Repeatable Read
Khi 2 giao dịch cùng cập nhật bảng TONKHO và xảy ra deadlock, SQL Server sẽ:
Tự động chọn một giao dịch làm "victim" và rollback
Giữ cả 2 giao dịch chờ
Hủy cả 2 giao dịch
Bỏ qua lỗi
Khi dùng khóa Shared Lock (S), ta có thể:
Đọc dữ liệu, không ai được đọc nữa
Đọc dữ liệu, cho phép người khác cũng đọc nhưng không update
Ghi dữ liệu, không ai được ghi
Xóa dữ liệu, không ai được đọc
Để kiểm tra role của user trong database QLTONKHO, ta dùng:
sp_helpuser
sp_helpdb
sp_who2
fn_my_permissions
