BẢO MẬT TRONG SQL SERVER

Similar documents
TÀI LIỆU THỰC HÀNH MÔN CƠ SỞ DỮ LIỆU NÂNG CAO

Khối: Cao Đẳng nghề và Trung Cấp Năm 2009

Internet Protocol. Bởi: Phạm Nguyễn Bảo Nguyên

Hướng dẫn cài đặt FPT

HƯỚNG DẪN SỬ DỤNG PLESK PANEL

I. Hướng Dẫn Đăng Nhập:

Tình huống 1: PPPoE với Username và Password

Cài đặt và cấu hình StarWind iscsi trên Windows. iscsi SAN là gì?

Cụ thể những công việc mà AndroidManifest.xml thực hiện: - Đặt tên cho Java package của ứng dụng.

BÀI 1: VBA LÀ GÌ? TẠO MACRO, ỨNG DỤNG CÁC HÀM TỰ TẠO (UDF), CÀI ĐẶT ADD-INS VBA là gì?

HƯỚNG DẪN CÀI ĐẶT PHẦN MỀM DIỆT VIRUS AVIRA

Chương 5. Network Layer. Phần 1 - Địa chỉ IPv4. Tài liệu : Forouzan, Data Communication and Networking

Chương 5. Network Layer 19/09/2016 1

Tài liệu hướng dẫn: Stored Procedure

Bộ môn HTMT&TT, Khoa Công Nghệ Thông Tin và TT, ĐH Cần Thơ

HƯỚNG DẪN SỬ DỤNG HỆ THỐNG CẬP NHẬT CHỨNG THƯ SỐ HOTLINE:

ĐỌC, GHI XML VỚI C# TRONG ADO.NET --- SỬ DỤNG VISUAL STUDIO

Bài 10: Cấu trúc dữ liệu

Giáo trình này được biên dịch theo sách hướng dẫn của Sun Light. Vì là hướng dẫn kỹ thuật, trong này những thuật ngữ kỹ thuật bằng tiếng Anh tôi chỉ

HƯỚNG DẪN SỬ DỤNG ĐẦU GHI H.264 DVR VISION VS (4CH - 8CH - 16CH)

Bài Thực hành Asp.Net - Buổi 1 - Trang: 1

Bài thực hành số 2 QUYỀN và ROLE

CẤU TRÚC DỮ LIỆU NÂNG CAO

TỔNG QUAN VỀ.NET VÀ C#

BÀI TẬP THỰC HÀNH LẬP TRÌNH WINDOWS C#

Nội dung chính của chương. Các công nghệ đĩa cứng Cấu tạo vật lý của đĩa cứng Cấu tạo logic của đĩa cứng Cài đặt đĩa cứng như thế nào?

Khoa KH & KTMT Bộ môn Kỹ Thuật Máy Tính

Entity Framework (EF)

BELGIUM ONLINE APPOINTMENT

LẬP TRÌNH WINDOWS FORM VỚI CÁC CONTROL NÂNG CAO (Các control trình bày dữ liệu dưới dạng danh sách)

Online Appointment System will work better with below conditions/ Hệ thống đặt hẹn online sẽ hoạt động tốt hơn với điều kiện sau đây:

Bộ môn MMT&TT, Khoa Công Nghệ Thông Tin và TT, ĐH Cần Thơ

NHÚNG. Vi ñiều khiển BM Kỹ Thuật ðiện Tử - ðh Bách Khoa TP.HCM 2

STACK và QUEUE. Lấy STACK

GIẢI THUẬT ĐỊNH TUYẾN (ROUTING ALGORITHM)

LÂ P TRI NH WEB ASP.NET

BÀI THỰC HÀNH SỐ 1. Quản trị tập tin: 1/ Tạo các thư mục sau: Bài tập thực hành linux Linuxlab. bt1 bt11 bt111. bt121. bt12. bh1 bh11 bh111.

HỢP ĐỒNG MUA BÁN HÀNG HÓA QUỐC TẾ GV: NGUYỄN THỊ BÍCH PHƯỢNG

