2. DBMS이야기/01. PostgreSQL

PostgreSQL Privileges Test 5

OSSW(Open Source System SoftWare 2014. 9. 17. 14:54

TEST 5 : DEFAULT PRIVILEGE

스키마에 Default Privilege를 적용했을 때, A에서 새로 생성하는 오브젝트 조회가 가능한지에 대해 테스트를 진행해보도록 하겠습니다.

 

ㅇ Schema 생성 후 확인

edb=# create schema tokyo;

CREATE SCHEMA

edb=# \dns+ tokyo

Name

Owner

Access privileges

Access privileges

Description

tokyo

enterprisedb

(1 row)

 

ㅇ 권한 부여

-- 스키마에 default priviliege 부여

edb=# alter default privileges in schema tokyo grant select on tables to public;

ALTER DEFAULT PRIVILEGES

 

-- kim 유저에게 tokyo 스키마 이용 권한 부여

edb=# grant usage on schema tokyo to kim;

GRANT

 

ㅇ 테이블 생성 후 데이터 삽입

edb=# create table tokyo.test_06 (age number(1)) tablespace test_tbs1;

CREATE TABLE

 

edb=# insert into tokyo.test_06  values (1);

INSERT 0 1

 

ㅇ Default Privilege 적용된 스키마의 obj 조회

kim 유저에게 스키마에 대한 이용권한을 준 후 kim 유저로 접속하여 테이블 select 해보겠습니다.

-- kim 유저로 접속

edb=> select * from tokyo.test_06;

age

-----

   1

(1 row)

 

ㅇ 오브젝트 관련 권한 조회

edb=> \dp tokyo.test_06

                                    Access privileges

Schema |  Name   | Type  |         Access privileges         | Column access privileges

--------+---------+-------+-----------------------------------+--------------------------

tokyo  | test_06 | table | =r/enterprisedb                  +|

        |         |       | enterprisedb=arwdDxt/enterprisedb |

(1 row)

 

ㅇ Default Privilege 권한 조회

edb=> \ddp+

             Default access privileges

    Owner     | Schema | Type  | Access privileges

--------------+--------+-------+-------------------

enterprisedb | tokyo  | table | =r/enterprisedb

(1 row)


스키마에 Default Privilege를 적용했을 때, A에서 새로 생성하는 오브젝트 조회가 가능한 것을 확인할 수 있습니다.


Post by. 김지선(2014.09.17)