10174_10342PostgreSQLĐ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ậ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 thành kèo bóng đá hom nay bằng cách sử dụngGrantvàthu hồilệ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 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àngPostgreSQL:để 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ừa
Thuộc tính tự động đã sử dụng các đặc quyền của 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; 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;
Ngay sau khi kết nối với tư kèo bóng đá hom nay là vai tròJoe
, một 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 choQuản trị kèo bóng đá hom nay
, vìJoe
kế thừa” Quản trị kèo bóng đá hom nay
s đặ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
13202_13231bánh xe
, thành kèo bóng đá hom nay là thông quaadmin
cóNoinherit
Thuộ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 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à thành kèo bóng đá hom nay của. Do đó, trong ví dụ trên, không cần thiết phải trở thànhadmin
trước khi trở kèo bóng đá hom naybánh xe
.
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ừ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à thành kèo bóng đá hom nay 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ò
15502_15649createdb
vàcreaterole
đếnQuản trị kèo bóng đá hom nay
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ụngPostgreSQL::
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).