Database/PostgreSQL

[PostgreSQL] 권한 부여 및 제거

Ma_Sand 2024. 9. 12. 22:58
반응형

권한 부여

데이터베이스에 대한 권한 부여

-- 접속 권한
GRANT CONNECT ON DATABASE 데이터베이스명 TO 계정명;
-- 객체 생성 권한
GRANT CREATE ON DATABASE 데이터베이스명 TO 계정명;
-- 모든 권한
GRANT ALL PRIVILEGES ON DATABASE 데이터베이스명 TO 계정명;

 

테이블에 대한 권한 부여

-- 조회 권한
GRANT SELECT ON TABLE 테이블명 TO 계정명;
-- 삽입 권한
GRANT INSERT ON TABLE 테이블명 TO 계정명;
-- 수정 권한
GRANT UPDATE ON TABLE 테이블명 TO 계정명;
-- 삭제 권한
GRANT DELETE ON TABLE 테이블명 TO 계정명;
-- 모든 권한
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO 계정명;

 

스키마에 대한 권한 부여

-- 스키마 사용 권한
GRANT USAGE ON SCHEMA 스키마명 TO 계정명;
-- 객체 생성 권한
GRANT CREATE ON SCHEMA 스키마명 TO 계정명;
-- 모든 권한
GRANT ALL PRIVILEGES ON SCHEMA 스키마명 TO 계정명;

 

시퀀스에 대한 권한 부여

-- 조회 및 사용 권한
GRANT SELECT, USAGE ON SEQUENCE 시퀀스명 TO 계정명;
-- 모든 권한
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO 계정명;

 

함수에 대한 권한 부여

-- 실행 권한
GRANT EXECUTE ON FUNCTION 함수명 TO 계정명;
-- 모든 권한
GRANT ALL PRIVILEGES ON ALL FUNCTIONS IN SCHEMA public TO 계정명;

 

계정에 대한 권한 부여

-- 데이터베이스의 관리자 권한
ALTER USER 계정명 WITH SUPERUSER;
-- 데이터베이스 생성 권한
ALTER USER 계정명 WITH CREATEDB;

 

 

권한 제거

데이터베이스에 대한 권한 제거

-- 접속 권한
REVOKE CONNECT ON DATABASE 데이터베이스명 FROM 계정명;

 

테이블에 대한 권한 제거

-- 조회 및 추가, 변경, 삭제 권한
REVOKE SELECT, INSERT, UPDATE, DELETE ON TABLE 테이블명 FROM 계정명;

 

스키마에 대한 권한 제거

-- 사용 권한
REVOKE USAGE ON SCHEMA 스키마명 FROM 계정명;

 

시퀀스에 대한 권한 제거

-- 조회 및 사용 권한
REVOKE SELECT, USAGE ON SEQUENCE 시퀀스명 FROM 계정명;​

 

함수에 대한 권한 제거

-- 실행 권한
REVOKE EXECUTE ON FUNCTION 함수명 FROM 계정명;

 

계정에 대한 권한 제거

-- 데이터베이스의 관리자 권한
ALTER USER 계정명 WITH NOSUPERUSER;
-- 데이터베이스 생성 권한
ALTER USER 계정명 WITH NOCREATEDB;

 

반응형