Hotline: 0919 365 363; Email: daotao@r2s.edu.vn

Bảo mật cơ sở dữ liệu SQL Server

Bảo mật cơ sở dữ liệu SQL Server

Bảo mật cơ sở dữ liệu sql server
Kiến thức hữu ích

Bảo mật cơ sở dữ liệu SQL Server

Bảo mật cơ sở dữ liệu SQL Server là quá trình bảo vệ và bảo mật các dữ liệu và thông tin quan trọng trong cơ sở dữ liệu SQL Server. Việc bảo mật này sẽ bao gồm việc thiết lập các ràng buộc, quyền truy cập và các biện pháp bảo mật khác để đảm bảo rằng chỉ những người được ủy quyền mới có thể truy cập và thay đổi dữ liệu trong cơ sở dữ liệu.

Do đó, để biết cách tạo lập quy trình bảo mật này, hãy cùng tham khảo bài viết dưới đây của R2S nhé!

Bảo mật cơ sở dữ liệu SQL Server là gì?

Bảo mật cơ sở dữ liệu SQL Server là giải pháp cho phép các quản trị viên cơ sở dữ liệu thiết lập quyền hạn cho người dùng hoặc nhóm người dùng khai thác cơ sở dữ liệu. 

Người dùng hoặc nhóm người dùng sau khi được cấp quyền, có thể đăng nhập vào hệ thống và thực hiện các quyền hạn mà mình được cấp. Bảo mật cơ sở dữ liệu SQL Server giúp phân quyền người dùng trên cơ sở dữ liệu.

Bảo mật cơ sở dữ liệu sql server là gì?
Bảo mật cơ sở dữ liệu sql server là gì?

Tình huống bảo mật cơ sở dữ liệu SQL Server 

Để cấp quyền cho người dùng “test1” được phép xem dữ liệu trên bảng “VATTU” của cơ sở dữ liệu “QuanLyBanHang” trong SQL Server, bạn cần phải thực hiện các bước theo quy trình.

Các bước thực hiện bảo mật cơ sở dữ liệu SQL Server – Cấp quyền cho người dùng

Đăng nhập vào hệ thống bằng quyền quản trị (Administrator) và thực hiện một trong hai cách sau:

Cách 1: Thực hiện với giao diện

Bước 1: Tạo tài khoản sql server (login)

Bảo mật cơ sở dữ liệu sql server

Bước 2: Tạo đến người sử dụng (user)

Tạo đến người sử dụng (user)

Bước 3: Cấp quyền cho người sử dụng

Chuột phải lên bảng (table) hoặc cơ sở dữ iệu (Database) -> chọn Properties

Bước 3: Cấp quyền cho người sử dụng
Bước 3: Cấp quyền cho người sử dụng

Thiết lập quyền

Bảo mật cơ sở dữ liệu SQL Server – Thiết lập chế độ chứng thực Windows và SQL Server

  • Bước 1: Đăng nhập vào SQL Server sử dụng chứng thực Windows với quyền quản trị
  • Bước 2: Nhấp chuột phải vào thanh đầu trang -> chọn Tùy chọn
  • Bước 3: Chọn chế độ chứng thực SQL Server và Windows
Thiết lập chế độ chứng thực Windows và SQL Server
  • Bước 4: Khởi động lại SQL Server
Khởi động lại SQL Server

Bảo mật cơ sở dữ liệu SQL Server – Bài tập thực hành số 1

Để cho người dùng test2 có thể truy cập và xem toàn bộ dữ liệu trong cơ sở dữ liệu QuanLyBanHang, cần kiểm tra quyền truy cập của người dùng bằng cách sử dụng một máy tính khác kết nối từ xa vào máy chủ thông qua mạng LAN.

Cách 2: Thực hiện bằng câu lệnh

Bước 1: Tạo tài khoản đăng nhập

Cách 1:

create login tên_login with password = 'nhập_mật_khẩu'

Cách 2:

sp_addlogin 'tên_login','mật_khẩu'

Bước 2: Tạo người dùng

Cách 1:

create user tên_user for login tên_login

Cách 2:

sp_adduser 'tên_login','tên_user'

Bước 3: Cấp quyền cho người dùng

grant danh_sách_quyền on tên_bảng to tên_user [with grant option]

Sử dụng tùy chọn [with grant option] để cho phép người dùng cấp lại quyền của mình cho người dùng khác.

Bảo mật cơ sở dữ liệu sql serverVí dụ cấp quyền cho người dùng

Tình huống: Cấp quyền xem và thêm dữ liệu trên bảng VATTU cho người dùng thanhnv.

