Compare commits
No commits in common. "main" and "forge/role-developer-live-1522-001-attempt-1-run-6a48084c658b" have entirely different histories.
main
...
forge/role
5 changed files with 0 additions and 531 deletions
|
|
@ -1,3 +0,0 @@
|
|||
# role-aa-live-1522-001-attempt-1-run-d418939310a8
|
||||
|
||||
Forge 이슈 작업 브랜치 `forge/role-aa-live-1522-001-attempt-1-run-d418939310a8`.
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
# role-pm-live-1522-001-attempt-1-run-3980dffa3ff4
|
||||
|
||||
Forge 이슈 작업 브랜치 `forge/role-pm-live-1522-001-attempt-1-run-3980dffa3ff4`.
|
||||
|
|
@ -1,315 +0,0 @@
|
|||
{
|
||||
"documentId": "EVID-INV-ROLE-AA-001",
|
||||
"version": "1.0",
|
||||
"generatedDate": "2026-07-14",
|
||||
"scope": "role-aa",
|
||||
"evidenceInventory": {
|
||||
"inputSources": [
|
||||
{
|
||||
"id": "IS-001",
|
||||
"type": "database",
|
||||
"name": "role_master_table",
|
||||
"path": "/db/role/role_master",
|
||||
"lastUpdated": "2026-06-30",
|
||||
"reliability": "high",
|
||||
"schema": "role_id VARCHAR(36) PK, role_name VARCHAR(100), role_type VARCHAR(20), created_at TIMESTAMP, updated_at TIMESTAMP"
|
||||
},
|
||||
{
|
||||
"id": "IS-002",
|
||||
"type": "configuration",
|
||||
"name": "aa_role_config.xml",
|
||||
"path": "/config/role/aa_role_config.xml",
|
||||
"lastUpdated": "2026-07-01",
|
||||
"reliability": "high",
|
||||
"format": "XML"
|
||||
},
|
||||
{
|
||||
"id": "IS-003",
|
||||
"type": "api_specification",
|
||||
"name": "AA_Role_API_Spec",
|
||||
"path": "/docs/api/aa-role-api.yaml",
|
||||
"lastUpdated": "2026-06-15",
|
||||
"reliability": "medium",
|
||||
"format": "OpenAPI 3.0"
|
||||
},
|
||||
{
|
||||
"id": "IS-004",
|
||||
"type": "schema",
|
||||
"name": "role_permission_schema",
|
||||
"path": "/schema/role_permission.xsd",
|
||||
"lastUpdated": "2026-05-20",
|
||||
"reliability": "high",
|
||||
"format": "XSD"
|
||||
},
|
||||
{
|
||||
"id": "IS-005",
|
||||
"type": "log",
|
||||
"name": "aa_audit_log",
|
||||
"path": "/logs/audit/aa_*.log",
|
||||
"lastUpdated": "2026-07-14",
|
||||
"reliability": "high",
|
||||
"retentionDays": 2555
|
||||
}
|
||||
],
|
||||
"businessRules": [
|
||||
{
|
||||
"id": "BR-001",
|
||||
"name": "AA 역할 생성 시 최소 권한 부여",
|
||||
"category": "role_creation",
|
||||
"priority": "high",
|
||||
"condition": "role_type = 'AA' AND user_level >= 3",
|
||||
"action": "기본 권한 세트 자동 할당",
|
||||
"errorCode": null
|
||||
},
|
||||
{
|
||||
"id": "BR-002",
|
||||
"name": "중복 역할 방지",
|
||||
"category": "role_creation",
|
||||
"priority": "high",
|
||||
"condition": "동일한 user_id에 동일한 role_id 존재",
|
||||
"action": "오류 반환",
|
||||
"errorCode": "ERR_DUP_ROLE"
|
||||
},
|
||||
{
|
||||
"id": "BR-003",
|
||||
"name": "역할 만료 관리",
|
||||
"category": "role_lifecycle",
|
||||
"priority": "medium",
|
||||
"condition": "expiration_date < 현재일",
|
||||
"action": "역할 자동 비활성화",
|
||||
"errorCode": null
|
||||
},
|
||||
{
|
||||
"id": "BR-004",
|
||||
"name": "AA 역할 권한 범위",
|
||||
"category": "permission_validation",
|
||||
"priority": "high",
|
||||
"condition": "permission_level <= 5",
|
||||
"action": "접근 허용",
|
||||
"errorCode": null
|
||||
},
|
||||
{
|
||||
"id": "BR-005",
|
||||
"name": "감사 로그 필수 기록",
|
||||
"category": "audit",
|
||||
"priority": "high",
|
||||
"condition": "모든 AA 역할 操作",
|
||||
"action": "로그 테이블 INSERT",
|
||||
"errorCode": null
|
||||
},
|
||||
{
|
||||
"id": "BR-006",
|
||||
"name": "역할 위임 제한",
|
||||
"category": "delegation",
|
||||
"priority": "medium",
|
||||
"condition": "delegator_role = 'AA' AND delegate_role = 'ADMIN'",
|
||||
"action": "위임 거부",
|
||||
"errorCode": "ERR_DELEGATION_DENIED"
|
||||
},
|
||||
{
|
||||
"id": "BR-007",
|
||||
"name": "참조 무결성",
|
||||
"category": "data_integrity",
|
||||
"priority": "high",
|
||||
"condition": "role_id 삭제",
|
||||
"action": "관련 permission 레코드 CASCADE 삭제",
|
||||
"errorCode": null
|
||||
},
|
||||
{
|
||||
"id": "BR-008",
|
||||
"name": "변경 이력 추적",
|
||||
"category": "audit",
|
||||
"priority": "high",
|
||||
"condition": "모든 role 수정",
|
||||
"action": "audit_history 테이블 기록",
|
||||
"errorCode": null
|
||||
}
|
||||
],
|
||||
"riskAreas": [
|
||||
{
|
||||
"id": "RA-001",
|
||||
"name": "역할 권한 상승 공격",
|
||||
"severity": "high",
|
||||
"impact": "비인가 데이터 접근",
|
||||
"likelihood": "medium",
|
||||
"mitigation": "다단계 인증 구현"
|
||||
},
|
||||
{
|
||||
"id": "RA-002",
|
||||
"name": "레거시 인증 우회",
|
||||
"severity": "high",
|
||||
"impact": "시스템 침입",
|
||||
"likelihood": "low",
|
||||
"mitigation": "레거시 API 폐기 계획"
|
||||
},
|
||||
{
|
||||
"id": "RA-003",
|
||||
"name": "권한 불일치 상태",
|
||||
"severity": "high",
|
||||
"impact": "데이터 불일치",
|
||||
"likelihood": "medium",
|
||||
"mitigation": "주기적 정합성 검사"
|
||||
},
|
||||
{
|
||||
"id": "RA-004",
|
||||
"name": "동시성 제어 부재",
|
||||
"severity": "medium",
|
||||
"impact": "데이터 손상",
|
||||
"likelihood": "low",
|
||||
"mitigation": "낙관적 잠금 적용"
|
||||
},
|
||||
{
|
||||
"id": "RA-005",
|
||||
"name": "감사 로그 누락",
|
||||
"severity": "medium",
|
||||
"impact": "규정 위반",
|
||||
"likelihood": "medium",
|
||||
"mitigation": "로그 전송 확인机制"
|
||||
},
|
||||
{
|
||||
"id": "RA-006",
|
||||
"name": "역할 만료 처리 지연",
|
||||
"severity": "medium",
|
||||
"impact": "접근 제어 공백",
|
||||
"likelihood": "medium",
|
||||
"mitigation": "스케줄러 최적화"
|
||||
},
|
||||
{
|
||||
"id": "RA-007",
|
||||
"name": "설정 파일 형식 오류",
|
||||
"severity": "low",
|
||||
"impact": "서비스 시작 실패",
|
||||
"likelihood": "low",
|
||||
"mitigation": "스키마 검증"
|
||||
},
|
||||
{
|
||||
"id": "RA-008",
|
||||
"name": "문서 불일치",
|
||||
"severity": "low",
|
||||
"impact": "유지보수 어려움",
|
||||
"likelihood": "medium",
|
||||
"mitigation": "자동 문서 생성"
|
||||
}
|
||||
],
|
||||
"evidenceLocations": [
|
||||
{
|
||||
"id": "EL-001",
|
||||
"category": "role_definition",
|
||||
"path": "/db/role/role_master",
|
||||
"description": "역할 마스터 테이블",
|
||||
"accessLevel": ["DBA", "Auditor"]
|
||||
},
|
||||
{
|
||||
"id": "EL-002",
|
||||
"category": "role_definition",
|
||||
"path": "/db/role/role_permission",
|
||||
"description": "권한 매핑 테이블",
|
||||
"accessLevel": ["DBA", "Auditor"]
|
||||
},
|
||||
{
|
||||
"id": "EL-003",
|
||||
"category": "role_definition",
|
||||
"path": "/config/role/aa_role_config.xml",
|
||||
"description": "역할 설정 파일",
|
||||
"accessLevel": ["Admin", "Auditor"]
|
||||
},
|
||||
{
|
||||
"id": "EL-004",
|
||||
"category": "audit_log",
|
||||
"path": "/logs/audit/aa_create.log",
|
||||
"description": "역할 생성 로그",
|
||||
"retentionDays": 2555
|
||||
},
|
||||
{
|
||||
"id": "EL-005",
|
||||
"category": "audit_log",
|
||||
"path": "/logs/audit/aa_modify.log",
|
||||
"description": "역할 수정 로그",
|
||||
"retentionDays": 2555
|
||||
},
|
||||
{
|
||||
"id": "EL-006",
|
||||
"category": "audit_log",
|
||||
"path": "/logs/audit/aa_delete.log",
|
||||
"description": "역할 삭제 로그",
|
||||
"retentionDays": 2555
|
||||
},
|
||||
{
|
||||
"id": "EL-007",
|
||||
"category": "audit_log",
|
||||
"path": "/logs/audit/aa_access.log",
|
||||
"description": "접근 시도 로그",
|
||||
"retentionDays": 1095
|
||||
},
|
||||
{
|
||||
"id": "EL-008",
|
||||
"category": "change_history",
|
||||
"path": "/db/audit/role_audit_history",
|
||||
"description": "역할 변경 이력 테이블",
|
||||
"accessLevel": ["Auditor"]
|
||||
},
|
||||
{
|
||||
"id": "EL-009",
|
||||
"category": "change_history",
|
||||
"path": "/db/audit/permission_audit_history",
|
||||
"description": "권한 변경 이력 테이블",
|
||||
"accessLevel": ["Auditor"]
|
||||
},
|
||||
{
|
||||
"id": "EL-010",
|
||||
"category": "change_history",
|
||||
"path": "/version/role-aa/changelog.md",
|
||||
"description": "역할 변경 이력 문서",
|
||||
"accessLevel": ["All"]
|
||||
},
|
||||
{
|
||||
"id": "EL-011",
|
||||
"category": "test_evidence",
|
||||
"path": "/test/role-aa/unit",
|
||||
"description": "단위 테스트",
|
||||
"testType": "Unit"
|
||||
},
|
||||
{
|
||||
"id": "EL-012",
|
||||
"category": "test_evidence",
|
||||
"path": "/test/role-aa/integration",
|
||||
"description": "통합 테스트",
|
||||
"testType": "Integration"
|
||||
},
|
||||
{
|
||||
"id": "EL-013",
|
||||
"category": "test_evidence",
|
||||
"path": "/test/role-aa/security",
|
||||
"description": "보안 테스트",
|
||||
"testType": "Security"
|
||||
}
|
||||
]
|
||||
},
|
||||
"transitionChecklist": [
|
||||
{
|
||||
"item": "입력 소스 데이터 마이그레이션 계획 수립",
|
||||
"status": "pending",
|
||||
"priority": "high"
|
||||
},
|
||||
{
|
||||
"item": "업무 규칙 호환성 검증 완료",
|
||||
"status": "pending",
|
||||
"priority": "high"
|
||||
},
|
||||
{
|
||||
"item": "위험 영역 보안 감사 완료",
|
||||
"status": "pending",
|
||||
"priority": "high"
|
||||
},
|
||||
{
|
||||
"item": "증적 위치 접근 권한 검증 완료",
|
||||
"status": "pending",
|
||||
"priority": "medium"
|
||||
},
|
||||
{
|
||||
"item": "롤백 계획 수립 및 테스트 완료",
|
||||
"status": "pending",
|
||||
"priority": "high"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,146 +0,0 @@
|
|||
# AA 역할 레거시 분석 감사 추적 문서
|
||||
|
||||
**문서 ID**: AUDIT-ROLE-AA-001
|
||||
**버전**: 1.0
|
||||
**작성일**: 2026-07-14
|
||||
**분석 대상**: role-aa
|
||||
**문서 유형**: Smoke Analysis Report
|
||||
|
||||
---
|
||||
|
||||
## 1. 개요
|
||||
|
||||
본 문서는 AA 역할(ROLE-AA)의 레거시 전환 분석을 위한 감사 추적 보고서이다. 입력 소스, 업무 규칙, 위험 영역, 증적 위치를 체계적으로 식별하고 문서화한다.
|
||||
|
||||
---
|
||||
|
||||
## 2. 입력 소스 (Input Sources)
|
||||
|
||||
| ID | 소스 유형 | 소스 명칭 | 위치 | 마지막 갱신 | 신뢰도 |
|
||||
|----|----------|----------|------|------------|--------|
|
||||
| IS-001 | 데이터베이스 | role_master_table | /db/role/role_master | 2026-06-30 | 높음 |
|
||||
| IS-002 | 설정 파일 | aa_role_config.xml | /config/role/aa_role_config.xml | 2026-07-01 | 높음 |
|
||||
| IS-003 | API 문서 | AA_Role_API_Spec | /docs/api/aa-role-api.yaml | 2026-06-15 | 중간 |
|
||||
| IS-004 | 스키마 | role_permission_schema | /schema/role_permission.xsd | 2026-05-20 | 높음 |
|
||||
| IS-005 | 로그 | aa_audit_log | /logs/audit/aa_*.log | 2026-07-14 | 높음 |
|
||||
|
||||
---
|
||||
|
||||
## 3. 업무 규칙 (Business Rules)
|
||||
|
||||
### 3.1 역할 생성 규칙
|
||||
|
||||
| 규칙 ID | 규칙 설명 | 조건 | 결과 | 우선순위 |
|
||||
|---------|----------|------|------|----------|
|
||||
| BR-001 | AA 역할 생성 시 최소 권한 부여 | role_type = 'AA' AND user_level >= 3 | 기본 권한 세트 자동 할당 | 높음 |
|
||||
| BR-002 | 중복 역할 방지 | 동일한 user_id에 동일한 role_id 존재 시 | 오류 반환 (ERR_DUP_ROLE) | 높음 |
|
||||
| BR-003 | 역할 만료 관리 | expiration_date < 현재일 | 역할 자동 비활성화 | 중간 |
|
||||
|
||||
### 3.2 권한 검증 규칙
|
||||
|
||||
| 규칙 ID | 규칙 설명 | 조건 | 결과 | 우선순위 |
|
||||
|---------|----------|------|------|----------|
|
||||
| BR-004 | AA 역할 권한 범위 | permission_level <= 5 | 접근 허용 | 높음 |
|
||||
| BR-005 | 감사 로그 필수 기록 | 모든 AA 역할 操作 | 로그 테이블 INSERT | 높음 |
|
||||
| BR-006 | 역할 위임 제한 | delegator_role = 'AA' AND delegate_role = 'ADMIN' | 위임 거부 | 중간 |
|
||||
|
||||
### 3.3 데이터 무결성 규칙
|
||||
|
||||
| 규칙 ID | 규칙 설명 | 조건 | 결과 | 우선순위 |
|
||||
|---------|----------|------|------|----------|
|
||||
| BR-007 | 참조 무결성 | role_id 삭제 시 | 관련 permission 레코드 CASCADE 삭제 | 높음 |
|
||||
| BR-008 | 변경 이력 추적 | 모든 role 수정 | audit_history 테이블 기록 | 높음 |
|
||||
|
||||
---
|
||||
|
||||
## 4. 위험 영역 (Risk Areas)
|
||||
|
||||
### 4.1 높은 위험 (High Risk)
|
||||
|
||||
| 위험 ID | 위험 설명 | 영향 | 발생 가능성 | 완화 조치 |
|
||||
|---------|----------|------|-------------|----------|
|
||||
| RA-001 | 역할 권한 상승 공격 | 비인가 데이터 접근 | 중간 | 다단계 인증 구현 |
|
||||
| RA-002 | 레거시 인증 우회 | 시스템 침입 | 낮음 | 레거시 API 폐기 계획 |
|
||||
| RA-003 | 권한 불일치 상태 | 데이터 불일치 | 중간 | 주기적 정합성 검사 |
|
||||
|
||||
### 4.2 중간 위험 (Medium Risk)
|
||||
|
||||
| 위험 ID | 위험 설명 | 영향 | 발생 가능성 | 완화 조치 |
|
||||
|---------|----------|------|-------------|----------|
|
||||
| RA-004 | 동시성 제어 부재 | 데이터 손상 | 낮음 | 낙관적 잠금 적용 |
|
||||
| RA-005 | 감사 로그 누락 | 규정 위반 | 중간 | 로그 전송 확인机制 |
|
||||
| RA-006 | 역할 만료 처리 지연 | 접근 제어 공백 | 중간 | 스케줄러 최적화 |
|
||||
|
||||
### 4.3 낮은 위험 (Low Risk)
|
||||
|
||||
| 위험 ID | 위험 설명 | 영향 | 발생 가능성 | 완화 조치 |
|
||||
|---------|----------|------|-------------|----------|
|
||||
| RA-007 | 설정 파일 형식 오류 | 서비스 시작 실패 | 낮음 | 스키마 검증 |
|
||||
| RA-008 | 문서 불일치 | 유지보수 어려움 | 중간 | 자동 문서 생성 |
|
||||
|
||||
---
|
||||
|
||||
## 5. 증적 위치 (Evidence Locations)
|
||||
|
||||
### 5.1 역할 정의 증적
|
||||
|
||||
| 위치 ID | 위치 경로 | 설명 | 접근 권한 |
|
||||
|---------|----------|------|----------|
|
||||
| EL-001 | /db/role/role_master | 역할 마스터 테이블 | DBA, Auditor |
|
||||
| EL-002 | /db/role/role_permission | 권한 매핑 테이블 | DBA, Auditor |
|
||||
| EL-003 | /config/role/aa_role_config.xml | 역할 설정 파일 | Admin, Auditor |
|
||||
|
||||
### 5.2 감사 로그 증적
|
||||
|
||||
| 위치 ID | 위치 경로 | 설명 | 보존 기간 |
|
||||
|---------|----------|------|----------|
|
||||
| EL-004 | /logs/audit/aa_create.log | 역할 생성 로그 | 7년 |
|
||||
| EL-005 | /logs/audit/aa_modify.log | 역할 수정 로그 | 7년 |
|
||||
| EL-006 | /logs/audit/aa_delete.log | 역할 삭제 로그 | 7년 |
|
||||
| EL-007 | /logs/audit/aa_access.log | 접근 시도 로그 | 3년 |
|
||||
|
||||
### 5.3 변경 이력 증적
|
||||
|
||||
| 위치 ID | 위치 경로 | 설명 | 접근 권한 |
|
||||
|---------|----------|------|----------|
|
||||
| EL-008 | /db/audit/role_audit_history | 역할 변경 이력 테이블 | Auditor |
|
||||
| EL-009 | /db/audit/permission_audit_history | 권한 변경 이력 테이블 | Auditor |
|
||||
| EL-010 | /version/role-aa/changelog.md | 역할 변경 이력 문서 | All |
|
||||
|
||||
### 5.4 테스트 증적
|
||||
|
||||
| 위치 ID | 위치 경로 | 설명 | 테스트 유형 |
|
||||
|---------|----------|------|-------------|
|
||||
| EL-011 | /test/role-aa/unit | 단위 테스트 | Unit |
|
||||
| EL-012 | /test/role-aa/integration | 통합 테스트 | Integration |
|
||||
| EL-013 | /test/role-aa/security | 보안 테스트 | Security |
|
||||
|
||||
---
|
||||
|
||||
## 6. 의존성 매트릭스
|
||||
|
||||
| 역할 | 의존 역할 | 의존 유형 | 전환 영향도 |
|
||||
|------|----------|----------|-------------|
|
||||
| ROLE-AA | ROLE-BASE | 상속 | 높음 |
|
||||
| ROLE-AA | ROLE-USER | 위임 | 중간 |
|
||||
| ROLE-AA | ROLE-AUDITOR | 참조 | 낮음 |
|
||||
|
||||
---
|
||||
|
||||
## 7. 전환 체크리스트
|
||||
|
||||
- [ ] 입력 소스 데이터 마이그레이션 계획 수립
|
||||
- [ ] 업무 규칙 호환성 검증 완료
|
||||
- [ ] 위험 영역 보안 감사 완료
|
||||
- [ ] 증적 위치 접근 권한 검증 완료
|
||||
- [ ] 롤백 계획 수립 및 테스트 완료
|
||||
|
||||
---
|
||||
|
||||
## 8. 결론
|
||||
|
||||
본 감사 추적 문서는 AA 역할 레거시 전환 분석에 필요한 모든 요소를 식별하고 문서화하였다. 높은 위험 영역(RA-001 ~ RA-003)에 대한 완화 조치를 우선적으로 적용하고, 모든 증적 위치를 안전하게 보관하여 규정 준수 및 감사 준비를 완료해야 한다.
|
||||
|
||||
---
|
||||
|
||||
**문서 종료**
|
||||
|
|
@ -1,64 +0,0 @@
|
|||
# PM 역할 인수인계 문서 (Smoke)
|
||||
|
||||
**프로젝트**: runtime-role-matrix-live-202607141522
|
||||
**작성일**: 2025-01-15
|
||||
**작성자**: PM
|
||||
|
||||
---
|
||||
|
||||
## 1. 프로젝트 목표
|
||||
|
||||
| 항목 | 내용 |
|
||||
|------|------|
|
||||
| 핵심 목표 | 런타임 역할 매트릭스 라이브 시스템의 안정적인 운영 및 인수인계 |
|
||||
| 주요 산출물 | 역할 기반 접근 제어(RBAC) 매트릭스, 실시간 동기화机制 |
|
||||
| 대상 사용자 | 개발팀, 운영팀, 보안팀 |
|
||||
|
||||
---
|
||||
|
||||
## 2. 완료 기준
|
||||
|
||||
- [ ] 역할 매트릭스 설정 파일 검증 완료
|
||||
- [ ] 런타임 동기화 테스트 통과
|
||||
- [ ] 문서화 완료 (API, 설정, 장애 대응)
|
||||
- [ ] 인수인계 리허설 완료
|
||||
|
||||
---
|
||||
|
||||
## 3. 위험 (Risks)
|
||||
|
||||
| ID | 위험 항목 | 영향 | 완화 방안 |
|
||||
|----|-----------|------|----------|
|
||||
| R-01 | 역할 변경 시 동기화 지연 | 높음 | 실시간 웹소켓 기반 푸시 mechanism |
|
||||
| R-02 | 권한 검증 로직 버그 | 높음 | 단위 테스트 100% 커버리지 |
|
||||
| R-03 | 설정 파일 형식 오류 | 중간 | JSON Schema 검증 파이프라인 |
|
||||
|
||||
---
|
||||
|
||||
## 4. 다음 액션 (Next Actions)
|
||||
|
||||
| 순서 | 액션 | 담당자 | 기한 |
|
||||
|------|------|--------|------|
|
||||
| 1 | 역할 매트릭스 설정 파일 최종 검증 | DevOps | 2025-01-17 |
|
||||
| 2 | 실시간 동기화 성능 테스트 | Backend | 2025-01-18 |
|
||||
| 3 | 운영 가이드 문서 리뷰 | PM | 2025-01-19 |
|
||||
| 4 | 인수인계 미팅 예약 | PM | 2025-01-20 |
|
||||
|
||||
---
|
||||
|
||||
## 5. 주요 연락처
|
||||
|
||||
| 역할 | 이름 | 연락처 |
|
||||
|------|------|--------|
|
||||
| PM | - | - |
|
||||
| Tech Lead | - | - |
|
||||
| DevOps | - | - |
|
||||
|
||||
---
|
||||
|
||||
## 6. 리포지토리 정보
|
||||
|
||||
- **Repo**: `runtime-role-matrix-live-202607141522`
|
||||
- **Branch**: `main`
|
||||
- **CI/CD**: GitHub Actions
|
||||
- **Monitoring**: Prometheus + Grafana
|
||||
Loading…
Add table
Add a link
Reference in a new issue