LAB IP SLA Bài 1. Bùi Quốc Kỳ ***

Bài 13: C++11. EE3490: Kỹ thuật lập trình HK1 2017/2018 TS. Đào Trung Kiên ĐH Bách khoa Hà Nội

Tạo repository mới. The working tree. The staging index. Lệnh git init tạo một repository loại git. tại thư mục hiện tại: $ git init

HƢỚNG DẪN TRIỂN KHAI KASPERSKY - MOBILE DEVICE MANAGEMENT

Chương 6. Transport Layer. Tài liệu : Forouzan, Data Communication and Networking

NHẬP MÔN LẬP TRÌNH KHOA HỌC DỮ LIỆU. Bài 10: Thư viện Pandas (2)

B5: Time to coding. Tới thư mục src/example.java và thay đổi nội dung file như sau: Mã: package at.exam;

Dọn "rác" Windows 7 vào dịp cuối năm

Exceptions. Outline 7/31/2012. Exceptions. Exception handling is an important aspect of objectoriented. Chapter 10 focuses on:

TÀI LIỆU HƯỚNG DẪN SỬ DỤNG HOSTING PLESK PANEL

Tìm hiểu Group Policy Object và các ví dụ

LINQ TO SQL & ASP.NET

Tạo Project với MPLAB

Mô hình dữ liệu quan hệ (Relational data model)

CHƯƠNG 2: CÁC ĐẶC ĐIỂM VỀ MÔI TRƯỜNG PHÁT TRIỂN (IDE)

Ôn tập Thiết bị mạng và truyền thông DH07TT - Lưu hành nội bộ (không sao chép dưới mọi hình thức)

Mạng máy tính - Computer Network: Hệ. Giao thức - Protocol:

SIMULATE AND CONTROL ROBOT

Khoa Công Nghệ Thông Tin Trường Đại Học Cần Thơ. Những hỗ trợ tiên tiến khác của SQL. Đỗ Thanh Nghị

HƯỚNG DẪN CÁCH SỬ DỤNG WINDOWS MOVIE MAKER

Lab01: M V C Lưu ý: Để thực hành, các bạn phải cài Visual Studio 2013 trở lên mới hỗ trợ MVC5.

SIEMENS INDUSTRIAL NETWORKS

Tính kế thừa-2. Bởi: Thanh Hiền Vũ. Định nghĩa lại các thành viên lớp cơ sở trong một lớp dẫn xuất:

Parallels Cloud Server 6.0

Bài tập lớn số 1. Giả lập bộ định thời

Nhấn nút New để tạo 1 biến mới Trang 17

GV: Phạm Đình Sắc or

HƯỚNG DẪN QUẢN TRỊ HỆ THỐNG

Cập nhật ResultSet trong JDBC

Môn Học: Cơ Sở Dữ Liệu 2. Chương 3 LẤY DỮ LIỆU TỪ NHIỀU NGUỒN

BÀI 6 LÀM VIỆC VỚI THÀNH PHẦN MỞ RỘNG CỦA CSS3

Đa ngôn ngữ (Internationalization) trong Servlet

PHÁT TRIỂN ỨNG DỤNG WEB

Hệ điều hành Bài tập tuần 7_ Chúng ta làm quen một số lệnh thao tác với hệ thống file trong Linux :

Chương 7. Application Layer. Tài liệu : Forouzan, Data Communication and Networking

Kỹ thuật thu nhỏ đối tượng trong Design (Layout)

Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM LẬP TRÌNH MINICHAT. Bài giảng 3. Trang1. Khoa Khoa Học Và Kỹ Thuật Máy Tính

HƯỚNG DẪN SỬ DỤNG NHANH MINDJET MIND MANAGER

HƯỚNG DẪN SỬ DỤNG DỊCH VỤ CDN

Bài 7: Các cấu trúc điều khiển

BÀI LAB ĐỔI TÊN DOMAIN

