21.3. 토토 베이 멤버십#

특권 관리를 용이하게하기 위해 사용자를 함께 그룹화하는 것이 종종 편리합니다. 그렇게하면 특권을 그룹 전체에 부여하거나 취소 할 수 있습니다. 안에PostgreSQL이것은 그룹을 대표하는 토토 베이을 만들고 부여함으로써 이루어집니다회원개별 사용자 토토 베이에 대한 그룹 토토 베이에서.

그룹 토토 베이을 설정하려면 먼저 토토 베이을 만듭니다.

토토 베이 창출이름;

일반적으로 그룹으로 사용되는 토토 베이에는로그인속성, 원하는 경우 설정할 수는 있지만.

그룹 토토 베이이 존재하면를 사용하여 멤버를 추가하고 제거 할 수 있습니다.grantandRevoke명령 :

grantGroup_roleto토토 베이 1, ...;Group_roleFrom토토 베이 1, ... ;

그룹 토토 베이과 비 그룹 토토 베이 사이에는 실제로 차이가 없기 때문에 다른 그룹 토토 베이에 대한 멤버십도 부여 할 수 있습니다. 데이터베이스를 사용하면 원형 멤버십 루프를 설정할 수 없습니다.public.

그룹 역할의 구성원은 역할의 특권을 두 가지 방법으로 사용할 수 있습니다. 첫째, 멤버십을받은 회원 역할set옵션 할 수 있습니다토토 베이 설정일시적으로BENCE그룹 역할. 이 상태에서 데이터베이스 세션은 원래 로그인 역할보다는 그룹 역할의 권한에 액세스 할 수 있으며 생성 된 모든 데이터베이스 개체는 로그인 역할이 아닌 그룹 역할에 의해 소유되는 것으로 간주됩니다.상속옵션은 상속 옵션이없는 멤버십에서 중지되지만 옵션은 자동으로 직접 또는 간접적으로 구성원의 권한을 사용합니다. 예를 들어, 우리가했다고 가정 해 봅시다 :

역할 Joe 로그인 만들기;

토토 베이로 연결 직후Joe, 데이터베이스 세션은 직접 부여 된 권한을 사용합니다Joe부여 된 권한과관리자and,Joe 상속그 권한. 그러나 부여 된 특권이용 가능하지 않기 때문에Joe간접적으로, 멤버십은입니다.관리자with with false. 후에:

역할 관리자 세트;

세션은 부여 된 특권 만 사용합니다관리자Joe또는. 후에:

토토 베이 휠 설정;

세션은 부여 된 특권 만 사용합니다Joe또는관리자. 원래의 권한 상태는 다음과 같이 복원 할 수 있습니다.

토토 베이 조;

note

the토토 베이 설정명령은 항상 원래 로그인 역할이 직접 또는 간접적으로 회원 임의 역할을 선택할 수 있습니다. 각 멤버십 보조금 체인이있는 경우true 설정(기본값). 따라서 위의 예에서는가 될 필요는 없습니다.관리자. 반면에,전혀;Joe상속을 통해서만 해당 권한에 액세스 할 수 있습니다.

note

SQL 표준에서는 사용자와 역할 사이에 명확한 차이가 있으며 사용자는 역할을하는 동안 권한을 자동으로 상속하지 않습니다. 이 행동은에서 얻을 수 있습니다.PostgreSQLSQL 토토 베이로 사용되는 토토 베이을함으로써상속속성, SQL 사용자로 사용되는 토토 베이을하는 동안NOINHERIT속성. 하지만,PostgreSQL모든 토토 베이을하는 기본값상속13522_13666

토토 베이 속성로그인, SuperUser, createbCreaterole는 특별한 권한으로 생각할 수 있지만 데이터베이스 개체의 일반적인 권한이있는 것처럼 결코 상속받지 않습니다. 당신은 실제로토토 베이 설정속성을 사용하기 위해 이러한 속성 중 하나를 갖는 특정 토토 베이. 위의 예를 계속하면 부여하기로 선택할 수 있습니다createbandCreaterole관리자역할. 그런 다음 역할로 연결되는 세션Joe수행 후에 만 ​​이러한 특권이 즉시 없을 것입니다역할 관리자 설정.

그룹 토토 베이을 파괴하려면 사용드롭 토토 베이:

드롭 토토 베이이름;

그룹 역할의 멤버십이 자동으로 취소됩니다 (그러나 회원 역할은 그렇지 않으면 영향을받지 않습니다)..

정정 제출

문서에 올바른 것이 없으면 일치하지 않습니다.이 양식문서 문제를보고하려면