PostgreSQL Privileges Part.1
1) Privilege 란?
Privilege란 특정 User 가 Database에 접속 후 특정 오브젝트에 대해 작업을 수행할 수 있는 권한을 의미합니다. 각 오브젝트에 특정 권한은 DBA가 부여해야 해야만 user가 작업이 가능합니다.
2) Privilege 의 종류
privilege의 종류로는 총 12가지로 SELECT, INSERT, UPDATE, DELETE, TRUNCATE, REFERENCES, TRIGGER, CREATE, CONNECT, TEMPORARY, EXECUTE, USAGE 가 있습니다.
각각의 권한들에 대해 설명하면
select는 데이터를 조회할 수 있는 권한,
insert는 데이터를 삽입할 수 있는 권한,
update는 데이터를 변경할 수 있는 권한,
delete 와 truncate 는 데이터를 지울 수 있는 권한,
reference는 foreign key constraints를 생성할 수 있는 권한,
trigger는 특정 테이블에 트리거 생성을 할 수 있는 권한,
create는 오브젝트를 생성할 수 있는 권한,
connect는 특정 데이터베이스에 접속할 수 있는 권한,
temporary, 약어로 temp 라고 하는 이 권한은 temporary table 을 생성할 수 있는 권한,
execute 는 실행할 수 있는 권한,
usage는 schema, sequence, type, domain, foreign-data wrappers, server 에 대해 사용이 가능하게 하는 권한입니다.
3) Privilege 적용 : Grant
Privilege를 적용하려면 Grant 명령어를 사용하여 권한을 적용할 수 있습니다.
grant 문의 문법은 다음과 같습니다.
모든 권한을 한꺼번에 부여할 수 있는 all privilege가 있습니다.
with grant option을 통해 다른 유저에게 자신이 가진 권한을 부여할 수 있게 됩니다.
이 옵션은 public에게는 줄 수 없으며, 먼저 권한을 준 유저의 권한을 해제 시 다음 유저에게 주었던 권한이 자동으로 해제됩니다.
-
WITH GRANT OPTION vs WITH ADMIN OPTION
WITH ADMIN OPTION 은 해당 롤의 권한을 다른 롤에게 줄 수있는 옵션입니다. 언뜻보기에는 자신의 권한을 다른 유저에게 줄 수 있다는 점에서 with grant option 과 유사해 보이지만
이 옵션은 자신이 가진 권한을 그대로 주기 때문에 권한 일부를 선택하여 주는 것이 불가능합니다. 또한 권한을 준 유저의 권한을 해제 시에도 다른 유저의 권한을 해제하지는 않습니다.
-
EXAMPLES
'2. DBMS이야기 > 01. PostgreSQL' 카테고리의 다른 글
[PostgreSQL] PostgreSQL 통계 정보 보기 (0) | 2014.06.25 |
---|---|
PostgreSQL 백업 종류 (0) | 2014.06.25 |
SQL Server 2012 VS PostgreSQL 9 (0) | 2014.06.13 |
PostgreSQL DBlink 설치 및 사용법 (0) | 2014.06.13 |
[Admin] 3.Server Configuration : 개요 및 Parameter 확인 (0) | 2014.06.10 |