Cấp máy chủ SQL

Cap May Chu Sql



Trong bài viết này, bạn sẽ hiểu cách sử dụng câu lệnh GRANT trong SQL Server để cấp quyền trên một bảo mật cho hiệu trưởng.

SQL Server Bảo mật và Hiệu trưởng

An toàn đề cập đến các tài nguyên mà hệ thống ủy quyền Công cụ cơ sở dữ liệu SQL Server kiểm soát quyền truy cập. Một ví dụ sẽ là một bảng cơ sở dữ liệu.

Hiệu trưởng đề cập đến bất kỳ thực thể nào yêu cầu quyền truy cập vào bất kỳ tài nguyên Máy chủ SQL nào. Ví dụ: người dùng yêu cầu quyền trên bảng là hiệu trưởng.







Tuyên bố cấp máy chủ SQL

Sau đây là cú pháp của lệnh GRANT trong SQL Server:



cấp quyền
BẬT an toàn cho chính;

Bạn cần chỉ định quyền mà bạn muốn gán cho hiệu trưởng dưới dạng danh sách được phân tách bằng dấu phẩy.



Từ khóa ON cho phép bạn chỉ định bảo mật mà các quyền được áp dụng. Cuối cùng, từ khóa TO cho phép bạn đặt tiền gốc mục tiêu.





Ví dụ: tạo người dùng bằng câu lệnh CREATE USER không xác định quyền cho người dùng đó. Do đó, điều cần thiết là sử dụng câu lệnh GRANT để đặt quyền cho người dùng đó.

Chúng ta hãy lấy một ví dụ.



Tạo Ví dụ Đăng nhập

Hãy để chúng tôi bắt đầu bằng cách tạo một thông tin đăng nhập mẫu cho mục đích minh họa. Truy vấn được cung cấp dưới đây:

tạo đăng nhập linuxhint
với mật khẩu = 'mật khẩu';

Lệnh trên sẽ tạo một người dùng với tên người dùng linuxhint và mật khẩu được chỉ định.

Tạo cơ sở dữ liệu mẫu

Chúng tôi có thể tạo cơ sở dữ liệu nơi người dùng sẽ cư trú sau khi chúng tôi đã xác định thông tin đăng nhập. Các truy vấn như được hiển thị:

thả cơ sở dữ liệu nếu tồn tại trình giải quyết;

tạo trình phân giải cơ sở dữ liệu;

sử dụng trình giải quyết;

thả bảng nếu tồn tại các mục;

tạo các mục bảng (
id int không nhận dạng null (1,
1) khóa chính,
server_name varchar(50),
server_address varchar(255) không null,
nén_method varchar(100) mặc định 'không',
size_on_disk float không null,
size_compression float,
total_records int không null,
init_date ngày
);
chèn
vào trong
ENTRIES(server_name,
địa chỉ máy chủ,
phương pháp nén,
size_on_disk,
kích thước_đã nén,
Tổng số hồ sơ,
init_date)
giá trị
('MySQL','localhost:3306','lz77',90.66,40.04,560000,'2022-01-02'),
('Redis','localhost:6307','Snappy',3.55,998.2,100000,'2022-03-19'),
('PostgreSQL','localhost:5432','pglz',101.2,98.01,340000 ,'2022-11-11'),
('Elasticsearch','localhost:9200','lz4',333.2,300.2,1200000,'2022-10-08'),
('MongoDB','localhost:27017','Snappy',4.55,4.10,620000,'2021-12-12'),
('Apache Cassandra','localhost:9042','zstd',300.3,200.12,10000000,'2020-03-21');

Tạo người dùng để đăng nhập

Khi chúng tôi đã tạo cơ sở dữ liệu và bảng, chúng tôi có thể tạo người dùng để đăng nhập linuxhint dưới dạng:

sử dụng trình giải quyết
tạo người dùng linuxhint
để đăng nhập linuxhint;

Đăng nhập với tư cách Người dùng mới

Tiếp theo, chúng ta hãy đăng nhập với tư cách người dùng mới được tạo. Lệnh như hình:

người dùng cài đặt 'linuxhint';

Sau khi đăng nhập, chúng ta có thể thử xem các bảng bằng cách chạy lệnh select:

chọn * từ các mục nhập;

Chạy truy vấn trên sẽ trả về lỗi:

Msg 229, Tầng 14, Bang 5, Dòng 379
Quyền CHỌN đã bị từ chối trên đối tượng 'mục nhập', cơ sở dữ liệu 'bộ giải quyết', lược đồ 'dbo'.

Điều này là do người dùng linuxhint không có bất kỳ quyền nào trên cơ sở dữ liệu, kể cả quyền CHỌN.

Cấp quyền cho người dùng

Chúng ta cần cấp quyền CHỌN để cho phép người dùng xem thông tin được lưu trữ trong các bảng.

Để làm được điều đó, bạn cần đăng nhập bằng tài khoản quản trị SQL Server.

Tiếp theo, chạy truy vấn dưới dạng:

cấp quyền chọn trên các mục cho linuxhint;

Sau khi được thực thi, hãy đăng nhập với tư cách là người dùng linuxhint và sử dụng câu lệnh CHỌN.

chọn * từ các mục nhập;

Trong trường hợp này, lệnh trả về bảng khi người dùng có quyền CHỌN

Bạn cũng có thể gán quyền khác cho người dùng, chẳng hạn như chèn và xóa dưới dạng:

cấp quyền chèn, xóa trên các mục nhập cho linuxhint;

trong trường hợp này, người dùng linuxhint phải có các quyền CHỌN, CHÈN và XÓA trên bảng mục nhập.

Sự kết luận

Trong bài đăng này, chúng tôi đã khám phá cách sử dụng lệnh GRANT trong SQL Server. Lệnh cho phép bạn gán quyền cho một hiệu trưởng nhất định.