관리 워크플로우
GenD의 관리 기능을 활용하여 데이터 접근 정책 → 승인 워크플로우 → 감사 로그를 연계 관리하고, 비용, 보존, 컴플라이언스, CDC, 스키마 변경까지 운영하는 방법을 안내합니다.
사전 준비
- 관리자 권한으로 로그인
- 샘플 데이터가 적재되어 있어야 합니다 (
make seed-demo)
Part A: 접근 정책 → 데이터 액세스 검토 → 감사
1단계: 접근 정책 확인
사이드바 하단 ⚙ 관리 콘솔 → 접근 제어 & 보안 → 접근 정책 메뉴를 클릭합니다.

GenD는 두 가지 정책 유형을 지원합니다:
| 정책 유형 | 설명 | 예시 |
|---|---|---|
| Column Mask | 특정 컬럼 데이터를 마스킹 | analyst 역할에게 phone 컬럼 **** 표시 |
| Row Filter | 조건에 따라 행을 필터링 | viewer 역할에게 자기 부서 데이터만 표시 |
2단계: 권한 요청 검토 (데이터 액세스)
사이드바 → 거버넌스 → 데이터 액세스 메뉴의 검토 탭(/governance/access?tab=reviews)을 엽니다. 구 "승인 관리" 메뉴(/admin/approvals)는 이 탭으로 통합·리디렉트됩니다.

데이터 삭제, 정책 변경 등 중요한 작업은 승인 워크플로우를 거칩니다:
- PENDING — 승인 대기 중
- APPROVED — 승인 완료
- REJECTED — 거부됨
관리자는 [승인] 또는 [거부] 버튼으로 요청을 처리합니다.
3단계: 감사 로그 확인
사이드바 하단 ⚙ 관리 콘솔 → 운영 & 모니터링 → 감사 로그 메뉴를 클릭합니다.

모든 API 요청이 자동으로 기록됩니다:
- 메서드 — GET, POST, PUT, DELETE
- 경로 — API 엔드포인트
- 사용자 — 요청한 사용자 ID
- 상태 코드 — HTTP 응답 코드
- 시간 — 요청 시각
Tip: 감사 로그는 정책 변경, 데이터 접근, 승인 이력 등을 추적하는 데 활용합니다.
Part B: 비용 관리
사이드바 하단 ⚙ 관리 콘솔 → 운영 & 모니터링 → 비용 대시보드 메뉴를 클릭합니다.

쿼리 실행 비용을 모니터링합니다:
- 총 쿼리 수 — 실행된 쿼리 건수
- CPU 시간 — Trino 클러스터 CPU 사용량
- 스캔 바이트 — 읽은 데이터 크기
Part C: 데이터 보존
사이드바 하단 ⚙ 관리 콘솔 → 접근 제어 & 보안 → 데이터 보존 메뉴를 클릭합니다.

테이블별 데이터 보존 기간을 설정합니다:
| 테이블 | 보존 기간 | 설명 |
|---|---|---|
fraud_labels | 365일 | 사기 탐지 라벨 |
marketing_consents | 730일 | 마케팅 동의 |
app_events | 30일 | 앱 이벤트 로그 |
보존 기간이 지난 데이터는 [실행] 버튼으로 삭제합니다 (승인 워크플로우 필요).
Part D: 컴플라이언스
사이드바 하단 ⚙ 관리 콘솔 → 접근 제어 & 보안 → 컴플라이언스 메뉴를 클릭합니다.

법규/규정 프레임워크 기반 준수 평가를 수행합니다:
- 프레임워크 선택 — 신용정보법, 전자금융거래법 등
- 평가 생성 — 대상 범위 지정 (예:
iceberg.*.*) - 체크리스트 점검 — 항목별 준수/미준수 판정
- 리포트 생성 — 평가 결과 리포트 다운로드
Part E: CDC 커넥터
사이드바 하단 ⚙ 관리 콘솔 → 데이터플레인 설정 → CDC 커넥터 메뉴를 클릭합니다.

Debezium 기반 CDC 커넥터 상태를 모니터링합니다:
- 커넥터명 — Debezium 커넥터 이름
- 상태 — RUNNING / PAUSED / FAILED
- 태스크 — 워커 태스크 상태
Part F: 스키마 변경 탐지
사이드바 → 데이터 관측 → 스키마 변경 메뉴를 클릭합니다.

테이블 스키마 변경을 자동 감지합니다:
- 컬럼 추가 — 새로 추가된 컬럼
- 컬럼 삭제 — 제거된 컬럼
- 타입 변경 — 데이터 타입 변경
Part G: Medallion 메타데이터 관리
테이블의 Medallion 계층(bronze / silver / gold)은 PostgreSQL table_metadata 테이블에서 단일 소스로 관리됩니다. 카탈로그 UI 배지·/api/v1/catalog/.../metadata 응답이 모두 이 데이터를 읽습니다 (Iceberg extra_properties는 환경 호환성 문제로 fallback only — Issue #545).
1단계: 현재 layer 부여 상태 확인
GET /api/v1/catalog/iceberg/datax_analytics/store_sales_summary/metadata
# 응답: { "layer": "gold", "domain": "analytics", "owner": null, ... }
layer가 null이면 메타데이터 미지정 상태입니다. 신규 환경이거나 외부 카탈로그(예: sourcedb.*)가 그렇습니다.
2단계: layer 부여·변경 (admin)
PUT /api/v1/catalog/iceberg/cdc/orders/metadata
Content-Type: application/json
{ "layer": "bronze", "domain": "cdc", "owner": "platform" }
- 응답은 PG에 저장된 결과를 즉시 반영합니다 (Trino 호출 없음 — outage 안전)
- 잘못된 값(예:
"platinum")은 API 수준(Pydantic validation)에서 422 오류로 거부됩니다 - DB CHECK 제약(
layer IS NULL OR layer IN ('bronze','silver','gold'))으로 직접 SQL 우회도 차단됩니다
3단계: 일괄 시드 (backfill 스크립트)
신규 클러스터에서 시드 대상 테이블에 일괄 layer를 부여하려면:
# 미리보기 (default dry-run)
python scripts/backfill_medallion_layer.py
# 실제 적용
python scripts/backfill_medallion_layer.py --apply
make seed-demo는 위 스크립트의--apply를 자동 호출합니다 (Issue #551)- 스크립트는 사전에
Base.metadata.create_all(checkfirst=True)을 실행해table_metadata가 없는 신규 클러스터에서도 안전합니다
계층 의미·페르소나별 사용은 Medallion 데이터 레이어 참조.
운영 워크플로우 요약
1. 접근 정책 설정 → 누가 어떤 데이터에 접근 가능한지 정의
2. 데이터 액세스 검토 탭 → 권한 요청·중요 작업(삭제, 정책 변경)에 대한 승인 처리
3. 감사 로그 → 모든 활동 이력 추적
4. 비용 모니터링 → 쿼리 비용 관리
5. 데이터 보존 → 보존 기간 경과 데이터 자동 삭제
6. 컴플라이언스 → 법규 준수 평가
7. CDC → 실시간 데이터 동기화 모니터링
8. 스키마 변경 → 스키마 드리프트 감지