Danh mục các rolesFixed server role Description sysadmin Thành viên có quyền truy cập đầy đủ để quản lý SQL Server và có thể thực hiện bất kỳ hành động nào.. securityadmin Thành viên c
Trang 1Chuyên đề về 1 HQTCSDL (CT323)
Quản trị người dùng và bảo mật
dữ liệu trong SQL SERVER
Khoa CNTT-TT
Trang 2Cấu trúc bảo mật (security
architecture)
Trang 3Chế độ xác thực (Authentication
Mode)
• Windows Authentication Mode (Windows Authentication)
• Mixed Mode (Windows Authentication
and SQL Server Authentication)
Trang 5SQL Server Authentication
Trang 6Xác thực quyền (Permission
validation)
Trang 7Cấu trúc bảo mật phân cấp
(Hierarchical security)
Trang 8Danh mục các roles
Fixed server role Description
sysadmin Thành viên có quyền truy cập đầy đủ để
quản lý SQL Server và có thể thực hiện bất
kỳ hành động nào.
serveradmin Thành viên của vai trò này có thể thay đổi
cấu hình máy chủ toàn và tắt máy chủ.
setupadmin Thành viên có thể thêm và loại bỏ các máy
chủ liên kết.
securityadmin Thành viên có thể quản lý thông tin đăng
nhập SQL, bao gồm cả việc thay đổi và đặt lại mật khẩu khi cần thiết, cũng như quản lý
GRANT, REVOKE, và DENY ở cấp máy chủ và CSDL.
processadmin Thành viên có thể quản lý và kết thúc các
quá trình trên SQL Server.
dbcreator Có thể tạo, sửa, và xóa CSDL.
diskadmin Có thể quản lý tập tin trên đĩa.
bulkadmin Có thể thực thi lệnh BULK INSERT.
Trang 9Danh mục các roles
Fixed database role Description
db_owner Có tất cả quyền trong CSDL.
db_accessadmin Có thể thêm hoặc bỏ truy cập của users.
db_securityadmin Có thể quản lý tất cả các quyền, quyền sở hữu đối
tượng, vai trò và vai trò thành viên.
db_ddladmin Can issue ALL DDL, but cannot issue GRANT,
REVOKE, or DENY statements.
db_backupoperator Can issue DBCC, CHECKPOINT, and BACKUP
Trang 10Adding a SQL Server Login
• Thêm mới một tài khoản đăng nhập
– Đăng nhập bằng tên và mật khẩu
– Nếu SQL Server được thiết lập hoạt động ở chế độ kết hợp (Mixed Mode)
Trang 11Adding a SQL Server Login
• Khuyến khích áp dụng trong các trường hợp
– Có sử dụng dữ liệu nạp từ các HQTCSDL khác
– Ứng dụng thiết kế cho nhiều đối tượng sử dụng mà không thể đăng nhập thông qua xác thực Window
Trang 12Tài khoản quản trị (System
Administrator (sa))
• Được gán sysadmin fixed server role
• Không thể thay đổi
• Chỉ nên dùng khi không có cách nào
khác để đăng nhập
• Có thể thay đổi mật khẩu trong quá trình cài đặt
Trang 13Database owner (dbo)
• Có quyền thực hiện tất cả các thao tác trên CSDL
• Thành viên của sysadmin fixed server role
sẽ đóng vai trò là dbo của CSDL đó
• Đối tượng được tạo bởi Thành viên của
sysadmin fixed server role sẽ thuộc vào dbo
• Không thể xóa người dùng dbo
• Tồn tại đối với mọi CSDL
Trang 14Database Object Owner
• Người dùng tạo các đối tượng của CSDL
• Không có tài khoản đăng nhập và mật khẩu riêng
• Có mọi quyền trên đối tượng CSDL do mình tạo nhưng phải thiết lập quyền cho các
người dùng khác
• Truy cập đối tượng tạo bởi người dùng khác
– Cung cấp tên chủ thể của đối tượng
Trang 15– CSDL cho phép guest User đăng nhập
Trang 17Viewing Logins
• Chức năng
– Xem các người dùng của từng CSDL tương ứng với tài khoản đăng nhập
– Ngôn ngữ và CSDL mặc định hiển thị khi
user kết nối vào
– Không xem được mật khẩu (ngoại trừ mật khẩu = null)
Trang 19Creating Logins
• CREATE LOGIN statement:
• CREATE LOGIN [name] {WITH
<options> | FROM <source>}
Trang 21• VD: CREATE LOGIN Bill WITH PASSWORD =
‘P@ssw0rd’ HASHED
• SELECT LOGINPROPERTY(’bill’, ‘passwordhash’)
Trang 22Modifying Logins
• Sửa tài khoản đăng nhập SQL Server
– ALTER LOGIN name {<status> | WITH
<options>}
– Ví dụ
VD: ALTER LOGIN Bill WITH PASSWORD =
‘newpassword’, CHECK_POLICY=OFF;
Trang 23Removing Logins and Users
• Tài khoản đăng nhập Window
– Xóa hoặc cập nhật thông qua công cụ của HĐH
• Tài khoản đăng nhập SQL Server
– Loại bỏ User này khỏi SQL Server database roles
– Xóa User
Trang 24Removing Logins and Users
• Xóa một đăng nhập SQL Server
– DROP LOGIN [name]
– Ví dụ
• DROP LOGIN ‘Bill’
Trang 25CREATE USER
• CREATE USER name [{{FOR | FROM} source |
WITHOUT LOGIN] [WITH DEFAULT_SCHEMA =
schema_name]
Trang 26Ví dụ
• CREATE USER Carol;
• CREATE LOGIN [AughtEight\Bob] FROM WINDOWS;
• CREATE USER BillyBob FOR LOGIN [AughtEight\
Bob] WITH DEFAULT_SCHEMA = sales;
Trang 28Roles
• CREATE ROLE SalesStaff
• ALTER ROLE SalesStaff
• DROP ROLE SalesStaff
• Thêm user vào roles:
sp_addrolemember ‘SalesStaff’, ‘Carol’;
• Xóa user ra khỏi roles:
sp_droprolemember ‘SalesStaff’, ‘Carol’;
Trang 29Quản trị quyền (Managing
permissions)
• Quyền của một người dùng được xác định bởi
– Tài khoản mà họ dùng để đăng nhập
• Quản trị quyền là cho phép hoặc từ chối
người dùng:
– Thao tác dư liệu và thi hành các thủ tục
– Tạo các thành phần của CSDL hoặc một CSDL – Thiết lập quyền cho các role đã được định nghĩa
Trang 30Quản trị quyền (Managing
permissions)
• Object permissions
Trang 31Quản trị quyền (Managing
Trang 32Quản trị quyền (Managing
• Xóa quyền kế thừa
• Không cho phép kế thừa quyền từ cấp cao hơn
Trang 33Quản trị quyền (Managing
permissions)
• Giải quyết tranh chấp
– Denying permission luôn luôn được ưu tiên– Granted permission xóa Denying permission cùng cấp