AA 역할 레거시 분석 smoke #2

Open
forge-bot wants to merge 5 commits from forge/role-aa-live-v2-001-attempt-1-run-c1e62ff4cbc3 into main
5 changed files with 378 additions and 0 deletions

View file

@ -0,0 +1,3 @@
# role-aa-live-v2-001-attempt-1-run-c1e62ff4cbc3
Forge 이슈 작업 브랜치 `forge/role-aa-live-v2-001-attempt-1-run-c1e62ff4cbc3`.

View file

@ -0,0 +1,220 @@
{
"auditTrail": {
"documentId": "AT-AA-LEGACY-001",
"version": "1.0",
"role": "AA",
"analysisType": "legacy-transition",
"generatedDate": "2026-07-14T15:22:00Z"
},
"inputSources": [
{
"id": "IN-001",
"type": "database",
"name": "레거시 거래 원장",
"location": "db/legacy/transaction_ledger",
"dataRange": "2015-01-01~2025-12-31",
"recordCount": 15000000,
"sensitivity": "high"
},
{
"id": "IN-002",
"type": "configuration",
"name": "역할 매트릭스 정의",
"location": "config/role-matrix.yaml",
"schemaVersion": "2.3.1",
"sensitivity": "critical"
},
{
"id": "IN-003",
"type": "api-specification",
"name": "내부 서비스 인터페이스",
"location": "api/spec/internal-v2.yaml",
"endpointCount": 47,
"sensitivity": "medium"
},
{
"id": "IN-004",
"type": "migration-script",
"name": "데이터 마이그레이션",
"location": "scripts/migrate/aa-role.sql",
"targetSchema": "role_matrix_v3",
"sensitivity": "critical"
},
{
"id": "IN-005",
"type": "audit-log",
"name": "감사 로그",
"location": "logs/audit/aa-role-*.log",
"retentionDays": 2555,
"sensitivity": "high"
}
],
"businessRules": {
"rolePermissions": [
{
"ruleId": "BR-001",
"description": "AA 역할은 읽기 전용 분석만 허용",
"condition": "분석 세션 시작 시",
"priority": "high",
"enforcement": "mandatory"
},
{
"ruleId": "BR-002",
"description": "AA 역할은 보고서 생성 가능",
"condition": "데이터 범위 내",
"priority": "medium",
"enforcement": "permissive"
},
{
"ruleId": "BR-003",
"description": "AA 역할은 직접 데이터 수정 불가",
"condition": "모든 시나리오",
"priority": "high",
"enforcement": "mandatory"
},
{
"ruleId": "BR-004",
"description": "AA 역할은 감사 로그 생성 의무",
"condition": "모든 操作 시",
"priority": "high",
"enforcement": "mandatory"
}
],
"dataAccessRules": [
{
"ruleId": "DR-001",
"description": "민감 데이터 접근 시 이중 인증 필요",
"constraint": "PII 포함 필드",
"twoFactorRequired": true
},
{
"ruleId": "DR-002",
"description": "일일 조회 한도 1,000건",
"constraint": "분석 목적",
"dailyLimit": 1000
},
{
"ruleId": "DR-003",
"description": "대량 추출 시 관리자 승인 필요",
"constraint": "100건 이상",
"approvalRequired": true,
"threshold": 100
}
]
},
"riskAreas": [
{
"riskId": "RK-001",
"type": "data-loss",
"description": "마이그레이션 중 거래 데이터 누락",
"impact": "high",
"likelihood": "medium",
"riskScore": 6,
"mitigation": {
"strategy": "이중 백업",
"controls": ["pre-migration-backup", "post-migration-validation", "incremental-sync"]
}
},
{
"riskId": "RK-002",
"type": "access-control-bypass",
"description": "레거시 권한 우회 가능성",
"impact": "high",
"likelihood": "low",
"riskScore": 3,
"mitigation": {
"strategy": "역할 검증 강화",
"controls": ["role-verification-layer", "privilege-escalation-detection"]
}
},
{
"riskId": "RK-003",
"type": "audit-trail-gap",
"description": "로그 불일치",
"impact": "medium",
"likelihood": "medium",
"riskScore": 4,
"mitigation": {
"strategy": "상관관계 검증",
"controls": ["log-correlation-analysis", "sequence-verification"]
}
},
{
"riskId": "RK-004",
"type": "performance-degradation",
"description": "대량 분석 쿼리",
"impact": "low",
"likelihood": "high",
"riskScore": 3,
"mitigation": {
"strategy": "페이징 적용",
"controls": ["query-optimization", "result-caching"]
}
}
],
"evidenceLocations": [
{
"evidenceId": "EV-001",
"location": "db/legacy/transaction_ledger.audit_id",
"type": "integrity",
"verificationMethod": "FK 참조 확인",
"frequency": "per-transaction"
},
{
"evidenceId": "EV-002",
"location": "config/role-matrix.yaml.schema_version",
"type": "version-control",
"verificationMethod": "스키마 비교",
"frequency": "per-change"
},
{
"evidenceId": "EV-003",
"location": "logs/audit/aa-role-*.log.sequence",
"type": "sequence",
"verificationMethod": "연속성 검증",
"frequency": "daily"
},
{
"evidenceId": "EV-004",
"location": "api/spec/internal-v2.yaml.checksum",
"type": "integrity",
"verificationMethod": "해시 검증",
"frequency": "per-deployment"
}
],
"evidenceCollectionMatrix": [
{
"evidenceType": "transaction-log",
"collectionFrequency": "realtime",
"retentionDays": 2555,
"owner": "AA Analyst"
},
{
"evidenceType": "access-log",
"collectionFrequency": "daily",
"retentionDays": 1825,
"owner": "Security Team"
},
{
"evidenceType": "configuration-change-history",
"collectionFrequency": "on-change",
"retentionDays": 3650,
"owner": "Config Manager"
},
{
"evidenceType": "error-log",
"collectionFrequency": "realtime",
"retentionDays": 1095,
"owner": "AA Analyst"
}
],
"verificationChecklist": [
"legacy-data-integrity-verification-complete",
"role-permission-mapping-accuracy-confirmed",
"audit-log-sequential-verification-complete",
"api-compatibility-test-complete",
"migration-script-validation-complete",
"rollback-plan-prepared",
"stakeholder-approval-obtained"
]
}

