본문 바로가기
Database/PGSQL

GRANT and REVOKE

by 반화넬 2007. 6. 4.
반응형
2. GRANT and REVOKE
2.1 GRANT
GRANT는 user,group 혹은 모든 user들에게 해당 객체에 대한 사용권한을 승인한다. REVOKE는 user,group 혹은 모든 user로부터 객체에 대한 사용권한을 무효화한다.


GRANT privilege [,...] on object [,...]
    TO { PUBLIC | GROUP group | username}

privilege

SELECT : 특정 TABLE/VIEW 의 column에 대한 access 을 승인
INSERT : 특정 TABLE의 모든 column 에 데이타의 삽입에 대한 권한 승인
UPDTAE : 특정 TABLE의 모든 column 의 갱신에 대한 권한 승인
DELETE : 특정 TABLE 의 row 의 삭제에 대한 권한 승인
RULE : 특정 TABLE/VIEW에 대한 rule 을 정의하는 권한에 대한 승인
ALL : 모든 권한을 승인한다.

object

access 를 승인하는 객체의 이름으로서 다음과 같은 객체들이 있다.

Table
Sequence
View
Index

PUBLIC

모든 유저를 승인

GROUP group

사용 권한을 획득할 group을 지정, group 을 명시적으로 생성되어져 있어야 함.

username

사용권한을 획득할 사용자명. PUBLIC 은 모든 유저에 대해서 적용된다.

Description

GRANT 는 객체 (object) 를 생성한 유저가 모든 유저, 혹은 개인 유저, 혹은 그룹에 대해
해당 객체의 사용 권한을 허용하도록 한다. 객체를 생성한 유저가 아닌 다른 유저들은 그
객체에 대한 사용권한이 없어서 사용할 수가 없다. 단지 그 해당 객체를 생성한 유저만이
이를 허용할 수 가 있는데 이는 GRANT 를 사용함으로서 다른 유저들이 사용할 수 있도록
허용한다. 어떤 객체를 생성한 유저는 자동적으로 모든 권한을 가지며 이 권한들은 SELECT
INSERT, UPDATE, DELETE, RULE 등이며 또한 그 객체 자체를 삭제할 수 있다.

Notes

psql 에서 "\z" 를 사용하여 존재하는 객체에 대한 permission 등을 참조할 수 있다.

permission 정보의 형식

username=arwR : 유저에게 승인된 사용권한
group gname=arwR : GROUP 에게 승인된 사용권한
=arwR : 모든 유저에게 승인된 사용권한

a : INSERT privilege
r : SELECT privilege
w : UPDATE/DELETE privilege
R : RULE privilege
arwR : ALL privilege

USAGE(사용예)

GRANT INSERT on imsi_table TO PUBLIC

GRANT ALL on imsi_table TO nogadax

2.2 REVOKE
유저,그룹, 혹은 모든 유저로부터 access privilege 를 취소


  REVOKE privilege [,...]
    on object [,...]
    FROM { PUBLIC | GROUP gname | username }

privilege

SELECT ,INSERT ,UPDATE, DELETE, RULE, ALL

object

적용될 수 있는 객체 : table, view, sequence, index

group

privilege 를 취소할 그룹명

username

PUBLIC

Description

REVOKE 는 객체의 생성자가 모든 유저, 유저, 그룹들로부터 전에 승인했던 퍼미션을
해제한다.

USAGE(사용예)

REVOKE INSERT on imsi_table FROM PUBLIC

REVOKE ALL on imsi_table FROM nogadax
반응형