Lecture 12. Trees (1/2) Nội dung bài học:

Bài 10. Cấu trúc liên nối. khác nhau được gọi là cấu trúc liên nối. nhu cầu trao đổi giữa các module.

HƯỚNG DẪN SỬ DỤNG DỊCH VỤ CDN

Google Search Engine. 12/24/2014 Google Search Engine 1

ĐỀ CƯƠNG BÀI GIẢNG HỌC PHẦN: AN NINH MẠNG

Quản trị Linux nâng cao. Tháng 9/2013

HTML DOM - Forms. MSc. nguyenhominhduc

Bài tập căn bản Visual Basic.Net Vòng lặp. txtn. txtketqua. btntinh. txtn. txtketqua. btntinh. Trang 1

Bài thực hành 1: Chỉ mục trong SQL Server

Hướng Dẫn Thực Hành Tập tin & Thư mục

HƯỚNG DẪN CÀI ĐẶT VÀ SỬ DỤNG KASPERSKY SECURITY CENTER. Version

Mô hình thực thi ASP.NET page Xây dựng Web Form HTML Control và Web Control Bổ sung code vào Page Page Event Life Cycle Postback event

CHƯƠNG 5: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG TRONG VB.NET

LẬP TRÌNH 8051 SỐ HỌC VÀ LÔ GIC

Cấu hình Router FTTH ---X---

dụng một chính sách, điều này giúp dễ dàng quản lý và cung cấp tính năng Load Balancing (cân bằng tải) phục vụ tốt hơn các yêu cầu của tổ chức.

FCAPS. nhìn từ quan điểm ITIL. Công cụ ManageEngine và ứng dụng khung ITIL trong các tổ chức, doanh

Phần 2. SỬ DỤNG POWERPOINT ĐỂ CHUẨN BỊ NỘI DUNG TRÌNH BÀY

1 Bước 1: Test thử kit LaunchPad.

Các kiểu định địa chỉ họ MSC-51

Khối: Cao Đẳng nghề và Trung Cấp Năm 2009

Transcription:

Chương 8 SECURITY 1

BẢO MẬT TRONG SQL SERVER Bảo mật trong SQL Server gồm 3 lớp : Login security : kiểm soát ai có thể log vào SQL Server. Database access security : kiểm soát ai có thể truy cập vào một DB cụ thể trên server. Permission security : kiểm soát một user có thể thực hiện thao tác gì trên DB. 2

BẢO MẬT TRONG SQL SERVER 3

Login security Hai loại chứng thực 1. Windows Authentication: User chỉ cần ñược cấp account trong Windows 2000. SQL Server sẽ dựa vào Windows 2000 ñể chứng thực cho user. gọi là kết nối tin tưởng. Khi kết nối ñến SQL server theo cách này thì có nghĩa là ñược uỷ nhiệm bảo mật của Windows 2. SQL Server Authentication: Người quản trị CSDL tạo ra tài khoản và password ñăng nhập của SQL server. 4

Login security Như vậy, nếu các client không có phép log vào Windows 2000 nhưng vẫn có thể connect với SQL Server nếu có một SQL Server login account. Thông tin ñăng nhập ñược lưu trong bảng sysxlogins của CSDL master Khi dùng chế ñộ chứng thực SQLServer, một tài khoản ñăng nhập mặc ñịnh là sa, mật khẩu là null 5

Login security Hai chế ñộ chứng thực: Mixed security Mode Kết nối với SQL server 2000 bằng cách dùng Windows Authentication hoặc SQL server Authentication Windows authentication mode Chỉ có thể kết nối với SQL server 2000 bằng Windows Authentication, Windows NT kiểm tra an toàn tất cả các kết nối ñến SQL server Thao tác : Chuyển ñổi chế ñộ chứng thực 6

7

Login security Tạo Login account Hai phương pháp ứng với hai loại chứng thực a) Khai báo một Windows account : 2 cách Dùng EM : Chọn Security.Login.New login Dùng lệnh: sp_grantlogin login b) Tạo mới một SQL login account : 2 cách Dùng EM : Chọn Security.Login.New login Dùng lệnh: sp_addlogin login, password, database_name 8

