Chuong v bao mat va an toan du lieu

80 2 0
Chuong v bao mat va an toan du lieu

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

CHƯƠNG V: AN NINH VÀ AN TOÀN DL GV: TUẤN NGUN HỒI ĐỨC Email: tnhduc@fit.hcmus.edu.vn Nội dung trình bày • Tìm hiểu thêm Trigger • Khung nhìn • Quản trị quyền người dùng • Tổng quan • Chi ,ết • Sao lưu phục hồi liệu Chương V : An ninh An tồn Dữ liệu Tìm hiểu thêm trigger • Xem lại cú pháp khai báo trigger : Create trigger tên_trigger On {tên_bảng|tên_view} {For| A>er| Instead of } { [delete] [,] [insert] [,] [update] } As { lệnh T-sql } go Trigger gọi thực thay cho thao tác delete/ insert/ update tương ứng •Các dịng thêm chứa bảng inserted •Các dịng bị định xố nằm đồng thời bảng deleted bảng liệu (dữ liệu không bị xố) Chương V : An ninh An tồn Dữ liệu Tìm hiểu thêm trigger • Lưu ý: • Lệnh tạo trigger phải lệnh đầu 4ên query batch • Trên bảng định nghĩa nhiều trigger for/aEer cho thao tác… • …nhưng định nghĩa trigger instead of cho thao tác Chương V : An ninh An tồn Dữ liệu Tìm hiểu thêm trigger • Lưu ý: • Không thể định nghĩa trigger instead of update/ delete bảng có cài đặt khố ngoại dạng update cascade/ delete cascade • Trong thân trigger, sử dụng hàm Update(tên_cột) để kiểm tra xem việc cập nhật/ insert thực cột •Update(tên_cột) = true : có thực cập nhật cột tên_cột Chương V : An ninh An toàn Dữ liệu Nội dung trình bày • Tìm hiểu thêm Trigger • Khung nhìn • Quản trị quyền người dùng • Tổng quan • Chi ,ết • Sao lưu phục hồi liệu Chương V : An ninh An tồn Dữ liệu Khung nhìn • Khái niệm : View (khung nhìn) bảng ảo định nghĩa lệnh select • Đối với người dùng: view giống bảng thật • Dữ liệu view liệu nhiều bảng thật (view khơng chứa liệu thật sự) • Sự thay đổi liệu tương ứng bảng thật phản ánh lên view Chương V : An ninh An tồn Dữ liệu Khung nhìn • Mục đích sử dụng: • Thể liệu dạng phù hợp với nhóm nghiệp vụ/ nhóm NSD • Bảo mật liệu(security) Chương V : An ninh An tồn Dữ liệu Khung nhìn • Cú pháp: Create view view_name [(column_name [ , n ])] [With Schemabinding] As select_statement Chương V : An ninh An tồn Dữ liệu Khung nhìn • Cú pháp: Create view view_name [(column_name [ , n ])] [With Schemabinding] As select_statement Gắn kết view với lược đồ, đó: •Khơng thể xóa bảng hay view khác có liên quan đến định nghĩa view có schemabinding •Khơng thể thay đổi cấu trúc bảng/ view việc thay đổi ảnh hưởng đến định nghĩa view có schemabinding •Câu select định nghĩa view phải định rõ thuộc tính (khơng select * ) •Các tên bảng, view câu select phải viết dạng owner.Tênbảng/Tênview •Nếu view schemabinding định nghĩa view khác, view phải dạng schemabinding Chương V : An ninh An toàn Dữ liệu 10 Quản lý quyền người dùng • Sử dụng lệnh “Grant…” để cấp quyền cho user / role • Có hai dạng: • Cấp quyền thực lệnh (create database, create procedure, create table,…) • Cấp quyền thao tác đối tượng CSDL (đọc/ ghi table/view, thực thủ tục,…) Chương V : An ninh An toàn Dữ liệu 66 Quản lý quyền người dùng • Cấp quyền thực lệnh : • Cú pháp: GRANT { ALL | statement [ , n ] } TO security_account [ , n ] Trong đó: • statement = create database| create table| create view| create rule| create procedure|backup database|… • Security account = user| role • Ví dụ: GRANT create table, create procedure to dev01 Chương V : An ninh An toàn Dữ liệu 67 Quản lý quyền người dùng • Cấp quyền thao tác đối tượng : • Cú pháp GRANT { ALL | permission [ , n ] } { [ ( column [ , n ] ) ] ON { table | view } | ON { table | view } [ ( column [ , n ] ) ] | ON { stored_procedure} | ON { user_defined_func7on } } TO security_account [ , n ] [ WITH GRANT OPTION ] [ AS role ] Chương V : An ninh An toàn Dữ liệu 68 Quản lý quyền người dùng • Cấp quyền thao tác đối tượng : • Cú pháp Permission = select| insert| GRANT delete| references|update| { ALL | permission [ , n ] } execute { [ ( column [ , n ] ) ] ON { table | view } | ON { table | view } [ ( column [ , n ] ) ] | ON { stored_procedure} | ON { user_defined_func7on } WITH GRANT } OPTION : cho TO security_account [ , n ] phép user cấp quyền thao tác [ WITH GRANT OPTION ] cho user/ role [ AS role ] khác As role: lệnh cấp quyền thực với tư cách thành viên “role” Chương V : An ninh An toàn Dữ liệu 69 Quản lý quyền người dùng • Ví dụ 1: Grant select, update on SinhVien (HoTen, DiaChi, NgaySinh) to Developer Thành viên Developer có quyền select, update cột HoTen, DiaChi NgaySinh bảng SinhVien Chương V : An ninh An tồn Dữ liệu Nhưng khơng cấp quyền cho user khác 70 Quản lý quyền người dùng • Ví dụ 2: Grant select, update on SinhVien (HoTen, DiaChi, NgaySinh) to Developer with grant op,on Thành viên Developer có quyền select, update cột HoTen, DiaChi NgaySinh bảng SinhVien Chương V : An ninh An toàn Dữ liệu Và phép cấp quyền cho user khác danh nghĩa Developer 71 Quản lý quyền người dùng • Dùng Deny để thu hồi quyền user/role • Khi user/role bị thu hồi quyền, khơng thừa hưởng quyền dù thành viên role có quyền • Cú pháp: Có hai dạng tương tự Grant: • Thu hồi quyền thực lệnh • Thu hồi quyền thao tác đối tượng Chương V : An ninh An toàn Dữ liệu 72 Quản lý quyền người dùng • Thu hồi quyền thực lệnh • Cú pháp: DENY { ALL | statement [ , n ] } TO security_account [ , n ] • Ví dụ Deny create table to Dev02 Chương V : An ninh An toàn Dữ liệu 73 Quản lý quyền người dùng • Thu hồi quyền thao tác đối tượng • Cú pháp DENY { ALL | permission [ , n ] } { [ ( column [ , n ] ) ] ON { table | view } | ON { table | view } [ ( column [ , n ] ) ] | ON { stored_procedure} | ON { user_defined_func

Ngày đăng: 06/04/2023, 09:30

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan