본문으로 건너뛰기

관리 워크플로우

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_labels365일사기 탐지 라벨
marketing_consents730일마케팅 동의
app_events30일앱 이벤트 로그

보존 기간이 지난 데이터는 [실행] 버튼으로 삭제합니다 (승인 워크플로우 필요).


Part D: 컴플라이언스

사이드바 하단 ⚙ 관리 콘솔 → 접근 제어 & 보안 → 컴플라이언스 메뉴를 클릭합니다.

컴플라이언스

법규/규정 프레임워크 기반 준수 평가를 수행합니다:

  1. 프레임워크 선택 — 신용정보법, 전자금융거래법 등
  2. 평가 생성 — 대상 범위 지정 (예: iceberg.*.*)
  3. 체크리스트 점검 — 항목별 준수/미준수 판정
  4. 리포트 생성 — 평가 결과 리포트 다운로드

Part E: CDC 커넥터

사이드바 하단 ⚙ 관리 콘솔 → 데이터플레인 설정 → 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, ... }

layernull이면 메타데이터 미지정 상태입니다. 신규 환경이거나 외부 카탈로그(예: 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. 스키마 변경 → 스키마 드리프트 감지

다음 단계