Login security Chú ý : Khi tạo login account, có một thao tác là chọn một default database. Việc chọn default database chỉ là thiết lập một default context cho user, chứ không phải là cấp quyền cho user trên database này. Trình cài ñặt SQL Server tự ñộng thiết lập hai Windows login account Một cho built-in Windows 2000 Administrator group Một cho SQL Server service account. Trình cài ñặt cũng tự ñộng tạo một SQL Server login account gọi là sa cho các nhà quản trị hệ thống. 9

Database access security Sau khi cấp login account ñể truy cập vào SQL Server, bạn cần cấp cho login account này quyền là một user truy cập một / nhiều database. SQL Server lưu các user của mỗi database trong table sysusers. Một login account có thể trở thành user của nhiều database với những quyền hạn và có thể mang user name khác nhau. Mặc ñịnh user name trùng tên với login account. 10

Database access security Khi chỉ ñịnh 1 login account là user của một DB, mặc nhiên user thuộc về public database role. Bạn có thể thông qua role này ñể chỉnh sửa quyền của user. Khi gán 1 login account là thành viên của một database role trên một DB, nó trở thành một user của database này. 11

Database access security Hai user ñặc biệt dbo là một user có tất cả các quyền trên DB. Mặc ñịnh tất cả các thành viên thuộc sysadmin server role ñều là dbo của tất cả các DB trên server. Một login account là thành viên của db_owner database role thì cũng có quyền như dbo. Khi thao tác các object trong DB, các thành viên này có thể dùng tên dbo ñể chỉ owner thay cho user name. guest user : Một login account truy suất ñến 1 instance của SQL Server 2000, nhưng không có user account ñể truy xuất 1 DB cụ thể, thì có thể ñược truy xuất ñến DB như một người khách (guest user). Bạn có thể cấp các quyền cho guest user account giống như cấp cho các user account khác. Tuy nhiên ñây là user account dành cho khách vãng lai. Mặc ñịnh chỉ có master, tempdb, northwind, pubs database là có guest user. Các db khác không có sẵn guest user account. 12

Database access security Khai báo một user Dùng icon <tên DB>.User trong EM Dùng thuộc tính của login account trong EM Dùng lệnh sp_grantdbaccess loginname Gán user là thành viên của database role : Dùng thuộc tính của database role trong EM Dùng thuộc tính của login account hay user account trong EM Dùng lệnh sp_addrolemember database_role,database_user_account 13

Permission security Kiểm soát user có thể làm ñược gì trên database bằng sử dụng : Các database role Cấp quyền cho user thao tác trên object và statement 14

Permission security Các cơ chế cấp quyền : dùng login account ñược tạo sẵn bởi hệ thống và ñược gán role default như : sa ñược gán sysadmin fixed server role Chỉ ñịnh 1 login account là user của một db mặc ñịnh có quyền thuộc public database role Sử dụng role / Cơ chế role bao trùm sysadmin bao trùm db_owner Sử dụng các lệnh Cấp quyền cho user thao tác trên object và statement như grant, deny, revoke 15

Permission security ROLES Role là một công cụ cho phép cấp quyền cho một nhóm user thay vì thực hiện trên từng user. Các quyền ñược grant, deny hay revoke trên role ñều có hiệu lực với các thành viên của role. Nếu không còn muốn duy trì quyền hạn cho một user bạn chỉ cần loại user khỏi danh sách các thành viên của role. Thường các role ñược ñịnh nghĩa dựa vào nhóm công việc của một nhóm user. 16

Permission security ROLES Hai loại role Fixed role gồm Server role và Database role do SQL Server tạo, không thay ñổi ñược User-defined database role Hoặc có thể phân biệt : Role mức server : fixed server role do hệ thống tạo sẵn, không thay ñổi ñược Role mức database : có 2 loại fixed database role, và user defined database role. Mỗi role có phạm vi trong một database. 17

