Hướng dẫn Cấp Phát Quyền Thực Thi trên Cơ Sở Dữ Liệu trong SQL

MỤC LỤC

Cấp phát quyền thực thi trên cơ sở dữ liệu

Sau khi cấp quyền cho phép người sử dụng truy cập vào cơ sở dữ liệu account, bước kế tiếp bạn phải cho phép người sử dụng đó có quyền truy cập và xử lý trên các đối tượng, cũng như xử lý dữ liệu trên các đối tượng đó. Ví dụ trong bộ phận kế toán, nhân viên kế toán hay nhân viên nhập dữ liệu thì không thể xem xét các dữ liệu về quyết toán thuế, hay các báo cáo tài chính chẳng hạn. SELECT: Cho phép người dùng nhìn thấy dữ liệu, nếu người sử dụng có quyền này, thì họ.

INSERT: Cho phép người dùng thêm dữ liệu, nếu người dùng có quỳen này, họ có thể thực hiện phát biểu Insert, đối với 1 hệ thống CSDL khác, muốn thực thi phát biểu Insert, người dùng phải có quyền Select, trong trường hợp SQL Server 2000, quyền Insert không liên quan đến quỳên truy vấn Select. UPDATE: Quyền này cho phép người dùng chỉnh sử dữ liệu trong CSDL, với quyền Update người dùng có thể cập nhật dữ liệu bằng phát biểu Update. DELETE: Quyền này cho phép người dùng xóa dữ liệu trong CSDL, với quyền Delete người dùng có thể xóa mẩu tin dữ liệu bằng phát biểu Delete.

REFERENCE: Cho phép người dùng thêm dữ liệu vào bảng có khóa ngoại, nếu người dùng có quyền này, họ có thể thực hiện phát biểu Insert, trong trường hợp SQL Server 2000, quyền Reference không lien quan đến quyền truy vấn Select. EXECUTE: Quyền này cho phép người dùng thực thi thủ tục (SP) trong CSDL, với quyền Execute người dùng có thể xóa mẩu tin dữ liệu bằng phát biểu Exec hay Execute SP.

5.Quyền tạo đối tượng trong CSDL

Sử dụng thủ tục

Để loại các quyền trên của người sử dụng, ta cần phải sử dụng các thủ tục của hệ thống DENY và REVOKE như phần trên.

6.Quản lí vai trò

    Vai trò trên CSDL (database role) dùng để cấp các mức khác nhau khi truy cập CSDL. Vai trò trên server (Server role) dùng để ngăn cản hoặc cho phép con người thực hiện các họat động. Nếu ta muốn mọi người trong 1 CSDL có 1 quyền nào đấy, ta phải gán quyền đó với vai trò public.

    Vai trò Public hầu như không có quyền nào ngoại trừ 1 quyền rất cơ bản là cho phép người dùng kết nối với CSDL. - Vì mọi người dùng đều thuộc vai trò này(mặc định), ta không thể thêm hay bớt người dùng cho vai trò này. Db_securityadmin: vai trò cho phép 1 người dùng quản lí tất cả các vai trò và thành viên của chúng, gán quyền cho các vai trò.

    Db_ddladmin: cho phép xử lí tất cả các đối tượng trong CSDL ( tạo, sửa, xóa… đối tượng). Db_datawriter: cho phép sửa dữ liệu ở các bảng do người dùng tạo trong CSDL. Ta có thể tạo vai trò trên CSDL dùng Enterprise Manager hoặc sử dụng các thủ tục thường trú hệ thống.

    - Vai trò ứng dụng (application role): là những vai trò đặc biệt trong SQL Server 2000 bởi chúng không bao gồm bất kì thành viên nào. Ta không chỉ gán vai trò cho người dùng trong CSDL, ta còn có thể gán vai trò trong phạm vi toàn bộ SQL Server 2000. Điều này có nghĩa ta có thể ngăn cản hoặc cho phép mọi người thực hiện các hoạt động.

    Điều này có nghĩa vai trò này có thể đưa ra câu lệnh KILL, kết thúc công việc 1 người dùng. Vai trò cũng cho phép người quản trị sử dụng 1 số thủ tục hệ thống nhằm cấp phát vai trò cho người sử dụng trên CSDL SQL Server 2000. Tương tự ta có thể sử dụng thủ tục sp_addsvrolemember để thêm thành viên vào 1 vai trò trên server.

    7.Đối tượng CSDL và quyền với đối tượng

    • Một số bảo mật khác

      Quyền đối với đối tượng kiểm soát việc truy cập tới các đối tượng trong SQL Server. Ta có thể thừa nhận hoặc loại bỏ quyền với bảng, cột, các thủ tục thông qua Enterprise Manager hoặc qua các thủ tục hệ thống. 1 người dùng muốn thực hiện 1 hành động đối với 1 đối tượng cần có quyền thích hợp.Bảng sau tổng kết các loại quyền với đối tượng.

      Từ khóa ALL cho phép cấp phát tất cả các quyền cho người sử dụng CSDL đó. Chỉ rừ những bảng hay View nào cho phộp người sử dụng truy cập và xử lớ, hoặc thủ tục hay thủ tục mở rộng. /* Cấp quyền insert, update, delete cho người sử dụng mya trên bảng dữ liệu tblsim */.

      Sau khi thực hiện thủ tục cấp phát quyền sử dụng, sử dụng phát biểu Select để truy vấn dữ liệu từ bảng tblsim, kết quả cho thấy với người sử dụng có tên mya không thể truy vấn dữ liệu từ bảng tblsim như ví dụ sau. Thực hiệnthủ tục cấp phát quyền sử dụng Select trên bảng tblsim cho người sử dụng tên mya. Sau khi cấp phát quyền Select, sử dụng phát biểu Select để truy vấn dữ liệu từ bảng tblsim.

      Từ khoá ALL cho phép cấp phát tất cả các quyền cho người sử dụng cơ sở dữ liệu đó (EXECUTE không có hiệu lực trên bảng). Chỉ rừ những bảng dữ liệu hay View nào cho phộp người sử dụng truy cập và xử lý, hoặc thủ tục hay thủ tục mở rộng. Rất dễ dàng để sử dụng EM thực hiện công việc này, bắt đầu từ tên CSDL, chọn tên tài khoản người sử dụng (user), sau đó R-Click / Properties.

      Để thực hiện theo cách này, ta cần chọn một đối tượng, sau đó phân quyền tất cả đối tượng. Để thực hiện theo cách này, ta cần chọn một đối tượng, sau đó phân quyền tất cả các tên người sử dụng. - Login với tài khỏan guest thì có thể truy cập bất kì dữ liệu của CSDL.

      - Những người dùng bên ngoài có thể sử dụng tài lhoản này để truy cập vào CSDL nếu họ biết mật khẩu của guest. SQL Server sử dụng nghi thức truyền dữ liệu TCP/IP và cổng 1433, tất nhiên khi cài đặt SQL Server thì giá trị mặc nhiên cho 2 thông số này được trình Setup thiết lập hoặc có thể thay đổi từ trình Client Network Utilities.