Các bước thực hiện:

Bước 1: Tạo tài khoản đăng nhập

create login thanhnv with password = 'Abc12345'

Bước 2: Tạo người dùng

create user thanhnv for login thanhnv

Bước 3: Cấp quyền

grant select,insert on VATTU to thanhnv

Bài tập vận dụng: Cấp quyền xem và thêm trên bảng NHACC và bảng VATTU cho người dùng tên test3.

Lưu ý khi chúng ta muốn cấp quyền trên các cột, chúng ta phải chỉ định các cột được cấp như cú pháp bên dưới:

Cách 1:

grant select(danh_sách_cột) on tên_bảng to tên_user

Cách 2:

grant select on tên_bảng(danh_sách_cột) to tên_user

Hãy cung cấp quyền cho người dùng thanhnv để chỉ có thể xem hai cột “masv” và “tensv” trong bảng “SINHVIEN”.

grant select(masv,tensv) on sinhvien to thanhnv

Bảo mật cơ sở dữ liệu sql server – Windows Authencation

Bước 1: Để tạo một tài khoản đăng nhập vào hệ điều hành Windows, ta có thể sử dụng lệnh sau và thực hiện trong cửa sổ Command Prompt của Windows.

net user accountName accountPassword /add

Sử dụng SQL Server Management Studio và thực hiện các bước sau

Bước 2: Tạo ánh xạ đăng nhập vào tài khoản Windows.

create login "hostName\accountName" from windows

Bước 3: Tạo user

create user userName for login "hostName\acountName"

Bước 4: Cấp quyền cho user

grant permission on tableName to userName [with grant option]

Clip hướng dẫn tạo login, tạo user và cấp quyền sử dụng Windows Authencation

https://youtu.be/2rCD8pmXAzQ

Các bước thực hiện bảo mật cơ sở dữ liệu sql server – Cấp quyền cho nhóm

Trong SQL Server, nhóm là một tập hợp gồm 1 hoặc nhiều người dùng, tương tự như mỗi phòng ban trong một công ty hoặc tổ chức có nhiều nhân viên. Dưới đây là một ví dụ về sơ đồ tổ chức của một công ty.

Các bước thực hiện bảo mật cơ sở dữ liệu sql server – Cấp quyền cho nhóm
Các bước thực hiện bảo mật cơ sở dữ liệu sql server – Cấp quyền cho nhóm

Thay vì cấp quyền cho từng người dùng, người quản trị có thể cấp quyền theo nhóm. Những người dùng thuộc cùng một nhóm sẽ có tất cả các quyền của nhóm đó. Điều này giúp người quản trị dễ dàng thực hiện việc thêm hoặc bớt quyền cho các nhóm.

Bước 1: Tạo nhóm

Cách 1:

Create Role Tên_Nhóm

Cách 2:

Sp_AddRole 'Tên_Nhóm'

Bước 2: Cấp quyền cho nhóm

Grant Quyền On Bảng To Tên_Nhóm

Bước 3: Thêm user vào nhóm

Sp_AddRoleMember 'Tên_Nhóm', 'Tên_User'

Một ví dụ về việc cấp quyền là cho nhóm xemdulieu được quyền xem dữ liệu từ cơ sở dữ liệu QuanLyBanHang. Trong nhóm này, có một người dùng tên là DangLH.

Bước 1: Tạo nhóm quyền

Use QuanLyBanHang --Chọn cơ sở dữ liệu
Create role xemdulieu

Bước 2: Cấp quyền cho nhóm

Grant select to xemdulieu

Bước 3: Tạo login tên DangLH, mật khẩu Abc12345

Create Login DangLH With Password = 'Abc12345'

Bước 4: Tạo user DangLH sử dụng login DangLH

Use QuanLyBanHang --Chọn cơ sở dữ liệu
Create User DangLH For Login DangLH

Bước 5: Thêm usser DangLH vào nhóm xemdulieu

Sp_addRoleMember 'xemdulieu', 'DangLH'

Một ví dụ về việc cấp quyền là cho nhóm xemdulieu được quyền xem dữ liệu từ cơ sở dữ liệu QuanLyBanHang. Trong nhóm này, có một người dùng tên là DangLH.

Bảo mật cơ sở dữ liệu sql server – Bài tập thực hành số 2

Câu 1: Tạo tài khoản

1.1 Tạo tài khoản đăng nhập SQLServer với tên đăng nhập là nhanvien và password là 123456

1.2 Tạo tài khoản đăng nhập SQLServer với tên đăng nhập là giamdoc và password là giamdoc