Permission security ROLES Cách gán một ñăng nhập cho roles server: Bằng T-SQL: sp_addsrvrolemember [@loginame=] login, [rolename=] role Login: là ID ñăng nhập vào SQL server Role : tên roles server gán cho ñăng nhập 18

Permission security ROLES Cách gán một User vào database roles Use Northwind EXEC Sp_addrolemember 'db_securityadmin', ' CDCN4\KeToan' 19

Permission security ROLES User Defined Roles: Bạn phải là thành viên của db_securityadmin, hay db_owner, hay sysadmin,.. ñể có thể tạo role. Dùng T-SQL tạo role B1: ðịnh nghĩa một role (Một user_defined database role ñược ñịnh nghĩa trong một DB) sp_addrole role_name, role_owner B2: Gán quyền về statement và object cho role B3: Gán các user là thành viên của role Xoá role: Sp_droprole rolename 20

Statement and Object permission Statement permission : Statement Permission kiểm soát một user/role có thể thực hiện ñược lệnh nào sau ñây : CREATE DATABASE CREATE DEFAULT CREATE PROCEDURE CREATE RULE CREATE TABLE CREATE VIEW BACKUP DATABASE BACKUP LOG 21

Statement and Object permission Object permission : Kiểm soát một user/role có thể thực hiện hành ñộng gì trên một object cụ thể trong database. Object nhỏ nhất là column DELETE DUMP TABLE EXECUTE INSERT SELECT UPDATE table, view table stored procedure table, view table, view, và column table, view, và column 22

Statement and Object permission Các thao tác về quyền: Thực hiện với user hay user_defined database role. Lệnh cấp (grant) Nếu bạn cấp quyền cho user, và user là thành viên của một role. Các quyền mà user có ñược hợp lại từ cả hai phía. 23

Statement and Object permission Lệnh từ chối (deny) Ngăn user sử dụng quyền và không cho phép user có cơ hội thừa hưởng do là thành viên của một role. Bạn deny quyền SELECT của một user, trong khi user thuộc về một role có quyền SELECT, thì user cũng không thể dùng quyền SELECT. 24

Statement and Object permission Lệnh hủy (revoke) Huỷ quyền ñã cấp grant hay ñã từ chối deny. Việc hủy quyền ñã cấp của một user không ngăn cản user thừa hưởng do là thành viên của một role (khác với deny). Việc hủy quyền ñã deny của một user có nghĩa cho phép user có lại quyền nếu là thành viên của một role có quyền ñó. 25

Statement and Object permission Granting Statement Permission : GRANT { ALL statement [,...n ] } TO user_name [,...n ] Granting Object Permission : GRANT { { ALL permission [,...n ] } [ ( column_name [,...n ] ) ] ON { table view stored_procedure extended_procedure user_defined_function }} TO user_name [,...n ] 26

Statement and Object permission Denying Statement Permission : DENY { ALL statement [,...n ] } TO user_name [,...n ] Denying Object Permission : DENY { { ALL permission [,...n ] } [ ( column_name [,...n ] ) ] ON { table view stored_procedure extended_procedure user_defined_function }} TO user_name [,...n ] 27

Statement and Object permission 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 ] 28

Statement and Object permission GRANT CREATE DATABASE, CREATE TABLE TO Sally go GRANT SELECT, UPDATE ON Customers (CompanyName, City, Phone) TO Sally go DENY CREATE DATABASE TO Sally, Andy go DENY UPDATE, DELETE ON Customers TO Sally 29

Ví dụ NHÓM SÁCH SÁCH HÓA ðơn CTHD QLSACH NHÂN VIÊN LƯƠNG QLNHANVIEN 30

BỘ PHẬN QuẢN LÝ SERVER DBA P KINH DOANH MINH BỘ PHẬN BÁN HÀNG P KẾ TOÁN HẠNH MAI LAN Xem file capquyen.sql 31