diff --git a/docs/role-aa/AUDIT_TRAIL.md b/docs/role-aa/AUDIT_TRAIL.md new file mode 100644 index 0000000..108c8a7 --- /dev/null +++ b/docs/role-aa/AUDIT_TRAIL.md @@ -0,0 +1,106 @@ +# Role AA Legacy Transition Audit Trail + +**문서 버전**: 1.0.0 +**생성일**: 2025-01-01 +**역할**: AA (Analyst) +**프로젝트**: runtime-role-matrix-live + +--- + +## 1. 입력 소스 (Input Sources) + +| ID | 소스명 | 유형 | 위치 | 설명 | +|----|--------|------|------|------| +| IN-001 | role-aa scope reference | reference | scope/role-aa/ | AA 역할 정의 기준 문서 | +| IN-002 | legacy-auth-service | source | src/main/java/com/auth/ | 레거시 인증 서비스 소스 | +| IN-003 | permission-matrix.json | config | config/roles/ | 권한 매트릭스 설정 | +| IN-004 | audit-log-schema.sql | schema | db/migration/ | 감사 로그 스키마 | + +--- + +## 2. 업무 규칙 (Business Rules) + +### 2.1 역할 권한 규칙 + +| 규칙ID | 규칙명 | 설명 | 우선순위 | +|--------|--------|------|----------| +| BR-001 | 최소 권한 원칙 | AA 역할은 업무 수행에 필요한 최소 권한만 보유 | HIGH | +| BR-002 | 분리 책임 | 읽기/쓰기 권한은 분리 관리 | HIGH | +| BR-003 | 시간 기반 만료 | 민감 권한은 24시간 후 자동 만료 | MEDIUM | + +### 2.2 감사 추적 규칙 + +| 규칙ID | 규칙명 | 설명 | 우선순위 | +|--------|--------|------|----------| +| BR-101 | 모든 접근 로깅 | 권한 사용 시 감사 로그 필수 생성 | HIGH | +| BR-102 | 변경 이력 보존 | 권한 변경은 7년간 보존 | HIGH | +| BR-103 | 실시간 감시 | 이상 접근 패턴 즉시 알림 | MEDIUM | + +--- + +## 3. 위험 영역 (Risk Areas) + +### 3.1 식별된 위험 + +| 위험ID | 위험명 | 영향도 | 발생가능성 | 완화措施 | +|--------|--------|--------|------------|----------| +| RA-001 | 권한 상승 공격 | CRITICAL | LOW | 다단계 인증 | +| RA-002 | 감사 로그 위변조 | HIGH | MEDIUM | 암호화 해시 | +| RA-003 | 레거시 인증 우회 | HIGH | MEDIUM | 토큰 폐기 | +| RA-004 | 세션 하이재킹 | MEDIUM | LOW | HTTPS 전용 | + +### 3.2 전환 시 고위험 영역 + +| 영역 | 설명 | 전환 전략 | +|------|------|------------| +| auth-token-validation | 토큰 검증 로직 | 병렬 실행 후 비교 검증 | +| permission-cache | 권한 캐시 동기화 | 무정지 전환 (blue-green) | +| audit-logging | 감사 로깅 파이프라인 | 새 시스템 먼저 활성화 | + +--- + +## 4. 증적 위치 (Evidence Locations) + +### 4.1 코드 수준 증거 + +| 위치 | 파일 | 검증 항목 | +|------|------|----------| +| src/main/java/com/auth/RoleAAService.java | 역할 서비스 구현 | 권한 부여 로직 | +| src/main/java/com/auth/TokenValidator.java | 토큰 검증 | 인증 무결성 | +| src/main/java/com/audit/AuditLogger.java | 감사 로거 | 로그 생성 확인 | +| test/java/com/auth/RoleAATest.java | 단위 테스트 | 기능 검증 | + +### 4.2 설정 및 스키마 + +| 위치 | 파일 | 검증 항목 | +|------|------|----------| +| config/roles/role-aa-permissions.json | 권한 설정 | 허용된 작업 정의 | +| db/migration/V1__audit_schema.sql | 감사 스키마 | 테이블 구조 | +| db/migration/V2__role_aa_audit.sql | 역할 감사 | AA 역할 감사 테이블 | + +### 4.3 테스트 및 검증 + +| 위치 | 파일 | 검증 항목 | +|------|------|----------| +| test/integration/RoleAAIntegrationTest.java | 통합 테스트 | End-to-End 검증 | +| test/security/PermissionValidationTest.java | 보안 테스트 | 권한 검증 | +| test/audit/AuditLogIntegrityTest.java | 감사 무결성 | 로그 위변조 탐지 | + +--- + +## 5. 전환 체크리스트 + +- [ ] 레거시 인증 서비스 코드 리뷰 완료 +- [ ] 권한 매트릭스 매핑 검증 완료 +- [ ] 감사 로그 스키마 마이그레이션 완료 +- [ ] 보안 테스트 통과 +- [ ] 통합 테스트 통과 +- [ ] 전환 위험 평가 승인 + +--- + +## 6. 변경 이력 + +| 버전 | 날짜 | 작성자 | 변경 내용 | +|------|------|--------|----------| +| 1.0.0 | 2025-01-01 | AA | 초기 버전 생성 |