고지 자료 다운로드
고객사 컴플라이언스 감사 제출 또는 내부 거버넌스 리뷰용으로, 등록된 모든 보존 정책 목록을 한 장의 HTML 표로 export 할 수 있습니다. 브라우저 인쇄 기능으로 PDF 저장이 가능합니다.
사용 방법
- 관리자 > 데이터 보존 메뉴 이동.
- 헤더 우측의 고지 자료 다운로드 버튼을 클릭합니다.
- 새 탭에서 정책 목록 HTML 표가 열립니다.
- 브라우저 인쇄 (⌘P / Ctrl+P) → PDF 로 저장 으로 산출물을 보관합니다.
별도 PDF 라이브러리 의존성을 피하기 위해 서버는 HTML 만 산출하고, PDF 변환은 브라우저 인쇄 기능에 위임합니다.
산출물 구조
표에는 다음 컬럼이 포함됩니다 — 정책당 1행, (catalog, schema, table) 오름차순:
| 컬럼 | 설명 |
|---|---|
| Catalog | 대상 카탈로그 |
| Schema | 대상 스키마 |
| Table | 대상 테이블 |
| Days | retention_days (정수) |
| Date Column | 보존 기간 계산에 사용한 타임스탬프 컬럼 |
| Action | delete / archive / anonymize |
| 활성 | 예 / 아니오 (enabled 컬럼) |
| 최근 실행 | last_executed_at ISO 8601 또는 — |
| 책임자 | 정책을 생성한 admin 의 user_id 또는 — |
상단에는 총 N건 · 생성: GenD Data Platform · 산출 시각 UTC 메타 라인이 함께 출력됩니다.
API 엔드포인트
| Method | Path | Description |
|---|---|---|
| GET | /api/v1/retention/policies/export | 보존 정책 목록 HTML export (admin) |
응답은 text/html; charset=utf-8 이고 Content-Disposition: inline; filename="gend-retention-policies.html" 헤더가 함께 내려옵니다.
인증과 cross-origin
이 endpoint 는 JWT Bearer 인증이 필수입니다. 단순히 window.open("/api/v1/retention/policies/export") 으로 새 탭을 열면 Authorization 헤더가 자동으로 붙지 않아 401 / cross-origin 환경에서 404 가 발생할 수 있습니다.
UI 는 다음 패턴으로 이 문제를 우회합니다 (#957, CodeRabbit/Copilot review):
fetch로Authorization: Bearer ...헤더와 함께 호출.- 응답을
Blob으로 받은 뒤const blobUrl = URL.createObjectURL(blob)으로 blob URL 문자열 생성. - 생성한
blobUrl을window.open(blobUrl, "_blank", "noopener")으로 새 탭에 표시 (Blob 객체 자체가 아니라 문자열 URL 을 넘겨야 합니다).
자체 자동화나 외부 도구로 호출할 때도 같은 원칙을 따라야 합니다. JWT 토큰 발급/주입 흐름은 JWT 토큰 운영 가이드 를 참조하세요.
운영 메모
- 등록된 정책이 없을 때는 표 본문에
등록된 정책 없음단일 행이 표시됩니다. - HTML 은 외부 폰트·이미지·스크립트 의존이 없습니다 (self-contained). 인쇄 시 폰트 fallback 으로 시스템 sans-serif 가 사용됩니다.
- 정책 변경 이력은 본 산출물에 포함되지 않습니다. 변경 이력은 컴플라이언스 변경 이력 사이드 패널 또는 OpenSearch 감사 인덱스에서 별도로 조회합니다.