객체가 생성되면 소유자가 할당됩니다. 소유자는 일반적으로 창조 성명서를 실행 한 역할입니다. 대부분의 객체의 경우, 초기 상태는 소유자 (또는 슈퍼업자)만이 객체로 무엇이든 할 수 있다는 것입니다. 다른 역할을 사용하기 위해특권부여해야합니다.
다른 종류의 특권이 있습니다 :select
, 삽입
, 업데이트
, 삭제
, Truncate
, 참조
, 트리거
, 생성
, Connect
, 임시
, execute
및usage
. 특정 객체에 적용되는 사설 토토은 객체의 유형 (테이블, 함수 등)에 따라 다릅니다. 이러한 사설 토토의 의미에 대한 자세한 내용은 아래에 나와 있습니다. 다음 섹션과 장에서는 이러한 사설 토토이 어떻게 사용되는지 보여줍니다.
개체를 수정하거나 파괴 할 권리는 항상 소유자의 특권입니다.
객체를 새 소유자에게 할당 할 수 있습니다Alter
객체에 대한 적절한 종류의 명령
Alter Tabletable_name
소유자에게New_owner
;
슈퍼 사용자는 항상 이것을 할 수 있습니다. 일반적인 역할은 대상의 현재 소유자 (또는 소유 역할의 구성원)이자 새로운 소유 역할의 구성원 인 경우에만 수행 할 수 있습니다..
사설 토토을 할당하려면grant명령이 사용됩니다. 예를 들어, ifJoe
기존 역할이며계정
기존 테이블이며, 테이블 업데이트 권한은 다음과 같이 부여 될 수 있습니다.
Joe에 대한 계정에 대한 업데이트 보조금;
쓰기all
특정 사설 토토 대신 객체 유형과 관련된 모든 사설 토토을 부여합니다.
스페셜“역할”이름public
시스템의 모든 역할에 특권을 부여하는 데 사용될 수 있습니다. 또한,“그룹”데이터베이스의 많은 사용자가있을 때 권한 관리를 돕기 위해 역할을 설정할 수 있습니다. 자세한 내용은 참조토토 커뮤니티 : 문서 : 12 : 21 장. 데이터베이스 역할.
특권을 취소하려면 적합하게 명명 된 사용하십시오.Revoke명령 :
공개 계정에 대한 모든 것을 취소;
객체 소유자의 특별 특권 (즉, 할 권리드롭
, grant
, Revoke
등)는 항상 소유자가되는 데 암시되며 부여하거나 취소 할 수 없습니다. 그러나 물체 소유자는 자신의 일반적인 특권을 취소하기로 선택할 수 있습니다. 예를 들어 다른 사람뿐만 아니라 테이블을 읽을 수 있습니다.
보통, 오브젝트의 소유자 (또는 슈퍼 소)만이 물체에 권한을 부여하거나 취소 할 수 있습니다. 그러나 특권을 부여 할 수 있습니다“보조금 옵션”, 수령인에게 다른 사람에게 부여 할 권리를 부여합니다. 그랜트 옵션이 이후에 취소되면 수령인으로부터 (직접 또는 보조금 체인을 통해) 특권을받은 모든 사람은 특권을 잃게됩니다. 자세한 내용은 참조하십시오.grantandRevoke참조 페이지.
가용 특권은 다음과 같습니다.
select
허용select테이블,보기, 구체화 된보기 또는 기타 테이블과 같은 객체의 모든 열 또는 특정 열에서. 또한를 사용할 수 있습니다.copyto. 이 권한은 또한 기존 열 값을 참조하는 데업데이트또는삭제. 시퀀스의 경우이 사설 토토은를 사용할 수 있습니다.Currval
함수. 큰 물체의 경우이 사설 토토은 객체를 읽을 수 있습니다.
삽입
허용삽입테이블,보기 등에 새 행을 특정 열에서 부여 할 수 있습니다.이 경우 해당 열만 할당 할 수 있습니다.삽입
명령 (다른 열은 기본값을받습니다). 또한를 사용할 수 있습니다.COPY.
업데이트
허용업데이트모든 열 또는 특정 열의 테이블, 뷰 등의 특정 열 (실제로는 사소한업데이트
명령이 필요합니다select
권한도 업데이트 할 행을 결정하고 열에 대한 새로운 값을 계산하기 위해 테이블 열을 참조해야하므로 권한도 있습니다.)선택 ... 업데이트 용
and선택 ... 공유를 위해
외에도 적어도 하나의 열 에서이 사설 토토이 필요합니다select
특권. 시퀀스의 경우이 사설 토토은를 사용할 수 있습니다.NextVal
andsetVal
기능. 큰 물체의 경우이 특권은 대상을 쓰거나 잘립니다.
삭제
허용삭제테이블,보기 등의 행의 행삭제
명령이 필요합니다select
삭제할 행을 결정하기 위해 테이블 열을 참조해야하므로 권한도 있습니다.)
Truncate
허용Truncate테이블에.
참조
테이블을 참조하는 외국 키 제약 조건을 생성 할 수 있습니다.
트리거
테이블,보기 등에 방아쇠를 생성 할 수 있습니다.
Create
데이터베이스의 경우 데이터베이스 내에서 새로운 스키마 및 간행물을 생성 할 수 있습니다.
스키마의 경우 스키마 내에서 새 개체를 생성 할 수 있습니다. 기존 객체의 이름을 바꾸려면 객체를 소유해야합니다and포함 된 스키마에 대한이 사설 토토을 갖습니다.
테이블 스페이스의 경우 테이블 스페이스 내에서 테이블, 인덱스 및 임시 파일을 생성 할 수 있으며 테이블 스페이스를 기본 테이블 스페이스로 만든 데이터베이스를 작성할 수 있습니다. (이 권한을 취소하면 기존 객체의 배치가 바뀌지 않을 것입니다.)
Connect
수 여자는 데이터베이스에 연결할 수 있습니다. 이 사설 토토은 연결 시작시 확인됩니다 (pg_hba.conf
).
임시
데이터베이스를 사용하는 동안 임시 테이블을 작성할 수 있습니다.
execute
함수 위에 구현 된 연산자의 사용을 포함하여 함수 또는 절차를 호출 할 수 있습니다. 이것은 기능 및 절차에 적용 할 수있는 유일한 유형의 권한입니다.
usage
절차 언어의 경우 해당 언어의 기능을 만드는 데 언어를 사용할 수 있습니다. 이것은 절차 언어에 적용 할 수있는 유일한 유형의 사설 토토입니다.
스키마의 경우 스키마에 포함 된 개체에 액세스 할 수 있습니다 (개체의 자체 권한 요구 사항도 충족한다고 가정). 본질적으로 이것은 수 여자가를 허용합니다.“UP”스키마 내의 객체. 이 권한이 없으면 시스템 카탈로그를 쿼리하여 객체 이름을 볼 수 있습니다. 또한이 허가를 철회 한 후 기존 세션은 이전 에이 조회를 수행 한 진술이있을 수 있으므로 객체 액세스를 방지하는 완전히 안전한 방법은 아닙니다..
시퀀스의 경우를 사용할 수 있습니다Currval
andNextVal
기능.
유형 및 도메인의 경우 테이블, 함수 및 기타 스키마 객체를 작성하는 데 유형 또는 도메인을 사용할 수 있습니다. (이 특권은 모든 것을 통제하지는 않습니다“usage”20989_21280
외국 데이터 포장지의 경우 외국 데이터 래퍼를 사용하여 새로운 서버를 생성 할 수 있습니다.
외국 서버의 경우 서버를 사용하여 외래 테이블을 생성 할 수 있습니다. 수 여자는 또한 해당 서버와 관련된 사용자 맵핑을 생성, 변경 또는 삭제할 수 있습니다.
다른 명령에 필요한 권한은 각 명령의 참조 페이지에 나열되어 있습니다.
PostgreSQL은 일부 유형의 객체에 대한 사설 토토을 보조합니다.public
기본적으로 개체가 생성 될 때. 특권이 부여되지 않습니다public
기본적으로 테이블, 테이블 열, 시퀀스, 외래 데이터 포장지, 외래 서버, 대형 객체, 스키마 또는 테이블 스페이스에서 기본적으로. 다른 유형의 객체의 경우에 부여 된 기본 사설 토토이 부여됩니다.public
다음과 같습니다.Connect
and임시
(임시 테이블 작성) 데이터베이스의 권한;execute
기능 및 절차에 대한 특권; 그리고usage
언어 및 데이터 유형에 대한 권한 (도메인 포함). 물체 소유자는 물론Revoke
기본 및 명시 적으로 부여 된 특권. (최대 보안을 위해 발급Revoke
객체를 생성하는 동일한 트랜잭션에서; 그런 다음 다른 사용자가 객체를 사용할 수있는 창이 없습니다.) 또한 이러한 기본 사설 토토 설정은를 사용하여 재정의 할 수 있습니다.PostgreSQL :명령.
표 5.1이러한 사설 토토 유형에 사용되는 1 글자 약어를 보여줍니다ACL(액세스 제어 목록) 값. 당신은이 편지들이PSQL아래 나열된 명령 또는 시스템 카탈로그의 ACL 열을 볼 때.
표 5.1. ACL 권한 약어
특권 | 약어 | 적용 가능한 객체 유형 |
---|---|---|
select |
r (“읽기”) |
큰 개체 , 시퀀스 , 테이블 (및 테이블 같은 개체), 테이블 열 |
삽입 |
a (“Append”) |
테이블 , 테이블 열 |
업데이트 |
W (“쓰기”) |
큰 개체 , 시퀀스 , 테이블 , 테이블 열 |
삭제 |
d |
테이블 |
Truncate |
d |
테이블 |
참조 |
x |
테이블 , 테이블 열 |
트리거 |
t |
테이블 |
Create |
C |
데이터베이스 , 스키마 , 테이블 스페이스 |
Connect |
C |
데이터베이스 |
임시 |
t |
데이터베이스 |
execute |
x |
기능 , 절차 |
usage |
u |
도메인 , 외국 데이터 포장지 , 외국 서버 , 언어 , 스키마 , 시퀀스 , 타입 |
표 5.2위에 표시된 약어를 사용하여 각 유형의 SQL 객체에 사용할 수있는 권한을 요약합니다. 또한를 보여줍니다.PSQL각 객체 유형에 대한 권한 설정을 검사하는 데 사용할 수있는 명령.
표 5.2. 액세스 사설 토토 요약
개체 유형 | 모든 사설 토토 | 기본값public 특권 |
PSQL명령 |
---|---|---|---|
데이터베이스 |
CTC |
TC |
\ l |
도메인 |
U |
U |
\ dd+ |
기능 또는절차 |
x |
x |
\ df+ |
외국 데이터 포장지 |
U |
없음 | \ dew+ |
외국 서버 |
u |
없음 | \ des+ |
언어 |
U |
U |
\ dl+ |
큰 개체 |
RW |
없음 | |
스키마 |
uc |
없음 | \ dn+ |
시퀀스 |
RWU |
없음 | \ dp |
테이블 (및 테이블 같은 개체) |
arwddxt |
없음 | \ dp |
테이블 열 | arwx |
없음 | \ dp |
테이블 스페이스 |
C |
없음 | \ db+ |
type |
u |
U |
\ dt+ |
특정 개체에 대해 부여 된 사설 토토은 목록으로 표시됩니다.aclitem
항목, 각각 형식이 있습니다 :
Grantee
=
Privilege-Abbbiation
[*
] .../
Grantor
각aclitem
특정 보조금이 부여한 한 명의 양수인의 모든 사설 토토을 나열합니다. 특정 권한은 1 글자 약어로 표시됩니다.표 5.1with*
권한에 보조금 옵션이 부여 된 경우 추가되었습니다. 예를 들어,Calvin = r*w/Hobbes
역할을 지정합니다Calvin
특권이 있습니다select
(r
) 보조금 옵션 (*
) 및 비전없는 특권뿐만 아니라업데이트
(W
), 역할에 의해 부여 된Hobbes
. 만약에Calvin
또한 다른 보조자가 부여한 동일한 대상에 대한 특권이 있습니다. 별도의 것으로 보일 것입니다aclitem
입력. 빈 수 여자 필드aclitem
public
.
예를 들어, 해당 사용자라고 가정합니다Miriam
테이블 작성mytable
and do :
Grant Grant MyTable에서 공개적으로 선택하십시오. Grant Select, Update, MyTable에 관리자 삽입; Grant Select (col1), miriam_rw;에 mytable에서 업데이트 (col1)
thePSQL's\ dp
명령이 표시됩니다 :
= \ dp mytable 액세스 사설 토토 스키마 | 이름 | 유형 | 액세스 사설 토토 | 칼럼 권한 | 정책 --------+--------+-------+------------------------------------------------------------------------------------------------------- 공개 | mytable | 표 | miriam = arwddxt/miriam+| col1 : +| | | | = r/miriam +| miriam_rw = rw/miriam | | | | admin = arw/miriam | | (1 행)
“액세스 사설 토토”열이 주어진 객체의 경우 비어 있습니다. 객체에 기본 사설 토토이 있음을 의미합니다 (즉, 관련 시스템 카탈로그의 권한 항목이 NULL 임). 불이행 권한에는 항상 소유자에 대한 모든 사설 토토이 포함되며 일부 권한을 포함시킬 수 있습니다.public
위에서 설명한대로 객체 유형에 따라. 첫 번째그랜트
또는Revoke
객체에서 기본 사설 토토을 인스턴스화합니다 (예 : 생성miriam = arwddxt/miriam
) 지정된 요청에 따라 수정하십시오. 마찬가지로 항목은에 표시됩니다.“열 특권”nondefault 사설 토토이있는 열에 대해서만. (참고 :이 목적을 위해“기본 사설 토토”항상 객체 유형에 대한 내장 기본 사설 토토을 의미합니다. 특권에 의해 특권이 영향을받은 대상기본 사설 토토 변경
명령은 항상 명시 적 특권 항목으로 표시됩니다.Alter
.)
소유자의 암시 적 보조금 옵션은 액세스 사설 토토 표시에 표시되지 않습니다. 에이*
보조금 옵션이 누군가에게 명시 적으로 부여 된 경우에만 나타납니다.