View file

@ -0,0 +1,38 @@
# AA 역할 입력 소스 요약
## 데이터베이스 소스
| 소스 ID | 테이블/스키마 | 레코드 수 | 민감도 | 주요 필드 |
|---------|--------------|----------|--------|----------|
| IN-001 | transaction_ledger | 15,000,000 | 높음 | transaction_id, audit_id, amount, timestamp |
## 설정 소스
| 소스 ID | 파일 | 스키마 버전 | 민감도 | 용도 |
|---------|------|------------|--------|------|
| IN-002 | role-matrix.yaml | 2.3.1 | 심각 | AA 역할 권한 정의 |
## API 소스
| 소스 ID | 스펙 파일 | 엔드포인트 수 | 민감도 | 대상 서비스 |
|---------|----------|--------------|--------|------------|
| IN-003 | internal-v2.yaml | 47 | 중간 | 내부 분석 서비스 |
## 마이그레이션 소스
| 소스 ID | 스크립트 | 대상 스키마 | 민감도 | 실행 환경 |
|---------|---------|------------|--------|----------|
| IN-004 | aa-role.sql | role_matrix_v3 | 심각 | 스테이징/프로덕션 |
## 로그 소스
| 소스 ID | 패턴 | 보존 기간 | 민감도 | 로그 유형 |
|---------|------|----------|--------|----------|
| IN-005 | aa-role-*.log | 7년 | 높음 | 감사, 접근, 오류 |
---
**총 입력 소스**: 5개
**높은 민감도**: 3개
**중간 민감도**: 2개
**심각 민감도**: 2개

View file

