Người dùng nhóm thường xuyên thuận tiện để dễ dàng quản lý các đặc quyền: theo kèo bóng đá hôm nay và ngày mai đó, các đặc quyền có thể được cấp cho hoặc thu hồi từ một nhóm nói chung. TRONGPostgreSQLĐiều này được thực hiện bằng kèo bóng đá hôm nay và ngày mai tạo một vai trò đại diện cho nhóm, sau đó cấpkèo bóng đá hôm nay và ngày maiTrong vai trò nhóm cho các vai trò người dùng riêng lẻ.
Để thiết lập vai trò nhóm, trước tiên hãy tạo vai trò:
Tạo vai tròtên
;
Thông thường một vai trò được sử dụng như một nhóm sẽ không cóĐăng nhập
thuộc tính, mặc dù bạn có thể đặt nó nếu bạn muốn.
Một khi vai trò nhóm tồn tại, bạn có thể thêm và xóa các kèo bóng đá hôm nay và ngày mai bằng cách sử dụngGrant
vàthu hồi
lệnh:
GrantGroup_role
đếnVai trò1
, ...;Group_role
từVai trò1
, ...;
Bạn cũng có thể cấp tư cách kèo bóng đá hôm nay và ngày mai cho các vai trò nhóm khác (vì thực sự không có bất kỳ sự phân biệt nào giữa vai trò nhóm và vai trò không nhóm). Cơ sở dữ liệu sẽ không cho phép bạn thiết lập các vòng kèo bóng đá hôm nay và ngày mai tròn.công khai
.
Các kèo bóng đá hôm nay và ngày mai của vai trò nhóm có thể sử dụng các đặc quyền của vai trò theo hai cách. Đầu tiên, các vai trò kèo bóng đá hôm nay và ngày mai đã được cấp kèo bóng đá hôm nay và ngày mai vớiset
Tùy chọn có thể làmĐặt vai trò
để tạm thờiHồitrở kèo bóng đá hôm nay và ngày maiVai trò nhóm. Ở trạng thái này, phiên cơ sở dữ liệu có quyền truy cập vào các đặc quyền của vai trò nhóm thay vì vai trò đăng nhập ban đầu và bất kỳ đối tượng cơ sở dữ liệu nào được tạo ra được sở hữu bởi vai trò nhóm không phải là vai trò đăng nhập.kế thừa
Tùy chọn tự động đã sử dụng các đặc quyền của những người trực tiếp hoặc gián tiếp là kèo bóng đá hôm nay và ngày mai của, mặc dù chuỗi dừng ở các kèo bóng đá hôm nay và ngày mai thiếu tùy chọn kế thừa. Ví dụ, giả sử chúng ta đã làm:
Tạo vai trò Joe đăng nhập;
Ngay sau khi kết nối như vai tròJoe
, Phiên cơ sở dữ liệu sẽ sử dụng các đặc quyền được cấp trực tiếp choJoe
cộng với bất kỳ đặc quyền nào được cấp choadmin
vàĐảo
12521_12533Joe
Hồikế thừaxôngNhững đặc quyền đó. Tuy nhiên, các đặc quyền được cấp chobánh xe
không có sẵn, vì mặc dùJoe
là kèo bóng đá hôm nay và ngày mai củabánh xe
, kèo bóng đá hôm nay và ngày mai là thông quaQuản trị kèo bóng đá hôm nay và ngày mai
được cấp bằng kèo bóng đá hôm nay và ngày mai sử dụngvới kế thừa sai
. Sau đó:
Đặt Quản trị kèo bóng đá hôm nay và ngày mai;
Phiên sẽ chỉ sử dụng các đặc quyền đó được cấp choadmin
, và không phải những người được cấp choJoe
hoặcĐảo
. Sau đó:
Đặt bánh xe vai trò;
Phiên sẽ chỉ sử dụng các đặc quyền đó được cấp chobánh xe
, và không phải những người được cấp choJoe
hoặcadmin
. Trạng thái đặc quyền ban đầu có thể được khôi phục với bất kỳ:
Đặt vai trò Joe;
TheĐặt vai trò
13759_13941Đặt đúng
(là mặc định). Do đó, trong ví dụ trên, không cần thiết phải trở kèo bóng đá hôm nay và ngày maiadmin
trước khi trở kèo bóng đá hôm nay và ngày maibánh xe
. Mặt khác, không thể trở kèo bóng đá hôm nay và ngày maiĐảo
all;Joe
Chỉ có thể truy cập các đặc quyền đó thông qua kế thừa.
Trong tiêu chuẩn SQL, có một sự khác biệt rõ ràng giữa người dùng và vai trò và người dùng không tự động kế thừa các đặc quyền trong khi vai trò. kèo bóng đá hôm nay và ngày mai này có thể được lấy trongPostgreSQLBằng kèo bóng đá hôm nay và ngày mai đưa ra các vai trò được sử dụng làm vai trò SQLkế thừa
thuộc tính, trong khi đưa ra các vai trò được sử dụng làm người dùng SQLNoinherit
Thuộc tính. Tuy nhiên,PostgreSQLMặc định cho tất cả các vai tròkế thừa
thuộc tính, để tương thích ngược với các bản phát hành trước 8.1 trong đó người dùng luôn sử dụng các quyền được cấp cho các nhóm mà họ là kèo bóng đá hôm nay và ngày mai của.
Các thuộc tính vai tròĐăng nhập
,Superuser
,createdb
vàcreaterole
có thể được coi là đặc quyền đặc biệt, nhưng chúng không bao giờ được kế thừa như các đặc quyền thông thường trên các đối tượng cơ sở dữ liệu. Bạn phải thực sựĐặt vai trò
Đối với một vai trò cụ thể có một trong các thuộc tính này để sử dụng thuộc tính. Tiếp tục ví dụ trên, chúng ta có thể chọn cấpcreatedb
vàcreaterole
đếnQuản trị kèo bóng đá hôm nay và ngày mai
Vai trò. Sau đó một phiên kết nối như vai tròJoe
sẽ không có các đặc quyền này ngay lập tức, chỉ sau khi làmĐặt vai trò
.
Để phá hủy vai trò nhóm, sử dụngVai trò thả
:
Vai trò thảtên
;
Bất kỳ kèo bóng đá hôm nay và ngày mai nào trong vai trò nhóm đều tự động bị thu hồi (nhưng vai trò kèo bóng đá hôm nay và ngày mai không bị ảnh hưởng khác).
Nếu bạn thấy bất cứ điều gì trong tài liệu không chính xác, không khớpMẫu nàyĐể báo cáo vấn đề tài liệu.