실무 프로젝트를 진행하다 보면 타업체에서 필요한 정보를 조회 할수 있도록 DB접근 계정과 특정 테이블이나 뷰만 조회할 수 있도록 권한을 부여할 일이 많아 해당 내용을 정리 및 공유하려 합니다
사용자계정생성 및 삭제
CREATE로 계정을 생성하며,
ALTER USER과 PASSWORD 옵션을 이용하여 패스워드를 생성합니다
CREATE USER Guest1;
ALTER USER GUEST1 PASSWORD 'q1w2e3r4!';
-> Guest1이라는 계정 생성
-> Guest1계정의 패스워드를 'q1w2e3r4!'로 생성
DROP으로 생성한 계정 삭제
DROP USER Guest1;
-> Guest1 계정 삭제
사용자계정에 조회권한부여
GRANT로 사용자계정에 조회 권한을 부여할 수 있습니다
SELECT 뿐아니라 [SELECT, INSERT, UPDATE] 등의 권한도 부여 가능합니다
POSTGRESQL에서 테이블에 대한 권한을 부여할 때 주의해야할 점은
MYSQL과 같은 DB와 달리 스키마라는 개념이 존재하기때문에
스키마에 대한 엑세스 권한과 테이블에 대한 권한을 두번 주어야합니다
GRANT USAGE ON을 통해 스키마에 대한 엑세스 권한을 부여합니다
--GRANT USAGE ON SCHEMA [스키마명] to [사용자계정명];
GRANT USAGE ON SCHEMA star to Guest1;
-> Guest1계정에 star스키마에 대한 엑세스 권한 부여
star스키마 내부의 테이블에 대한 권한 부여
-- GRANT [SELCT, UPDATE, INSERT...] ON [테이블명] to [계정명]
GRANT SELECT ON star.userinfo to 'Guest1';
-> Guest1계정에 star.userinfo 테이블 조회권한 부여
'DB > Postgresql' 카테고리의 다른 글
[Postgresql] 사용자 계정 권한 확인 쿼리 및 명령어 (0) | 2022.08.18 |
---|---|
[Postgresql] 뷰(view) 테이블 생성 및 삭제(CREATE/REPLACE) (0) | 2022.05.06 |