1.3 Tạo login có tên là thukho với password là thukho

Câu 2: Tạo người dùng

2.1 Tạo người dùng có tên nhanvien với tài khoản đăng nhập là nhanvien

2.2 Tạo người dùng có tên giamdoc với tài khoản đăng nhập là giamdoc

2.3 Tạo người dùng tên thukho với tên login là thukho

Câu 3: Cấp quyền

Hướng dẫn tạo tài khoản đăng nhập SQLServer cho các người dùng như sau: 

– Tạo tài khoản nhanvien với mật khẩu 123456.

– Tạo tài khoản giamdoc với mật khẩu giamdoc.

– Tạo login thukho với mật khẩu thukho.

Sau khi đã tạo xong các tài khoản, tiến hành tạo các người dùng với các thông tin sau:

– Người dùng nhanvien sử dụng tài khoản đăng nhập nhanvien.

– Người dùng giamdoc sử dụng tài khoản đăng nhập giamdoc.

– Người dùng thukho sử dụng login thukho.

Để cấp quyền cho các người dùng, ta thực hiện các bước sau:

– Cấp quyền SELECT, INSERT và UPDATE trên bảng VATTU cho các người dùng nhanvien và giamdoc.

– Cho phép các người dùng nhanvien và giamdoc xem thông tin năm tháng, mã vật tư, số lượng đầu và số lượng cuối trên bảng TONKHO.

– Cấp quyền SELECT, INSERT, UPDATE và DELETE trên bảng NHACC cho các người dùng nhanvien và giamdoc.

– Cho phép người dùng thukho xem dữ liệu trên bảng TONKHO và có thể cấp lại quyền này cho các người dùng khác.

– Cấp quyền tạo cơ sở dữ liệu và tạo bảng cho người dùng giamdoc.

Bảo mật cơ sở dữ liệu SQL Server – Bài tập thực hành số 3

Câu 1: Sử dụng tài khoản với quyền quản trị thực hiện tạo login, user và cấp quyền

1.1 Tạo login với tên “admin1” và mật khẩu “Abc12345”.

1.2 Tạo user thuộc cơ sở dữ liệu “master” (Databases->System Databases->master).

1.3 Cấp quyền tạo cơ sở dữ liệu, tạo bảng và quyền tạo login cho “admin1”.

Câu 2: Sử dụng tài khoản “admin1” và thực hiện yêu cầu sau

2.1 Tạo CSDL “QuanLyNhanSu”

Lưu ý: Thông tin này được trích dẫn từ các nguồn tìm kiếm và không cần liệt kê danh sách nguồn cuối bài.

FileSizeMaxSizeFileGrowth
Data100Không giới hạn50
Log300Không giới hạn100

2.2 Tạo bảng NhanVien và LuongNV thuộc CSDL QuanLyNhanSu

Bảng NhanVien

Tên cộtKiểu dữ liệuSố kí tựGhi chú
MaNvvarchar20Khóa chính
TenNvnvarchar100
NgaySinhvarchar10
NoiSinhnvarchar50

Bảng LuongNV

Tên cộtKiểu dữ liệuSố kí tựGhi chú
MaNvvarchar20Khóa chính
NamThangvarchar7
Luongfloat

2.3 Tạo login chứng thực SQL Server (SQL Server Authencation)

Tên loginMật khẩu
LyNTAbc12345
HungNTAbc12345

2.4 Tạo user

Tên userTên login
LyNTLyNT
HungNTHungNT

2.5 Cấp quyền

Tên userTên bảngQuyền được cấp
LyNTNhanVien, LuongNVThêm, xóa dữ liệu
HungNTNhanVienChỉ được phép xem MaNv,TenNV và cấp lại quyền.Cập nhật dữ liệu và cấp lại quyền.

Câu 3: Thiết lập ràng buộc dữ liệu

3.1 Giá trị cho cột ngày sinh không được lớn hơn ngày hiện hành
3.2 Giá trị cho cột lương không được nhỏ hơn 0

Bảo mật cơ sở dữ liệu SQL Server – Bài tập thực hành số 4

Câu 1: Tạo database tên QuanLyDaoTao

FileSizeMaxSizeFileGrowth
Data100Không giới hạn10
Log300Không giới hạn30

Câu 2: Tạo các bảng thuộc CSDL QuanLyDaoTao

Bảng Lop

Tên cộtKiểu dữ liệuSố kí tựGhi chú
MaLopvarchar20Khóa chính
TenLopnvarchar100

Bảng SinhVien

