Phiên bản được hỗ trợ:hiện tại(17) /16 / 15 / 14 / 13
Phiên bản phát triển:18 / Devel
Phiên bản không được hỗ trợ:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1
Tài liệu này dành cho phiên bản không được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cùng một trang chohiện tạiPhiên bản hoặc một trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

21.3. Tư cách thành kèo bóng đá hom nay

Điều này thường 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 đá hom nay đó, các đặc quyền có thể được cấp cho hoặc bị thu hồi từ toàn bộ một nhóm. TRONGPostgreSQLĐiều này được thực hiện bằng kèo bóng đá hom nay tạo một vai trò đại diện cho nhóm, sau đó cấpThành kèo bóng đá hom nayTrong vai trò nhóm đối với 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ậpthuộ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 thành kèo bóng đá hom nay bằng cách sử dụngGrantthu hồilệnh:

GrantGroup_roleđếnVai đoạn1, ...;
Thu hồiGroup_roletừVai trò1, ...;

Bạn cũng có thể cấp tư cách thành kèo bóng đá hom nay 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 thành kèo bóng đá hom nay tròn. Ngoài ra, nó không được phép cấp tư cách thành kèo bóng đá hom nay trong vai tròcông khai.

Các thành kèo bóng đá hom nay 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, mọi thành kèo bóng đá hom nay của một nhóm có thể làm rõ ràngĐặt vai tròĐể tạm thờitrở kèo bóng đá hom nayxôngVai 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ò thành kèo bóng đá hom nay cókế thừaThuộc tính tự động đã sử dụng các đặc quyền của các vai trò mà họ là thành kèo bóng đá hom nay, bao gồm mọi đặc quyền được kế thừa bởi các vai trò đó. Ví dụ, giả sử chúng ta đã làm:

Tạo vai trò kế thừa Joe đăng nhập;
Tạo vai trò quản trị kèo bóng đá hom nay Noinherit;
Tạo vai trò Noinhherit;
Quản trị kèo bóng đá hom nay cấp cho Joe;
Cấp bánh xe cho quản trị kèo bóng đá hom nay;

12556_12595Joe, Phiên cơ sở dữ liệu sẽ sử dụng các đặc quyền được cấp trực tiếp choJoe12726_12760Quản trị kèo bóng đá hom nay, vìJoe kế thừa admins đặc quyền. Tuy nhiên, các đặc quyền được cấp chobánh xekhông có sẵn, vì mặc dùJoelà thành kèo bóng đá hom nay củabánh xe, thành kèo bóng đá hom nay là thông quaadminNoinheritThuộc tính. Sau đó:

Đặt Quản trị kèo bóng đá hom nay;

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. 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 choJoehoặ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ò;

Lưu ý

The13972_1398213987_14157admintrước khi trở kèo bóng đá hom naybánh xe.

Lưu ý

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 đá hom nay này có thể được lấy trongPostgreSQLBằng kèo bóng đá hom nay đưa ra các vai trò được sử dụng làm vai trò SQLkế thừathuộc tính, trong khi đưa ra các vai trò được sử dụng làm người dùng SQLNoinheritThuộc tính. Tuy nhiên,PostgreSQLMặc định cho tất cả các vai tròkế thừathuộ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à thành kèo bóng đá hom nay của.

Các thuộc tính vai tròĐăng nhập, Superuser, createdbcreaterolecó 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ấpcreatedbCreateroleđếnadminVai trò. Sau đó một phiên kết nối như vai tròJoesẽ 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ỳ thành kèo bóng đá hom nay nào trong vai trò nhóm đều tự động bị thu hồi (nhưng vai trò thành kèo bóng đá hom nay không bị ảnh hưởng khác).