특권 관리를 용이하게하기 위해 사용자를 함께 그룹화하는 것이 종종 편리합니다. 그렇게하면 특권을 그룹 전체에 부여하거나 취소 할 수 있습니다. 안에PostgreSQL이것은 그룹을 대표하는 토토 베이을 만들고 부여함으로써 이루어집니다회원개별 사용자 토토 베이에 대한 그룹 토토 베이에서.
그룹 토토 베이을 설정하려면 먼저 토토 베이을 만듭니다.
토토 베이 창출이름
;
일반적으로 그룹으로 사용되는 토토 베이에는로그인
속성, 원하는 경우 설정할 수는 있지만.
그룹 토토 베이이 존재하면를 사용하여 멤버를 추가하고 제거 할 수 있습니다.grant
andRevoke
명령 :
grantGroup_role
to토토 베이 1
, ...;Group_role
From토토 베이 1
, ... ;
그룹 토토 베이과 비 그룹 토토 베이 사이에는 실제로 차이가 없기 때문에 다른 그룹 토토 베이에 대한 멤버십도 부여 할 수 있습니다. 데이터베이스를 사용하면 원형 멤버십 루프를 설정할 수 없습니다.public
.
그룹 역할의 구성원은 역할의 특권을 두 가지 방법으로 사용할 수 있습니다. 첫째, 멤버십을받은 회원 역할set
옵션 할 수 있습니다토토 베이 설정
일시적으로“BENCE”그룹 역할. 이 상태에서 데이터베이스 세션은 원래 로그인 역할보다는 그룹 역할의 권한에 액세스 할 수 있으며 생성 된 모든 데이터베이스 개체는 로그인 역할이 아닌 그룹 역할에 의해 소유되는 것으로 간주됩니다.상속
옵션은 상속 옵션이없는 멤버십에서 중지되지만 옵션은 자동으로 직접 또는 간접적으로 구성원의 권한을 사용합니다. 예를 들어, 우리가했다고 가정 해 봅시다 :
역할 Joe 로그인 만들기;
토토 베이로 연결 직후Joe
, 데이터베이스 세션은 직접 부여 된 권한을 사용합니다Joe
부여 된 권한과관리자
and섬
,Joe
“상속”그 권한. 그러나 부여 된 특권휠
이용 가능하지 않기 때문에Joe
간접적으로휠
, 멤버십은입니다.관리자
with with false
. 후에:
역할 관리자 세트;
세션은 부여 된 특권 만 사용합니다관리자
Joe
또는섬
. 후에:
토토 베이 휠 설정;
세션은 부여 된 특권 만 사용합니다휠
Joe
또는관리자
. 원래의 권한 상태는 다음과 같이 복원 할 수 있습니다.
토토 베이 조;
the토토 베이 설정
명령은 항상 원래 로그인 역할이 직접 또는 간접적으로 회원 임의 역할을 선택할 수 있습니다. 각 멤버십 보조금 체인이있는 경우true 설정
(기본값). 따라서 위의 예에서는가 될 필요는 없습니다.관리자
전휠
. 반면에,섬
전혀;Joe
상속을 통해서만 해당 권한에 액세스 할 수 있습니다.
SQL 표준에서는 사용자와 역할 사이에 명확한 차이가 있으며 사용자는 역할을하는 동안 권한을 자동으로 상속하지 않습니다. 이 행동은에서 얻을 수 있습니다.PostgreSQLSQL 토토 베이로 사용되는 토토 베이을함으로써상속
속성, SQL 사용자로 사용되는 토토 베이을하는 동안NOINHERIT
속성. 하지만,PostgreSQL모든 토토 베이을하는 기본값상속
13522_13666
토토 베이 속성로그인
, SuperUser
, createb
및Createrole
는 특별한 권한으로 생각할 수 있지만 데이터베이스 개체의 일반적인 권한이있는 것처럼 결코 상속받지 않습니다. 당신은 실제로토토 베이 설정
속성을 사용하기 위해 이러한 속성 중 하나를 갖는 특정 토토 베이. 위의 예를 계속하면 부여하기로 선택할 수 있습니다createb
andCreaterole
관리자
역할. 그런 다음 역할로 연결되는 세션Joe
수행 후에 만 이러한 특권이 즉시 없을 것입니다역할 관리자 설정
.
그룹 토토 베이을 파괴하려면 사용드롭 토토 베이
:
드롭 토토 베이이름
;
그룹 역할의 멤버십이 자동으로 취소됩니다 (그러나 회원 역할은 그렇지 않으면 영향을받지 않습니다)..
문서에 올바른 것이 없으면 일치하지 않습니다.이 양식문서 문제를보고하려면