Skip to content

Roles and Permissions

범수 edited this page Sep 12, 2026 · 1 revision

역할과 권한

DBTower의 변경 흐름은 요청, 승인, 실행을 서로 다른 역할로 분리합니다. 화면은 권한에 맞는 동작만 보여 주고, 서버가 모든 요청을 다시 검사합니다.

역할 요약

역할 주 사용자 주요 권한
VIEWER 온콜·팀장 관제, 비교, 리포트 조회
REQUESTER 개발자·데이터 요청자 VIEWER 권한, 워크벤치 조회, 변경 요청·취소
APPROVER DBA 리드 REQUESTER 권한, 드라이런, 승인·반려
OPERATOR DBA 운영자 REQUESTER 권한, 드라이런, 승인 티켓 실행·되돌리기, 백업·세션 종료
ADMIN 플랫폼 관리자 모든 역할의 권한, 인스턴스·계정·보안·감사 관리

역할 계층

ADMIN
├── APPROVER -> REQUESTER -> VIEWER
└── OPERATOR -> REQUESTER -> VIEWER

APPROVER와 OPERATOR는 서로를 포함하지 않습니다. 따라서 한 사람이 자기 변경을 승인하고 바로 실행하는 흐름을 기본 역할만으로 만들 수 없습니다.

계정별 확인 포인트

계정 예시 보여야 하는 동작 없어야 하는 동작
viewer 관제, 비교, 읽기 전용 진단 워크벤치, 변경 요청
requester 워크벤치 조회, 변경 요청 승인, 실행
approver 티켓 조회, 드라이런, 승인·반려 실행
operator 티켓 조회, 드라이런, 실행·되돌리기 승인·반려
admin 사용자·역할, 인스턴스, 자격증명, 감사 포함 전체 없음

버튼이 보이지 않는 것만으로 권한 검증이 끝나지는 않습니다. 허용되지 않은 API를 직접 호출해도 403이 반환되어야 합니다. 팀 범위 밖 인스턴스는 존재 자체를 드러내지 않도록 404를 반환할 수 있습니다.

초기 역할 계정

다음 환경변수를 지정하면 앱이 처음 기동될 때 역할별 계정을 만듭니다.

DBTOWER_ADMIN_PASSWORD=...
DBTOWER_VIEWER_PASSWORD=...
DBTOWER_REQUESTER_PASSWORD=...
DBTOWER_APPROVER_PASSWORD=...
DBTOWER_OPERATOR_PASSWORD=...

역할을 바꾸면 다음 로그인부터 새 권한이 적용됩니다. 마지막 ADMIN의 역할은 낮출 수 없습니다.

직접 확인하는 순서: 수동 테스트

Clone this wiki locally