1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bài giảng hệ quản trị cơ sở dữ liệu chương 9 lê thị minh nguyện

9 6 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề An Toàn Dữ Liệu
Tác giả Lê Thị Minh Nguyện
Trường học Huflit
Chuyên ngành Hệ Quản Trị Cơ Sở Dữ Liệu
Thể loại bài giảng
Năm xuất bản 2017
Thành phố Hồ Chí Minh
Định dạng
Số trang 9
Dung lượng 1,28 MB

Nội dung

8/25/2017 Nội dung Chương An toàn liệu GV: Lê Thị Minh Nguyện Email: nguyenltm@huflit.edu.vn Khái niệm Phân loại cố Các chế an tồn liệu Kiểm sốt quyền truy cập CSDL Phân quyền Quản lý quyền người dùng Quản lý phân quyền Khung nhìn (view) chế bảo vệ Mã hóa liệu Hệ quản trị Cơ sở liệu Khái niệm Các chế an tồn liệu • An tồn liệu: nhằm chống lại xâm nhập trái phép từ bên bên hệ thống Các tác nhân tác động từ bên gây hư hỏng hệ quản trị sở liệu, sai lệch, mát liệu, cấu trúc liệu,… Hệ quản trị Cơ sở liệu 3.1 Cơ chế chứng thực 3.2 Cơ chế phân quyền 3.3 Cơ chế mã hóa Hệ quản trị Cơ sở liệu 8/25/2017 3.1 Cơ chế chứng thực 3.1 Cơ chế chứng thực • Hai chế độ chứng thực • Sửa đổi chứng thực • Mixed security Mode: Kết nối với SQL server cách dùng Windows Authentication SQL server Authentication • Windows authentication mode: Chỉ kết nối với SQL server Windows Authentication Hệ quản trị Cơ sở liệu 3.2 Cơ chế phân quyền 3.3 Cơ chế mã hóa • Mã hóa liệu nhạy cảm như: ??? • Các kỹ thuật mã hóa Quyền chứng thực • • • • Quyền người sử dụng sử dụng nhiều CSDL Các quyền cụ thể sử dụng bảo vệ CSDL Hệ quản trị Cơ sở liệu Hệ quản trị Cơ sở liệu Mã hóa mật Mã hóa đối xứng Mã hóa bất đối xứng Mã hóa chứng nhận Hệ quản trị Cơ sở liệu 8/25/2017 Kiểm soát quyền truy cập CSDL Kiểm soát quyền truy cập CSDL (tt) Xét sở liệu bán hang gồm table PhongBan, SanPham, DonHang, CTDonHang, KhachHang, ChiNhanh bảng NhanVien(MaNV, HoLot, TenNV, NgayVaoLam, MaNQL, MaPB, Luong, HoaHong) Khi đó, phát biểu sau mức độ truy cập tới CSDL trao cho nhóm user: (1)User phép truy xuất khơng điều kiện tới tồn CSDL thực thao tác CSDL (2)User không phép truy xuất tới phận CSDL (3)User đọc phận CSDL không thay đổi nội dung phận (4) User đọc bảng NhanVien không sửa đổi (5)User đọc bảng NhanVien sửa đổi tất giá trị (6)User đọc thuộc tính MaNV, TenNV, MaPB sửa giá trị thuộc tính MaPB Hệ quản trị Cơ sở liệu Hệ quản trị Cơ sở liệu Kiểm soát quyền truy cập CSDL (tt) Kiểm soát quyền truy cập CSDL (tt) (7) User áp dụng phép tốn thống kê cho thuộc tính Luong (như tính lương trung bình phịng ban) khơng đọc hay sửa đổi giá trị cá biệt (8) User đọc thuộc tính MaNV, Luong, HoaHong sửa giá trị thuộc tính HoaHong nhân viên người trưởng phịng phịng (9) User bổ sung thêm nhân viên vào phịng ban hay xóa nhân viên khỏi phịng User cấp số quyền truy cập sau: • Quyền đọc liệu • Quyền thêm liệu • Quyền sửa liệu • Quyền xóa liệu Hệ quản trị Cơ sở liệu 11 Hệ quản trị Cơ sở liệu 10 12 8/25/2017 Phân quyền (Cấp quyền cho người dùng) Bước Tạo tài khoản đăng nhập Bước 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' Bước Tạo người dùng Bước Cấp quyền cho người dùng Hệ quản trị Cơ sở liệu • Cách 2: sp_addlogin 'tên_login','mật_khẩu' 13 Hệ quản trị Cơ sở liệu Bước Tạo người dùng Bước Cấp quyền cho người dùng • Cách 1: create user tên_user for login tên_login grant danh_sách_quyền on tên_bảng to tên_user [with grant option] Tuỳ chọn [with grant option] sử dụng phép người dùng phép cấp lại quyền cho người dùng khác • Cách 2: sp_adduser 'tên_login','tên_user' Hệ quản trị Cơ sở liệu 14 15 Hệ quản trị Cơ sở liệu 16 8/25/2017 Phân quyền (tt) Quản lý quyền người dùng • Tình huống: Cấp quyền xem thêm liệu bảng MatHang cho người dùng huynhsuhuynh • Các bước thực hiện: • Bước 1: Tạo tài khoản đăng nhập create login huynhsuhuynh with password = ‘abc123’ • Bước 2: Tạo người dùng create user huynhsuhuynh for login huynhsuhuynh • Bước 3: Cấp quyền grant select,insert on MatHang to huynhsuhuynh • Sau cấp Login account để truy cập vào SQL Server bạn cần cấp cho Login account quyền user truy cập một/ nhiều Database • SQL Server lưu user Database table sysusers • Một Login account trở thành user nhiều Database với quyền hạn mang nhiều user name khác Mặc định user name trùng tên với Login account Hệ quản trị Cơ sở liệu 17 Quản lý quyền người dùng (tt) Hệ quản trị Cơ sở liệu 18 Quản lý phân quyền • Kiểm sốt user làm database sử dụng: • Hai User đặc biệt: • Các Database role • Cấp quyền cho user thao tác object statement • dbo: user có tất quyền Database • guest user: Một Login account truy xuất đến instance SQL Server, khơng có user account để truy xuất Database cụ thể, truy xuất đến Database người khách (guest user) Hệ quản trị Cơ sở liệu 19 • Các chế cấp quyền: • Dùng login account tạo sẵn hệ thống gán role default như: sa gán sysadmin • Chỉ định login account user Database: mặc định có quyền thuộc public database role • Sử dụng role: Sysadmin bao trùm db_ower • Sử dụng lệnh cấp quyền cho user thao tác object statement grant, deny, revoke Hệ quản trị Cơ sở liệu 20 8/25/2017 Quản lý phân quyền (tt) Quản lý phân quyền (tt) • ROLES: • Role công cụ cho phép cấp quyền cho nhóm User thay thực user • Có loại Roles: • Fixed role • User-defined Database role • Hoặc phân biệt: • Role mức server • Role mức Database Hệ quản trị Cơ sở liệu 21 Quản lý phân quyền (tt) GRANT { { ALL | permission [ , n ] } [ (column_name [ , n ] ) ] ON { table | view | stored_procedure |extended_procedure | user_defined_function }} TO user_name [ , n ] Hệ quản trị Cơ sở liệu 22 Lệnh hủy (revoke): Hủy quyền cấp grant hay từ chối deny Revoking Statement Permission : REVOKE { ALL | statement [ , n ] } FROM user_name [ , n ] Revoking Object Permission : REVOKE { { ALL | permission [ , n ] } [ (column_name [ , n ] ) ] ON { table | view | stored_procedure |extended_procedure | user_defined_function }} {TO | FROM} user_name [ , n ] GRANT { ALL | statement [ , n ] } TO user_name [, n ] Hệ quản trị Cơ sở liệu • Object permission (Đối tượng): Kiểm soát User / role thực thi hành động object cụ thể Database Quản lý phân quyền (tt) • Statement (Phát biểu): kiểm sốt User/role thực lệnh sau đây: • CREATE DATABASE • CREATE DEFAULT • CREATE PROCEDURE • CREATE RULE • CREATE TABLE • CREATE VIEW • BACKUP DATABASE • BACKUP LOG • Quyền cho phép người dùng thực cách hành động Database Có hai loại quyền: 23 Hệ quản trị Cơ sở liệu 24 8/25/2017 Quản lý phân quyền (tt) Cấp quyền cho Role (tt) • Như thay cấp quyền cho user, người quản trị cấp quyền theo nhóm Và user thuộc nhóm quyền có tất quyền nhóm Do đó, người quản trị thực thêm bớt quyền dễ dàng • 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' Cấp quyền cho nhóm (Role) Hệ quản trị Cơ sở liệu 25 Cấp quyền cho Role (tt) 26 Cấp quyền cho Role (tt) • Ví dụ cấp quyền cho nhóm xemdulieu quyền xem liệu sở liệu QuanLyBanHang Trong nhóm quyền có user DangLH Hệ quản trị Cơ sở liệu Hệ quản trị Cơ sở liệu 27 Bước 1: Tạo nhóm quyền Use QuanLyBanHang 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 Abc12345 Create Login DangLH With Password = 'Abc12345’ Bước 4: Tạo user DangLH sử dụng login DangLH Use QuanLyBanHang Create User DangLH For Login DangLH Bước 5: Thêm usser DangLH vào nhóm xemdulieu Sp_addRoleMember 'xemdulieu', 'DangLH' Hệ quản trị Cơ sở liệu 28 8/25/2017 Khung nhìn (view) chế bảo vệ Khung nhìn (view) chế bảo vệ (tt) • Bảng quan hệ tổ chức lưu trữ vật lý CSDL • Khung nhìn quan hệ • Không lưu trữ vật lý (bảng ảo) • Khơng chứa liệu • Đối tượng bên lưu trữ câu lệnh SELECT • Các liệu lấy từ bảng sở • Có thể thêm, xóa, sửa bảng ảo • Cú pháp: CREATE VIEW [(tên_các_cột)] [WITH ENCRYPTION] //mã hoá nội dung câu lệnh AS Câu lệnh SELECT [WITH CHECK OPTION]// ngăn cản thao tác cập nhật liệu (thêm, sửa) tác động trực tiếp vào bảng ảo không thoả điều kiện mệnh đề WHERE Xem lại nội dung câu lệnh SELECT bên View EXEC Sp_helptext Hệ quản trị Cơ sở liệu 29 Mã hóa liệu Hệ quản trị Cơ sở liệu 30 Mã hóa liệu (tt) USE AdventureWorks2012; GO Create a column in which to store the encrypted data ALTER TABLE Sales.CreditCard ADD CardNumber_EncryptedbyPassphrase varbinary(256); GO First get the passphrase from the user DECLARE @PassphraseEnteredByUser nvarchar(128); SET @PassphraseEnteredByUser = 'A little learning is a dangerous thing!’; Update the record for the user's credit card In this case, the record is number 3681 UPDATE Sales.CreditCard SET CardNumber_EncryptedbyPassphrase = EncryptByPassPhrase(@PassphraseEnteredByUser , CardNumber, 1, CONVERT( varbinary, CreditCardID)) WHERE CreditCardID = '3681'; • Mã khóa mật EncryptByPassPhrase ( { 'passphrase' | @passphrase } , { 'cleartext' | @cleartext } [ , { add_authenticator | @add_authenticator } , { authenticator | @authenticator } ] ) Hệ quản trị Cơ sở liệu 31 Hệ quản trị Cơ sở liệu 32 8/25/2017 Mã hóa liệu (tt) Mã hóa liệu (tt) • Giải mã USE AdventureWorks2012; Get the pass phrase from the user DECLARE @PassphraseEnteredByUser nvarchar(128); SET @PassphraseEnteredByUser = 'A little learning is a dangerous thing!'; Decrypt the encrypted record DecryptByPassPhrase ( { 'passphrase' | @passphrase } , { 'ciphertext' | @ciphertext } [ , { add_authenticator | @add_authenticator } , { authenticator | @authenticator } ] ) SELECT CardNumber, CardNumber_EncryptedbyPassphrase AS 'Encrypted card number', CONVERT(nvarchar, DecryptByPassphrase(@PassphraseEnteredByUser, CardNumber_EncryptedbyPassphrase, , CONVERT(varbinary, CreditCardID))) AS 'Decrypted card number' FROM Sales.CreditCard WHERE CreditCardID = '3681' Hệ quản trị Cơ sở liệu 33 Hệ quản trị Cơ sở liệu 35 Hệ quản trị Cơ sở liệu 34

Ngày đăng: 22/11/2023, 14:44

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN