Nó thường xuyên thuận tiện cho người dùng nhóm lại với nhau để dễ dàng quản lý các đặc quyền: theo kèo bóng đá c1 đó, 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 đá c1 tạo một vai trò đại diện cho nhóm, sau đó cấpkèo bóng đá c1Trong 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 đá c1 bằng cách sử dụngGrant
vàthu hồi
lệnh:
GrantGroup_role
đếnVai trò1
, ...; Thu hồiGroup_role
từVai trò1
, ...;
Bạn cũng có thể cấp tư cách kèo bóng đá c1 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 đá c1 tròn. Ngoài ra, nó không được phép cấp tư cách kèo bóng đá c1 trong vai tròcông khai
.
11369_11510set
Tùy chọn có thể làmĐặt vai trò
để tạm thờitrở kèo bóng đá c1HồiVai 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. Thứ hai, các vai trò kèo bóng đá c1 đã được cấp kèo bóng đá c1 vớikế 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 đá c1 của, mặc dù chuỗi dừng tại các kèo bóng đá c1 thiếu tùy chọn kế thừa. Ví dụ, giả sử chúng ta đã làm:
12292_12505
Ngay sau khi kết nối như vai tròJoe
12584_12655Joe
cộng với bất kỳ đặc quyền nào được cấp choadmin
vàĐảo
, vìJoe
kế thừaNhữ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 đá c1 củabánh xe
, kèo bóng đá c1 là thông quaQuản trị kèo bóng đá c1
được cấp bằng kèo bóng đá c1 sử dụngvới kế thừa sai
. Sau đó:
Đặt Quản trị kèo bóng đá c1;
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 là 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; Thiết lập vai trò không; Đặt lại vai trò;
TheĐặt vai trò
Lệnh luôn cho phép chọn bất kỳ vai trò nào mà vai trò đăng nhập ban đầu trực tiếp hoặc gián tiếp là kèo bóng đá c1 của, với điều kiện là có một chuỗi các kèo bóng đá c1 cấp cho mỗi người cóĐặ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 đá c1admin
Trước khi trở kèo bóng đá c1bánh xe
. Mặt khác, không thể trở kèo bóng đá c1Đảo
all;Joe
14540_14592
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 đá c1 này có thể được lấy trongPostgreSQLBằng kèo bóng đá c1 đư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 đá c1 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 đá c1
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 đá c1 nào trong vai trò nhóm đều tự động bị thu hồi (nhưng vai trò kèo bóng đá c1 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ớp Kinh nghiệm của bạn với tính năng cụ thể hoặc yêu cầu làm rõ thêm, Vui lòng sử dụngMẫu nàyĐể báo cáo vấn đề tài liệu.