프로그래밍/DB

[DB] postgresql 사용자 생성 및 권한부여하기

ss-pro 2023. 6. 9. 23:59
반응형

postgresql 사용자 생성 권한 및 권한을 부여하는 방법입니다. pgAdmin4DB관리툴을 이용해서 사용자를 추가 및 권한설정을 하도록 하겠습니다. 

1. 슈퍼권한 유저 만들기

test라는 계정을 슈퍼유저 권한을 가진 계정으로 추가해보겠습니다. Login/GroupRule -> Create -> Login/Group Role.. 선택합니다. 

General 탭의 Name에 계정명 test를 입력 합니다. Definition탭의 Password항목에서 패스워드 정보 입력합니다
Privileges탭에서 슈퍼유저로 하기 위해서는 Can login? Superuser? 항목을 활성화 합니다. 해당정보를 입력 후 Save버튼을 누르면 계정이 생성된것을 확인 할 수 있습니다.

2. 특정권한을 부여한 고객생성 (조회권한만 부여) 
readUser라는 사용자를 생성하여서 특정테이블에 조회권한만 주도록 설정하겠습니다. Superuser? 항목은 비활성후 사용자를 생성합니다.  TEST_DB의 user_info테이블에 마우스 우클릭하여 Properties항목을 선택합니다.

아래 이미지와 같이 테이블 속성창이 나타나고 Security항목에서 + 버튼을 눌러 권한을 추가 하고 싶은 사용자를 선택합니다. 사용자를 선택하면 권한창이 활성화 되고 SELECT권한만 주고 생성합니다.

readUser로 로그인하여 테스트를 하면 아래와 같이 select권한은 부여되고 insert문 처리시는 권한없음 오류가 발생하는 부분을 확인 할 수 있습니다.


DBBeaver를 이용한 관리
실제로 저 같은 경우는 DBBeaver에서도 위와 동일한 기능을 지원해주기 때문에 해당 툴을 사용해서 권한부여를 하고있습니다. Roles항목에서 계정을 생성한 음 Can Login? Super User?유무를 체크하고, 테이블 권한을 주기 위해서는 테이블 항목에서 권한정보에서 부여하고 싶은 권한을 주어 부여하면됩니다.

터미널에서 SQL스크립트문으로 Create User , Grant 문으로 권한처리 Revoke문으로 권한 변경 및 제거를 하여 사용할수도 있는데 관리 Tool이 잘되어있어서 편리한 관리툴을 이용해서 사용하고있습니다. 스크립트문은 내용은 알고있는게 좋습니다.