PostgreSQL 권한 부여 및 해제

Grant & Revoke

Grant – user,group 혹은 모든 user들에게 해당 객체에 대한 사용권한을 승인합니다.

Synopsis :

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 은 모든 유저에 대해서 적용된다.

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

예)

postgres=# GRANT INSERT ON imsi_table TO PUBLIC;
postgres=# GRANT ALL ON imsi_table TO test_user;

Revoke – user, group 혹은 모든 user로부터 객체에 대한 사용권한을 무효화합니다.

Synopsis :

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

예)

postgres=# REVOKE INSERT ON imsi_table FROM PUBLIC;
소셜 미디어로 공유하기

You may also like...

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.