Tên cộtKiểu dữ liệuSố kí tựGhi chú
MaSvvarchar20Khóa chính
TenSvnvarchar100
NgaySinhvarchar10
NoiSinhnvarchar50
MaLopvarchar20Khóa ngoại

Bảng MonHoc

Tên cộtKiểu dữ liệuSố kí tựGhi chú
MaMhvarchar20Khóa chính
TenMhnvarchar100
SoGioint

Bảng DiemTP

Tên cộtKiểu dữ liệuSố kí tựGhi chú
MaSvvarchar20Khóa chính
MaMhvarchar20
Diemfloat

Câu 3: Thiết lập ràng buộc dữ liệu

Câu 4: Thêm dữ liệu cho các bảng

Bảng Lop

MaLopTenLop
CN0201Khóa 2001
CN0202Khóa 2002

Bảng SinhVien

MaSvTenSvNgaySinh(dd/mm/yyyy)NoiSinhMaLop
sv01Nguyễn Văn Hưng12/02/1988Hồ Chí MinhCN0201
sv02Lê Hùng17/03/1990Bình DươngCN0201
sv03Lê Hùng02/12/1991Bình DươngCN0202

Bảng MonHoc

MaMhTenMhSoGio
THVPTin học văn phòng45
THDCTin học đại cương45
CSDLCơ sở dữ liệu30

Bảng DiemTP

MaSvMaMhDiem
sv01THVP8.0
sv01THDC7.0
sv01CSDL6.0
sv02THVP9.0
sv02THDC4.0
sv02CSDL7.0
sv03THVP5.0
sv03THDC5.0
sv03CSDL5.0

Câu 5: Cấp quyền

Cấp quyền
Cấp quyền

5.1 Tạo các nhóm quyền thuộc CSDL QuanLyDaoTao tương ứng với các phòng ban như mô tả trên:

  • Tạo nhóm quyền “BanGiamHieu” cho phòng ban Ban Giam Hiệu.
  • Tạo nhóm quyền “KhoaMangTruyenThong” cho phòng ban Khoa Mạng Truyền Thông.
  • Tạo nhóm quyền “KhoaKyThuatPhanMem” cho phòng ban Khoa Kỹ thuật phần mềm.
  • Tạo nhóm quyền “KhoaTaiChinhKeToan” cho phòng ban Khoa Tài chính kế toán.
  • Tạo nhóm quyền “PhongDaoTao” cho phòng ban Phòng Đào tạo.

5.2 Cấp quyền cho các phòng ban trên CSDL QuanLyDaoTao:

  • Nhóm quyền “BanGiamHieu” được phép xem tất cả dữ liệu trên các bảng của cơ sở dữ liệu.
  • Nhóm quyền “KhoaMangTruyenThong” được phép xem dữ liệu trên bảng SINHVIEN và LOP.
  • Nhóm quyền “KhoaKyThuatPhanMem” được phép xem, thêm, xóa và cập nhật dữ liệu trên bảng SINHVIEN, LOP và MONHOC.
  • Nhóm quyền “KhoaTaiChinhKeToan” chỉ được phép xem dữ liệu trên bảng DiemTP.
  • Nhóm quyền “PhongDaoTao” được phép xem, thêm, xóa và cập nhật dữ liệu trên tất cả các bảng của cơ sở dữ liệu.

5.3 Tạo danh sách nhân sự cho các phòng ban (Lưu ý tất cả tài khoản phải đổi mật khẩu trong lần đăng nhập đầu tiên).

Ban Giám Hiệu

TênMật khẩu
AnhNHAbc12345
HoangNTAbc12345

Khoa Mạng Truyền Thông

TênMật khẩu
TrungDMAbc12345
CongNDAbc12345
DangNSAbc12345

Khoa Kỹ thuật phần mềm

TênMật khẩu
ThuatDVAbc12345
DatDTAbc12345
NguyenTTAbc12345

Khoa Tài chính kế toán

TênMật khẩu
TuanTVAbc12345
DieuNTAbc12345
GiangNNAbc12345

Phòng Đào tạo

TênMật khẩu
TramNTHAbc12345
ThuyLTAbc12345

Kết luận

Như vậy, bạn có thể thấy thiết lập bảo mật trong SQL Server 2014 có vai trò cực kỳ quan trọng. Do đó, hãy tìm hiểu thật kỹ về các cú pháp để có thể thực hiện các thao tác thật đơn giản nhé!

Bài viết gốc được đăng tại: giasutinhoc.vn

Alert: You are not allowed to copy content or view source !!