[15편] 팀에 들어오면 DB 권한도 함께 — QueryPie 그룹 관리 실습
2026년 11월 8일
처음에는 사용자 한 명에게 DB 권한을 주는 것만으로도 충분했다. 그런데 같은 일을 하는 팀원이 늘어난다면 어떨까. 누구에게 어떤 권한을 줬는지 한 사람씩 확인하는 일이 점점 번거로워질 것 같았다.
이번에는 QueryPie에서 주문 분석팀을 만들어봤다. 팀에 읽기 전용 권한을 먼저 정해두고, 새 담당자를 그 팀에 추가했다. 개인에게 따로 DB 권한을 주지 않아도 주문 조회가 가능해지는지 직접 확인했다.
1. 주문 분석팀 그룹을 만들었다
관리자 화면의 General → User Management → Groups에서 Create Group을 눌렀다. 이름은 Orders Lab - Analysts로 정했다. 주문 현황을 조회하는 분석 담당자들이 속할 가상의 팀이다.
실습용 사용자 Demo Analyst도 준비했다. 이 계정에는 DB 접근 권한을 직접 부여하지 않았다. 그룹에 속했을 때 생기는 변화를 확인하려고 했다.

2. 팀에 필요한 권한을 먼저 정했다
Databases → DB Access Control → Access Control에서 방금 만든 그룹을 선택했다. Grant Privilege를 눌러 Orders Control Lab 연결에 Read-Only 권한을 부여했다.
주문 분석 업무라면 조회부터 시작하는 편이 자연스럽다. 데이터를 수정할 권한까지 한꺼번에 주지 않고, 팀이 맡은 업무에 맞춰 읽기 전용으로 설정했다.

저장한 뒤 그룹의 권한 목록에 Orders Control Lab과 Read-Only가 표시됐다. 이 팀이 어느 DB를 어떤 권한으로 사용하는지 한눈에 볼 수 있었다.

3. 팀에 들어가기 전에는 접속할 DB가 없었다
아직 그룹에 추가하지 않은 Demo Analyst로 로그인했다. Databases를 열자 There are no available connections!라는 안내가 나타났다. 계정이 만들어졌다는 이유만으로 DB를 사용할 수 있는 것은 아니었다.
사용자를 등록하는 일과 업무에 필요한 DB 권한을 주는 일이 구분돼 있었다. 새 담당자의 계정을 먼저 준비하고, 맡을 업무에 따라 팀을 정하는 운영 방식이 떠올랐다.

4. 분석팀에 담당자를 추가했다
관리자로 돌아와 Orders Lab - Analysts 그룹을 열었다. Add Users에서 Demo Analyst 한 명을 선택하고 저장했다. DB 권한을 개인에게 다시 부여하는 과정은 거치지 않았다.

그룹 구성원 목록에 Demo Analyst가 나타났다. 팀의 권한과 구성원을 각각 관리할 수 있으니, 같은 업무를 맡은 사람에게 동일한 기준을 적용하기가 수월해 보였다.

5. 그룹 권한으로 조회하고, 변경은 막혔다
Demo Analyst로 다시 로그인해 DB 연결 목록을 펼쳤다. 이번에는 Orders Control Lab이 보였다. 연결 상세의 권한 이름에는 Read-Only (Orders Lab - Analysts)라고 표시돼 있었다.
단순히 권한이 생긴 것뿐 아니라 어느 그룹에서 받은 권한인지도 확인할 수 있었다. 나중에 사용자가 “이 DB는 왜 접속할 수 있나요?”라고 물어도 그 근거를 설명하기 좋겠다.

Connect를 눌러 웹 SQL 편집기를 열고 주문 번호, 상태, 금액을 조회했다.
SELECT order_id, status, total_amountFROM orders_control.ordersORDER BY order_id;
주문 4001번부터 4003번까지 세 건이 정상적으로 나왔다. 그룹에 정해둔 권한만으로 새 담당자가 주문 조회 업무를 시작할 수 있었다.

읽기 전용이라는 제한도 확인했다. 데이터가 바뀌지 않도록 존재하지 않는 주문 번호 -1을 조건으로 UPDATE를 시도했다. QueryPie는 No permission to execute UPDATE statement라는 메시지로 실행을 차단했다.

6. 팀이 늘어날수록 도움이 될 기능이었다
이번 실습에서 가장 좋았던 점은 권한을 정하는 기준이 분명해졌다는 것이다. 주문 분석팀에 필요한 DB와 권한을 정해두고, 해당 업무를 맡는 사용자를 그룹에 추가하면 됐다.
도입 담당자 입장에서는 처음 연결에 성공하는 것만큼, 사용자가 늘어난 뒤에도 권한을 일관되게 관리할 수 있는지가 중요하다. 팀에 필요한 권한을 한곳에서 보고, 구성원을 관리하고, 사용자 화면에서 권한의 출처까지 확인할 수 있다는 점이 인상적이었다.
이번에는 새 분석 담당자 한 명으로 확인했지만, 팀 단위로 권한을 운영하는 방식은 충분히 이해할 수 있었다. 업무에 필요한 조회는 허용하고 데이터 변경은 막는 기준을 그룹에 정해두는 것. QueryPie를 조직 전체로 넓혀 쓰려는 담당자에게 도움이 될 기능이다.
![[14편] 실행 중인 SQL을 멈춰봤다 — QueryPie 쿼리 모니터링](/assets/content/acp-lab-notes/query-monitoring/01.webp)
![[16편] 이 DB 권한은 누가 줬을까? — QueryPie 관리자 변경 이력](/assets/content/acp-lab-notes/administrator-audit/01.webp)