Thông tin liên hệ
- 036.686.3943
- admin@nguoicodonvn2008.info
Cấp quyền cho user trong SQL Server là tác vụ cơ bản mà lập trình viên cần biết. Nếu muốn biết các quyền dành cho user trên csdl gồm có gì, bài viết sẽ cho bạn câu trả lời.
Quản lý thông tin đăng nhập, người dùng và quyền trong SQL Server là một khía cạnh quan trọng của bảo mật và quản trị cơ sở dữ liệu. Quy trình này đảm bảo rằng chỉ những cá nhân được ủy quyền mới có quyền truy cập vào cơ sở dữ liệu và có thể thực hiện các hoạt động cần thiết.
Ở bài viết này, chúng ta sẽ tìm hiểu cách tạo và quản lý thông tin đăng nhập, liên kết người dùng với các thông tin đăng nhập này và cấp quyền phù hợp là điều cần thiết để duy trì môi trường SQL Server an toàn.
Các khái niệm chính cần ghi nhớ:
Khi nhắc tới bảo vệ dữ liệu nhạy cảm và giữ cho môi trường database an toàn, quản lý quyền & đặc quyền đăng nhập database sẽ là trọng tâm. Ví dụ, bạn muốn một người nào đó, có thể chỉnh sửa và thao tác dữ liệu cá nhân, còn người khác chỉ có thể xem dữ liệu. Ở trường hợp này, quản trị database sẽ cần tạo người dùng hoặc vai trò mới với quyền cụ thể được phân tại server, database hay cấp schema đó. Để triển khai nhiệm vụ này, họ có thể dùng các lệnh T-SQL được cung cấp bởi SQL Server hay công cụ bên thứ ba.
Thực tế, tạo đăng nhập mới trong SQL Server không khó. Đầu tiên, bạn cần tạo một đăng nhập mới dựa trên xác thực Windows, SQL Server, chứng chỉ hoặc một key bất đối xứng.
Để thêm đăng nhập mới, dùng lệnh CREATE LOGIN. Nó tạo một đăng nhập được kết nối tới phiên bản SQL Server. Đăng nhập này sau đó sẽ được map tới tài khoản người dùng cụ thể. Cú pháp của nó như sau:
Xác thực Windows
CREATE LOGIN login_name FROM WINDOWS [ WITH DEFAULT_DATABASE = database_name | DEFAULT_LANGUAGE = language_name ];
Xác thực SQL Server
CREATE LOGIN login_name
WITH PASSWORD = { 'password' | hashed_password HASHED } [ MUST_CHANGE ]
[ , SID = sid_value
| DEFAULT_DATABASE = database_name
| DEFAULT_LANGUAGE = language_name
| CHECK_EXPIRATION = { ON | OFF }
| CHECK_POLICY = { ON | OFF }
| CREDENTIAL = credential_name ];
Chứng chỉ
CREATE LOGIN login_name FROM CERTIFICATE certificate_name;
Key bất đối xứng
CREATE LOGIN login_name FROM ASYMMETRIC KEY asym_key_name;
Giới hạn và những hạn chế bạn cần biết trước khi phân quyền
Phân quyền hay vai trò, không phải đăng nhập hay người dùng cá nhân. Khi thay người được phân quyền, nghĩa là loại bỏ một cá nhân khỏi vai trò đó và thay vào đó bằng người mới. Bạn có thể kết hợp phân nhiều quyền cho một vai trò. Nếu một số người trong công ty hay tổ chức của bạn cần được phân quyền giống nhau, hãy lần lượt thêm họ vào vai trò đó.
Cấu hình các bảo mật tương tự (bảng, trình xem và quy trình) để được sở hữu bởi một schema, sau đó cấp quyền cho schema đó. Ví dụ: lược đồ bảng lương có thể sở hữu một số bảng, cửa sổ xem và thủ tục được lưu trữ. Bằng cách cấp quyền truy cập vào lược đồ, tất cả các quyền cần thiết để thực hiện chức năng tính lương có thể được cấp cùng một lúc.
Nếu những hạn chế trên không phải vấn đề với bạn thì bạn có thể ngay lập tức áp dụng các cách phân quyền cho người dùng MS SQL Server như sau:
Bạn có thể phân quyền trong SQL Server và thu hồi chúng trên các đối tượng database khác nhau. Quyền người dùng luôn ở cấp database.
Bạn có thể cấp bất kỳ hoặc một kết hợp kiểu quyền sau:
Tương tự, bạn có thể thu hồi bất kỳ quyền đã phân.
Bạn có thể cấp hoặc thu hồi quyền bằng SSMS hoặc chạy tập lệnh T-SQL. Dưới đây là hướng dẫn chi tiết.
Cú pháp:
Use <database name>Grant <permission name> on <object name> to <username\principle>
Ví dụ:
Để phân quyền chọn cho người dùng có tên TestUser trên đối tượng là TestTable trên CSDL có tên TestDB, bạn chạy truy vấn dưới đây.
USE TestDBGOGrant select on TestTable to TestUser
Bước 1: Kết nối tới CSDL, mở rộng thư mục như trong hình dưới đây.

