02/10/2018, 00:24

[SQL SERVER] Hướng dẫn cấu hình cho phép user chỉ được quyền truy cập vào một số table đặc biệt trong database

Trong lập trình ứng dụng, nhiều lúc chúng ta cần phân quyền sqlserver cho phép người dùng (user) chỉ được phép kết nối đến database của sqlserver, nhưng chỉ được phép thao tác quyền (insert, update hoặc delete) trên một số table đặc biệt do mình quy định. ...

Trong lập trình ứng dụng, nhiều lúc chúng ta cần phân quyền sqlserver cho phép người dùng (user) chỉ được phép kết nối đến database của sqlserver, nhưng chỉ được phép thao tác quyền (insert, update hoặc delete) trên một số table đặc biệt do mình quy định.

Ví dụ: Mình đang viết một ứng dụng quản trị ERP của công ty, nhưng công ty có thuê một công ty bên ngoài phát triển phần mềm nhân sự.

Và bây giờ là bên phần mềm nhân sự, nó yêu cầu chúng ta cho phép họ truy cập và thao tác trên một số table nhất định.

Cách giải quyết vấn đề này là: chúng ta tạo thêm một tài khoản trong sqlserver, và cấu hình cho phép user đó chỉ được một số quyền (role) như: select, update, insert, delete vào một số table mình quy định.

Bắt đầu thực hành:

Bước 1: Đầu tiên các bạn tạo một tài khoản trong sqlserver

Vào thự mục Sercurity => Logins =>right chuột phải chọn New login

cấu hình phân quyền sqlserver

Giao diện thêm user login hiện ra như hình bên dưới: 

Trong tab General, các bạn nhập các thông tin:

Login name, password và chọn database cho phép user truy cập như hình bên dưới.

cấu hình phân quyền sqlserver

- Tiếp theo, chúng ta chọn tab Server Roles, chọn Server roles là public 

phân quyền sqlserver

- Tiếp theo, chúng ta qua tab User Mapping, để chọn những database nào cho phép user kết nối.

Trong ví dụ bên dưới: mình chọn database NORTHWND

chọn database sqlserver

- Vậy đến bước này là chúng ta đã tạo thành công mới một user login

Bước 2: Sử dụng lệnh T-SQL thêm quyền cho người dùng vào một số table đặc biệt.

phân quyền sqlserver

Ở ví dụ trên: là mình cấu hình cho phép user thaomeo truy cập vào table employees với các quyền (insert, select, update).

Vậy là xong, bây giờ chúng ta sẽ đăng nhập vào tài khoản thaomeo để xem kết quả:

role trong sqlserver

Đến đây là xong, chúc các bạn thành công.

HAVE FUN :)

Tags: sercuritydatatable
0