BẢO MẬT SQL SERVER

10 642 4
BẢO MẬT SQL SERVER

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

Thông tin tài liệu

Đề tài: XÂY DỰNG WEBSITE GIỚI THIỆU TOUR DU LỊCH GVHD: Huỳnh Văn Gia BẢO MẬT SQL SERVER 1- Các mức bảo mật ( Levels of Security): Thuật ngữ security được hiểu theo nhiều nghóa khác nhau, phụ thuộc ngữ cảnh mà nó được dùng. Nó có thể dược ứng dụng ở 4 mức độ sau: • Hệ điều hành: Để kết nối với hệphục vụ, một người dùng cần xem xét tỉ mỉ vài kiểu thủ tục đăng nhập hệ điều hành nhằm truy cập hệ thống hợp lệ. • SQL Server: Để kết nối với SQL Server, người dùng cần phải có đăng nhập người dùng SQL hợp lệ. • Database: Để truy xuất CSDL trong SQL Server, người dùng phải được cấp quyền trên CSDL đó. • Đối tượng ( bảng, view, store procedure): Muốn truy xuất một đối tượng trong một CSDL, người dùng phải được cấp quyền trên đối tượng đó. Operating system Đề tài: XÂY DỰNG WEBSITE GIỚI THIỆU TOUR DU LỊCH GVHD: Huỳnh Văn Gia 2- Phân cấp tính bảo mật (Security Hierachy): • Trong hệ phân cấp có 4 kiểu người dùng: quản trò viên hệ thống (SA), sở hữu chủ CSDL (DBO), sở hữu chủ đối tượng CSDL (DBOO) và các người dùng khác. a) Quản trò viên hệ thống ( System Administrator _ SA): SQL Server Database Object System administrator (SA) Ít bò hạn chế Database owners Bò hạn chế nhiều Database object owner Other users Đề tài: XÂY DỰNG WEBSITE GIỚI THIỆU TOUR DU LỊCH GVHD: Huỳnh Văn Gia SA là người có toàn quyền truy cập SQL Server. Mọi câu lệnh SQL đều có thể thực thi bởi SA. SA cũng có thể cấp quyền cho các user khác. b) Sở hữu chủ CSDL ( Database Owner _ DBO ) : • DBO là người dùng đã tạo CSDL hoặc được gán quyền sở hữu. DBO có toàn quyền truy cập đến mọi đối tượng trong CSDL của DBO và được phép gán quyền đối tượng (object permission) cho những người dùng khác. • Để xác đònh sở hữu chủ của một CSDL, ta thực thi thủ tục sp_helpdb[ database name] hoặc nhắp đúp vào tên CSDL trong Enterprise Manager. c) Sở hữu chủ đối tượng CSDL ( Database Object Owner _ DBOO ): • DBOO là người tạo đối tượng CSDL. • SQL Server thừa nhận rằng nếu bạn có quyền cần thiết để tạo đối tượng thì đương nhiên bạn có mọi quyền với đối tượng đó ( select, update, insert, delete, reference và execute). • Ngoại trừ DBOO và SA, không ai có thể truy cập đối tượng cho đến khi được cấp quyền thích hợp. • Để xác đònh DBOO trong một CSDL, ta thực thi thủ tục sp_help [object name]. Đề tài: XÂY DỰNG WEBSITE GIỚI THIỆU TOUR DU LỊCH GVHD: Huỳnh Văn Gia • Không có lệnh SQL để chuyển quyền sở hữu của một đối tượng trong CSDL. Muốn thế, SA hoặc DBOO của đối tượng đó phải hủy bỏ đối tượng và DBOO mới sẽ tạo lại đối tượng đó. • Để làm đơn giản việc truy cập đối tượng, DBO nên tạo tất cả mọi đối tượng trong một CSDL. DBO được tự dộng giao quyền DBOO. d) Người dùng khác: Những người dùng khác cần phải được cấp các quyền đối tượng ( select, update, insert, delete, reference và execute) để hoạt động trong CSDL. SA cũng có thể cấp quyền cho những người dùng khác nên họ có thể tạo và xóa đối tượng trong CSDL. 3- Quyền (Permission): Quyền cho phép một người nào đó làm một việc trong CSDL. Có hai kiểu quyền là : quyền đối tượng và quyền điều lệnh. a) Quyền đối tượng (Object Permission) : Quyền đối tương điều khiển việc truy cập và thao tác dữ liệu trên các đối tượng trong SQL Server. Khi bạn muốn thực hiện một hành động trên một đối tượng, bạn phải có quyền thích hợp. Ví dụ: bạn muốn select * from table 1 thì bạn phải có quyền select đối với bảng đó. Đề tài: XÂY DỰNG WEBSITE GIỚI THIỆU TOUR DU LỊCH GVHD: Huỳnh Văn Gia a.1- Phân loại: Các kiểu quyền đối tượng khác nhau được tổng kết như sau: Kiểu đối tượng Hành động có thể Table Column View Store procedure Select, update, delete, insert,reference Select, update. Select, update, insert, delete. Execute. a.2- Cấp quyền đối tượng ( Granting Object Permissions ): Thực hiện các bước sau để cấp quyền đối tượng: (1) Từ Enterprise Manager, truy cập hộp thoại Server Manager, chọn một hệ phục vụ , mở thư mục Databases, chọn một CSDL và chọn thư mục Object. (2) Từ menu Object chọn Permission. (3)Chọn By Object hoặc By User. • By Object cho phép bạn chọn một đối tượng và quản trò mỗi quyền của người dùng trên đối tượng. • By User cho phép bạn chọn một đối tượng hoặc một nhóm và quản trò quyền của đối tượng hoặc nhóm trên vài đối tượng. Đề tài: XÂY DỰNG WEBSITE GIỚI THIỆU TOUR DU LỊCH GVHD: Huỳnh Văn Gia (4) Nếu bạn đã chọn By Object thì chọn một đối tượng từ danh sách Object để làm việc.Sau đó, một danh sách các nhóm và người dùng được hiển thò cùng các quyền tương ứng với đối tượng. Nếu bạn đã chọn By User thì hãy chọn một người dùng hoặc nhóm từ danh sách User/ Group để làm việc. Sau đó, một danh sách các đối tượng và quyền tương úng với đối tượng được hiển thò. (5) Click vào Grant All để cấp mọi quyền cho các người dùng và nhóm hoặc đối tượng. (6) Để cấp quyền riêng cho một nhóm hoặc một người dùng thì thì chọn hàng thích hợp và click vào hộp kiểm tra đó. (7) Để cấp quyền column level cho một bảng hoặc một view, chọn Column Level Permissions và click vào hộp kiểm tra thích hợp. (8) Click vào nút Set để mọi thay đổi vừa tạo có hiệu lực. a.2-Thu hồi quyền đối tượng (Revoking Object Permission): Thực hiện các bước (1), (2), (3), (4) như cách cấp quyền đối tượng. (5) Click vào nút Revoke All để thu hồi tất cả quyền của mọi người dùng và nhóm hoặc mọi đối tượng. (6) Để thu hồi quyền riêng của một đối tượng, chọn hàng thính hợp và click vào hộp kiểm tra. Đề tài: XÂY DỰNG WEBSITE GIỚI THIỆU TOUR DU LỊCH GVHD: Huỳnh Văn Gia (7) Để thu hồi quyền column level của một bảng hoặc một view, chọn Column Level Permissions và click vào hộp kiểm tra thích hợp. (8) Click vào nút Commit đểmọi thay đổi vừa tạo ra có hiệu lực. a.3-Những điều cần chú ý khi quản trò quyền đối tượng: • Khi một đối tượng được tạo ra lần đầu tiên, chỉ có người tạo ra hoặc SA mới có thể truy cập và thao tác đối tượng. Quyền đối tượng phải được gán cho người dùng, lúc đó họ có thể thao tác đối tượng. • Quyền đối tượng và quyền điều lệnh có hiệu lực tức thì. Không như những hệ thống khác, người dùng không phải xuất rồi nhập lại SQL Server để sự thay đổi có hiệu lực . • Các quyền là đặc tính cúa một đối tượng. Do đó mỗi đối tượng cần được gán quyền thích hợp. • Không cần gán quyền cho SA vì SA có toàn quyền với mọi đối tượng. • Nếu bạn được khởi nhập như SA hoặc DBO thì bạn có thể dùng SETUSER để mạo nhận là người dùng mà bạn đang thử mạo nhận. Cú pháp: SETUSER [‘username’ [with noreset]] Đề tài: XÂY DỰNG WEBSITE GIỚI THIỆU TOUR DU LỊCH GVHD: Huỳnh Văn Gia - Nếu thông số noreset không được chỉ đònh, bạn có thể phát một câu lêïnh không có một đối số nào để quay trở về profile of logged_in user. - Nếu thông số noreset được chỉ đònh, bạn có thể mở lại CSDL ( USE database_name) để trở về profile of logged_in user. • Nếu bạn quên mình đang mạo nhận ai, bạn có thể xác đònh lai lòch người dùng theo cú pháp sau: SELECT user_name(). b) Quyền điều lệnh (Statement Permission): Quyền điều lệnh điều khiển những ai có thể xóa và tạo các đối tượng trong một CSDL. b.1- Các quyền điều lệnh: Chỉ có SA hoặc DBO mới có thể quản lý các quyền điều lệnh. Các quyền điều lệnh gồm có: • Create database: tạo CSDL. Quyền này có thể chỉ cấp cho hoặc SA hoặc người sử dụng trong CSDL master. • Create default: tạo giá trò mặc đònh cho một cột của bảng. • Create store procedure: tạo một thủ tục trữ sẵn. • Create rule: tạo một qui tắc cho một cột của bảng. • Create table: tạo một bảng. Đề tài: XÂY DỰNG WEBSITE GIỚI THIỆU TOUR DU LỊCH GVHD: Huỳnh Văn Gia • Create view: tạo kiểu xem. • Dump database: lưu trữ CSDL tới một thiết bò dư phòng. • Dump transaction: lưu trữ transaction log tới một thiết bò dự phòng. b.2- Cấp quyền điều lệnh ( Granting Statement Permision): (1) Từø Enterprise Manager truy cập hộp thoại Server Manager, chọn một hệ phục vụ, nhắp đúp vào một CSDL. (2) Chọn tab Permission. Các quyền đang tồn tại được thể hiện bằng dấu kiểm tra. (3) Chọn người dùng thích hợp và quyền điều lệnh cho đến khi một dấu màu xanh lá cây xuất hiện trong hộp kiểm tra. (4) Click vào nút OK để mọi thay đổi đïc thiết lập có hiệu quả. b.3- Thu hồi quyền điều lệnh ( Revoking Statement Permission): Thực hiện các bước (1), (2) như cách cấp quyền điều lệnh. (1) Chọn người dùng thích hợp và quyền điều lệnh cho đến khi một vòng màu đỏ và slash xuất hiện trong hộp kiểm tra. (2) Click vào nút OK để các thay đổi vừa thiết lập có hiệu quả. Đề tài: XÂY DỰNG WEBSITE GIỚI THIỆU TOUR DU LỊCH GVHD: Huỳnh Văn Gia c) Quản trò quyền bằng Transact_SQL: SQL dùng lệnh GRANT và REVOKE để quản trò permission. c.1- Cấp quyền đối tượng: GRANT { ALL [column_list] | permission_list[column_list] } ON { table_name [column_list] | view_name [(column_list)] | store_procedure_name } TO { PUBLIC | name_list } [ WITH GRANT OPTION ] Cấp quyền điều lệnh: GRANT { ALL | statement_list } TO { PUBLIC | name_list } c.2- Hủy quyền đối tượng: REVOKE [ GRANT OPTION FOR ] { ALL | permission_list} [(column_list)] ON { table_name [(column_list)} | view_name[(column_list)] | store_procedure_name FROM { PUBLIC | name_list | role_name } [CASCADE] Hủy quyền điều lệnh: REVOKE { ALL | statement_list } FROM { PUBLIC | name_list . hợp lệ. • SQL Server: Để kết nối với SQL Server, người dùng cần phải có đăng nhập người dùng SQL hợp lệ. • Database: Để truy xuất CSDL trong SQL Server, . XÂY DỰNG WEBSITE GIỚI THIỆU TOUR DU LỊCH GVHD: Huỳnh Văn Gia BẢO MẬT SQL SERVER 1- Các mức bảo mật ( Levels of Security): Thuật ngữ security được hiểu theo

Ngày đăng: 07/10/2013, 03:20

Từ khóa liên quan

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

Tài liệu liên quan