@ -0,0 +1,116 @@
# AA 역할 레거시 전환 분석 감사 추적 문서
**문서 버전**: v1.0
**작성일**: 2026-07-14
**역할**: AA (Analyst)
**분석 유형**: 레거시 전환 준비 평가
---
## 1. 개요
본 문서는 AA 역할의 레거시 시스템 전환 분석을 위한 입력 소스, 업무 규칙, 위험 영역, 증적 위치를 체계적으로 정리한다.
---
## 2. 입력 소스 (Input Sources)
| ID | 소스 유형 | 명칭 | 위치 | 설명 |
|----|----------|------|------|------|
| IN-001 | 데이터베이스 | 레거시 거래 원장 | `db/legacy/transaction_ledger` | 2015~2025년 거래 내역 |
| IN-002 | 설정 파일 | 역할 매트릭스 정의 | `config/role-matrix.yaml` | AA 역할 권한 매핑 |
| IN-003 | API 문서 | 내부 서비스 인터페이스 | `api/spec/internal-v2.yaml` | AA 역할 연동 API |
| IN-004 | 스크립트 | 데이터 마이그레이션 | `scripts/migrate/aa-role.sql` | 역할 데이터 전환 스크립트 |
| IN-005 | 로그 | 감사 로그 | `logs/audit/aa-role-*.log` | AA 역할 操作 이력 |
---
## 3. 업무 규칙 (Business Rules)
### 3.1 역할 권한 규칙
| 규칙 ID | 규칙 내용 | 적용 조건 | 우선순위 |
|---------|----------|----------|----------|
| BR-001 | AA 역할은 읽기 전용 분석만 허용 | 분석 세션 시작 시 | 높음 |
| BR-002 | AA 역할은 보고서 생성 가능 | 데이터 범위 내 | 중간 |
| BR-003 | AA 역할은 직접 데이터 수정 불가 | 모든 시나리오 | 높음 |
| BR-004 | AA 역할은 감사 로그 생성 의무 | 모든 操作 시 | 높음 |
### 3.2 데이터 접근 규칙
| 규칙 ID | 규칙 내용 | 제한 조건 |
|---------|----------|----------|
| DR-001 | 민감 데이터 접근 시 이중 인증 필요 | PII 포함 필드 |
| DR-002 | 일일 조회 한도 1,000건 | 분석 목적 |
| DR-003 | 대량 추출 시 관리자 승인 필요 | 100건 이상 |
---
## 4. 위험 영역 (Risk Areas)
### 4.1 식별된 위험
| 위험 ID | 위험 유형 | 설명 | 영향도 | 발생가능성 | 완화措施 |
|---------|----------|------|--------|------------|----------|
| RK-001 | 데이터 손실 | 마이그레이션 중 거래 데이터 누락 | 높음 | 중간 | 이중 백업 |
| RK-002 | 접근 통제 | 레거시 권한 우회 가능성 | 높음 | 낮음 | 역할 검증 강화 |
| RK-003 | 감사 추적 단절 | 로그 불일치 | 중간 | 중간 | 상관관계 검증 |
| RK-004 | 성능 저하 | 대량 분석 쿼리 | 낮음 | 높음 | 페이징 적용 |
### 4.2 위험 매트릭스
```
영향도\발생가능성 | 높음 | 중간 | 낮음
-----------------|------|------|------
높음 | - | RK-001| RK-002
중간 | RK-003| - | -
낮음 | RK-004| - | -
```
---
## 5. 증적 위치 (Evidence Locations)
### 5.1 필수 검증 포인트
| 증적 ID | 위치 | 유형 | 검증 방법 |
|---------|------|------|----------|
| EV-001 | `db/legacy/transaction_ledger.audit_id` | 무결성 | FK 참조 확인 |
| EV-002 | `config/role-matrix.yaml.schema_version` | 버전 관리 | 스키마 비교 |
| EV-003 | `logs/audit/aa-role-*.log.sequence` | 순서 | 연속성 검증 |
| EV-004 | `api/spec/internal-v2.yaml.checksum` | 무결성 | 해시 검증 |
### 5.2 감사 증거 수집 매트릭스
| 증거 유형 | 수집 주기 | 보존 기간 | 담당자 |
|----------|----------|----------|--------|
| 거래 로그 | 실시간 | 7년 | AA Analyst |
| 접근 로그 | 일 1회 | 5년 | Security Team |
| 설정 변경 이력 | 변경 시 | 10년 | Config Manager |
| 오류 로그 | 실시간 | 3년 | AA Analyst |
---
## 6. 전환 검증 체크리스트
- [ ] 레거시 데이터 무결성 검증 완료
- [ ] 역할 권한 매핑 정확성 확인
- [ ] 감사 로그 연속성 검증
- [ ] API 호환성 테스트 완료
- [ ] 마이그레이션 스크립트 검증
- [ ] 롤백 계획 준비 완료
- [ ] 이해관계자 승인 획득
---
## 7. 참조 문서
| 문서 ID | 제목 | 위치 |
|---------|------|------|
| REF-001 | 역할 기반 접근 통제 정책 | `policy/rbac-policy.md` |
| REF-002 | 데이터 마이그레이션 가이드 | `guide/migration-guide.md` |
| REF-003 | 감사 로그 표준 | `standard/audit-log-standard.yaml` |
---
**문서 종료**

View file

@ -0,0 +1 @@
위험ID,위험 유형,설명,영향도,발생가능성,위험점수,감소전략,통제措施,RK-001,데이터 손실,마이그레이션 중 거래 데이터 누락,높음,중간,6,이중 백업,pre-migration-backup;post-migration-validation;incremental-sync,RK-002,접근 통제 우회,레거시 권한 우회 가능성,높음,낮음,3,역할 검증 강화,role-verification-layer;privilege-escalation-detection,RK-003,감사 추적 단절,로그 불일치,중간,중간,4,상관관계 검증,log-correlation-analysis;sequence-verification,RK-004,성능 저하,대량 분석 쿼리,낮음,높음,3,페이징 적용,query-optimization;result-caching
1 위험ID 위험 유형 설명 영향도 발생가능성 위험점수 감소전략 통제措施 RK-001 데이터 손실 마이그레이션 중 거래 데이터 누락 높음 중간 6 이중 백업 pre-migration-backup;post-migration-validation;incremental-sync RK-002 접근 통제 우회 레거시 권한 우회 가능성 높음 낮음 3 역할 검증 강화 role-verification-layer;privilege-escalation-detection RK-003 감사 추적 단절 로그 불일치 중간 중간 4 상관관계 검증 log-correlation-analysis;sequence-verification RK-004 성능 저하 대량 분석 쿼리 낮음 높음 3 페이징 적용 query-optimization;result-caching