Mở thư mục Security > Users và tìm tên người dùng muốn phân quyền
Bước 2: Click chuột phải vào TestUser và chọn Properties. Màn hình dưới đây sẽ hiện ra.

Màn hình quản lý người dùng TestUser
Bước 3: Dùng Search để tìm kiếm sau đó chọn đối tượng muốn phân quyền, ở đây là bảng TestTable.
Bước 4: Click chọn bảng TestTable, sau đó chọn hộp checkbox Grant cho các thao tác trong danh sách bên dưới như trong hình dưới đây. Ở ví dụ này là trao quyền chọn bảng (Select).

Tick chọn hộp phân quyền
Bước 5: Click OK để hoàn tất việc phân quyền.
Nguồn tin: Quantrimang.com:
Ý kiến bạn đọc
Những tin mới hơn
Những tin cũ hơn
Agent hỗ trợ nhiều giọng nói trong ElevenAgents
Kết hợp các kỹ thuật tạo prompt để thực hiện dự án thực tế
Xây dựng agent dựa trên flow, an toàn cho môi trường Production
Tạo kế hoạch vận hành Bot có giám sát trong Grok Bot
Cách cấu hình agent để giao tiếp bằng nhiều ngôn ngữ trong ElevenAgents
Hướng dẫn dùng Claude Haiku 5.5 làm trợ lý phân loại trong Claude Code
Cách thiết kế giọng nói sống động, lôi cuốn cho ElevenLabs Agents
Cách kết nối Google Drive với Gemini Spark đọc và xử lý tài liệu
Chế độ Sinh viên trong Gemini: Không gian học tập có lộ trình
Cách biến ý tưởng thành thiết kế bằng MagicPath trong ChatGPT
TOP công cụ AI tạo workflow tốt nhất
TOP trình duyệt web AI tốt nhất
Cách cung cấp kiến thức phù hợp cho agent trong Microsoft Copilot Studio
Thiết lập cơ sở kiến thức cho ElevenAgents
15 prompt AI thú vị cho ngày lễ Halloween
Hướng dẫn chat bằng giọng nói trên Dola AI
Top công cụ AI tốt nhất cho Digital Marketing
Hướng dẫn tạo giọng nói cá nhân trên Dola AI
tOP plugin ChatGPT tốt nhất để lên kế hoạch du lịch
Trình tự đảm bảo tính an toàn cho quy trình tự động hóa trong Grok Bot
Hướng dẫn cài đặt và sử dụng n8n trên Windows 11
Cách lập trình chuyên nghiệp hơn, dễ dàng hơn với tính năng Tệp trên Grok
Công thức tính diện tích hình Elip
Hướng dẫn ngắt kết nối ứng dụng trên ChatGPT
Hướng dẫn tạo đoạn hội thoại cho topic trên Twee
Bức tranh tổng quan về hỗ trợ khách hàng tích hợp AI
Đừng chia sẻ ảnh cho đến khi bạn chạy kiểm tra siêu dữ liệu này!
6 cách mở Computer/System Properties trong Windows 10
Cách sửa lỗi There Are Currently No Power Options Available Windows
Hướng dẫn 8 cách mở bàn phím ảo trên Windows 10