플랫폼의 인스턴스 접근 방식
최종 갱신: 2026년 7월 28일
AkasicDB Playground의 인스턴스는 단일 사용자 전용이지만, 플랫폼이 서비스 기능을 제공하기 위해 인스턴스에 접근하는 경로가 있습니다. 이 문서는 그 경로 전부와 각 경로의 권한 범위를 공개합니다.
접근 경로 요약
| 경로 | 사용 계정(롤) | 권한 범위 | 언제 실행되는가 |
|---|---|---|---|
| Studio (웹 대시보드) | supabase_admin | 인스턴스 관리 전반 | 사용자가 Studio를 사용할 때 (사용자 세션 필요) |
| 쿼리 통계 수집 | controlplane_monitor | 통계 조회 전용 — 테이블 데이터 접근 불가 | 주기적 (약 5분 간격, 자동) |
MCP execute_sql | controlplane_mcp | postgres 롤과 동일 (사용자 권한) | 소유자 본인이 MCP 도구를 호출할 때만 |
인스턴스의 pg_roles(\du)에서 controlplane_monitor와 controlplane_mcp라는 롤을 보게 되는 것은 이 때문입니다. 두 롤 모두 superuser가 아닙니다.
각 롤이 하는 일
controlplane_monitor — 쿼리 통계 수집
- PostgreSQL 내장
pg_monitor권한만 가집니다. 통계 뷰(pg_stat_statements등)를 읽을 수 있고, 사용자 테이블의 데이터는 읽을 수 없습니다. - 플랫폼은 이 롤로 약 5분마다 접속해 쿼리 형태(상수·파라미터 값이 제거된 모양), 호출 횟수, 실행 시간을 수집합니다. 쿼리에 입력한 실제 값은 수집되지 않습니다.
- 수집된 통계는 서비스 운영·개선 목적으로 사용되며, 최신 스냅샷만 보관합니다. 자세한 내용은 개인정보 처리방침 제2조를 참조하세요.
controlplane_mcp — MCP SQL 실행
postgres롤의 멤버로, 사용자와 동일한 권한 범위를 가집니다.- 소유자 본인이 MCP 클라이언트(예: Claude)에서 SQL 실행을 요청할 때만 사용되며, 세션은
SET ROLE postgres로 실행되므로 생성되는 객체의 소유자도 평소와 같이postgres입니다. - 플랫폼이 이 롤로 사용자의 요청 없이 쿼리를 실행하는 일은 없습니다.
인증 방식: 비밀번호가 없습니다
두 롤은 비밀번호가 존재하지 않으며, 플랫폼은 인증서 기반(mTLS) 인증으로만 접속합니다. 즉:
- 인스턴스에 플랫폼용 비밀번호가 저장되어 있지 않고, 유출될 비밀번호 자체가 없습니다.
- 사용자가
postgres비밀번호를 변경해도 플랫폼 기능은 영향을 받지 않습니다. - 접속 시 플랫폼은 인스턴스의 서버 인증서를 대조해 "의도한 인스턴스가 맞는지"도 함께 검증합니다.
네트워크 차원에서 이 접속 경로는 플랫폼 내부(control plane)에서만 도달 가능하며, 인터넷에 노출되지 않습니다.
롤을 삭제하면 어떻게 되나요?
인스턴스 안에서 사용자는 이 롤들을 삭제하거나 변경할 수 있습니다(막지 않습니다). 다만 그 결과는 다음과 같습니다.
controlplane_monitor삭제 → 해당 인스턴스의 쿼리 통계 수집이 중단됩니다.controlplane_mcp삭제(또는postgres멤버십 회수) → MCPexecute_sql등 MCP 연동 기능이 동작하지 않습니다.
삭제된 롤은 인스턴스를 재프로비저닝하면 복구됩니다.
지원되지 않는 변경
Studio SQL 에디터 등에서 ALTER USER postgres PASSWORD ...로 비밀번호를 직접 변경하는 것은 지원되지 않는 경로입니다. 플랫폼 기능은 위의 인증서 방식 덕분에 깨지지 않지만, 대시보드에 표시되는 연결 문자열의 비밀번호는 더 이상 실제와 일치하지 않게 됩니다.
문의: privacy@graphai.io