-- 사용자 생성 CREATE USER readonly WITH PASSWORD 'pass123'; CREATE USER appuser WITH PASSWORD 'pass456';
-- 읽기 전용 권한 GRANT CONNECT ON DATABASE mydb TO readonly; GRANT USAGE ON SCHEMA public TO readonly; GRANT SELECT ON ALL TABLES IN SCHEMA public TO readonly; -- 미래 테이블에도 적용 ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO readonly;
-- 앱 사용자 (CRUD) GRANT CONNECT ON DATABASE mydb TO appuser; GRANT USAGE ON SCHEMA public TO appuser; GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO appuser; GRANT USAGE ON ALL SEQUENCES IN SCHEMA public TO appuser;
댓글 1
PostgreSQL 사용자 권한 관리:
최소 권한 원칙: 앱 사용자에게 DROP, CREATE 권한은 주지 마세요.